빅데이터 개요
빅데이터는 3V(Volume·Velocity·Variety)로 정의되는 대용량·고속·다양한 형태의 데이터입니다. 정보처리기사에서는 빅데이터 처리 기술과 아키텍처가 출제됩니다.
빅데이터 5V
- Volume(규모): 데이터 양의 방대함
- Velocity(속도): 빠른 생성·처리 속도
- Variety(다양성): 정형·반정형·비정형 데이터
- Veracity(정확성): 데이터 신뢰성·불확실성
- Value(가치): 데이터에서 비즈니스 가치 창출
Hadoop 생태계
HDFS (Hadoop Distributed File System)
- 대용량 파일을 여러 서버에 분산 저장하는 파일 시스템
- NameNode: 파일 메타데이터 관리 (디렉터리 구조, 블록 위치)
- DataNode: 실제 데이터 블록 저장
- 기본 블록 크기: 128MB (HDFS 2.x 기준)
- 복제 계수(Replication Factor): 기본 3 (내결함성)
MapReduce
- 대용량 데이터를 분산 처리하는 프로그래밍 모델
- Map 단계: 입력 데이터를 (Key, Value) 쌍으로 변환
- Shuffle & Sort: 같은 Key를 가진 데이터를 같은 Reducer로 모음
- Reduce 단계: 같은 Key의 Value를 집계
- 디스크 기반 처리 → 반복 처리에 느림
Apache Spark
인메모리 분산 데이터 처리 프레임워크. MapReduce보다 10~100배 빠름
핵심 추상화
- RDD(Resilient Distributed Dataset): 분산 불변 데이터셋. 지연 평가(Lazy Evaluation)
- DataFrame/Dataset: 구조화된 데이터, SQL 스타일 처리 가능
- Spark Streaming: 실시간 스트리밍 처리 (마이크로 배치)
- MLlib: 분산 머신러닝 라이브러리
- GraphX: 그래프 처리 라이브러리
Spark 실행 모델
- Driver Program이 SparkContext 생성
- Cluster Manager(YARN, Kubernetes)가 Executor 할당
- DAG(Directed Acyclic Graph) 스케줄러가 작업 실행 최적화
데이터 처리 아키텍처
Lambda 아키텍처
- 배치 레이어: 모든 데이터를 배치로 처리, 정확한 결과 (Hadoop)
- 스피드 레이어: 최신 데이터 실시간 처리, 빠른 결과 (Spark Streaming)
- 서빙 레이어: 두 레이어 결과 병합 후 쿼리 서비스
Kappa 아키텍처
스트리밍만 사용하여 Lambda 아키텍처의 복잡성 제거. 재처리 시 스트림 재생
시험 핵심 포인트
- HDFS NameNode: 메타데이터 관리 / DataNode: 실제 데이터
- MapReduce: 디스크 기반, Spark: 인메모리 (10-100배 빠름)
- Spark RDD: 지연 평가 + 불변성 + 장애 시 재연산
- Lambda 아키텍처: 배치 + 스피드 레이어
- 빅데이터 3V: Volume, Velocity, Variety
마무리
빅데이터 처리 기술은 정보처리기사 최신 트렌드를 반영한 출제 영역입니다. Hadoop과 Spark의 차이(디스크 vs 인메모리), Lambda 아키텍처 구조를 중심으로 학습하세요.