1️⃣ 회귀분석 (Regression Analysis)
- 목적 : 데이터 간의 관계를 분석하여 예측 및 추론 수행
- 활용
- 데이터의 특성 및 현상 분석
- 통계적 모델을 만들어 예측
- 유형
2️⃣ Apache Kafka (아파치 카프카)
✨ 정의 및 특성
- Apache Kafka : 분산 메세지 큐 플랫폼
- LinkedIn 에서 개발, 현재 Apache 프로젝트로 관리
- 특징
- 고성능 실시간 데이터 처리에 특화
- 분산 시스템으로 높은 처리량(TPS) 과 낮은 지연 시간 보장
- Pub-Sub (발행-구독) 방식으로 동작
- 확장성 및 고가용성(HA) 제공
✨ 구성요소
- Producer : 데이터 생성자(생산자)
- Broker : 데이터를 주제(Topic) 별로 분류하여 중개 역할
- Consumer : 데이터 소비자(처리자)
- Cluster : Broker 여러 대가 묶인 집합
✨ Topic 과 Partition
- Topic : 메세지를 분류하는 기준 (예: 날씨, 맛집 등)
- Partition
- 하나의 Topic 을 작은 단위로 나눈 저장 공간
- 분산 처리를 위해 Partition 으로 분리
- Offset(메세지 인덱스) 을 사용해 각 메세지 관리
✨ 복제 (Replication)
- 목적 : 장애 대비 및 고가용성 확보
- 구성
- Partition 별로 여러 복제본(Replica) 을 생성
- 하나의 리더(Leader) 가 읽기/쓰기를 담당
- 나머지 팔로워(Follower) 는 리더를 복제
- 장애 처리 : 리더 장애 시 팔로워 중 하나가 리더로 승격됨
3️⃣ CEP (Complex Event Processing, 복합 이벤트 처리)
✨ 정의 및 특징
- CEP : 실시간 데이터(이벤트) 의 빠른 분석 처리 기술
- 특징
- 실시간 이벤트를 Memory 기반으로 처리 (빠른 처리 속도)
- 초당 수십만 건 이상의 처리가 가능
- DB / Hadoop 에 저장 전에 데이터를 미리 분석
✨ 활용 사례
- 금융 : 실시간 부정 거래 방지
- 주식 : 실시간 알고리즘 트레이딩
- 제조 : 생산 공정의 실시간 관리 및 모니터링
- 통신 : Call 데이터 실시간 분석
- 시스템 : 서버 및 시스템 실시간 모니터링 및 경고
4️⃣ Hadoop Eco-system 과 실시간 처리 비교
| 구분 | Hadoop 기반 (배치 처리) | CEP 기반 (실시간 처리) |
|---|
| 처리 방식 | 데이터를 우선 저장 후 나중에 분석 | Memory 기반 즉시 처리 후 저장 |
| 지연 시간 | 수 분 ~ 수 시간 | 1초 이하 |
| 주요 용도 | 배치 데이터 분석 | 실시간 데이터 분석 |
✨ Hadoop Eco-system 구성요소
- Flume : 로그 수집
- Sqoop : DB 데이터 수집
- Kafka : 메세지 큐
- HDFS : 분산 파일 시스템
- Hive, Spark : 데이터 분석
- Oozie, Azkaban : 작업 흐름 관리
✨ CEP 주요 구성요소
- Thrift, Flume : 실시간 로그 수집
- Kafka : 이벤트 임시 저장(메세지 큐)
- Storm : 실시간 전처리 및 처리 (Real-time Hadoop)
- Esper : 실시간 계산, 패턴 분석 엔진