본문 바로가기
Study Log/ADP

[ADP 필기 요약]_2과목 데이터 처리 기술 이해_③

by Maker_Potato 2026. 2. 11.

1. 데이터 연계/통합 방식은 보통 “혼용"

일괄(Batch) + 비동기식(Near Real Time) + 동기식(Real Time) 이 섞여 돌아가는 게 일반적

✅ 비정형/반정형 데이터를 정형으로 바꾸는 “변환”이 핵심 기술적 특성
(로그/센서/이미지 같은 데이터 → 분석 가능한 형태로 만들기)

 

1-1. 데이터 통합 3가지 방식 [📌암기]

(1) 일괄 통합 (Batch Integration) — “모아서 한 번에”

 

특징

  • 일정 시간마다 데이터를 모아서 한꺼번에 처리
  • 비실시간 데이터 통합
  • 대용량 데이터에 적합
  • 데이터 재처리 허용
  • 점대점 연계(P2P)로 구성되는 경우 많음

장점

  • 안정성 높음
  • 시스템 부하를 예측/관리하기 쉬움

단점

  • 실시간 반영 불가

예시

  • “매일 새벽 2시에 전일 매출 집계 돌리기”
  • “월말 정산 데이터 일괄 적재”

(2) 비동기식 실시간 통합 (Near Real Time) — “일단 던지고 계속 간다”

 

한 줄 요약: 이벤트 발생 → 메시지 전송 → 응답 기다리지 않고 다음 처리 진행
(메시지는 보통 Queue에 쌓였다가 처리)

 

특징

  • 근접 실시간 데이터 통합
  • 중간 용량 데이터
  • 데이터 재처리 허용
  • 다수 원천/다수 목표 시스템에 강함

장점

  • 성능 좋음
  • 시스템 간 결합도 낮음(느슨한 연결)

단점

  • 처리 순서 보장 어려움
  • 오류 처리/재처리 로직이 복잡해질 수 있음

예시

  • 주문 발생 이벤트 → 추천 시스템/알림 시스템/로그 시스템으로 동시에 전달
  • “서비스 간 이벤트 기반 연동”

(3) 동기식 실시간 통합 (Real Time) — “요청하면 즉시 답을 받아야”

 

한 줄 요약: 요청과 응답이 동시에 처리됨 → 결과를 받아야 다음 단계로 진행

 

특징

  • 실시간 통합
  • 목표 시스템이 처리 가능할 때만 데이터 획득
  • 데이터 재처리 불가(흐름상 다시 요청해야 함)
  • 단일/다수 원천 가능

장점

  • 데이터 일관성 보장에 유리
  • 즉각적인 결과 확인 가능

단점

  • 응답 지연 시 전체 속도 저하
  • 한 시스템 장애가 전체 장애로 번질 위험

예시

  • 결제 승인/잔액 조회처럼 “지금 당장 정확한 응답”이 필요한 처리

1-2. 전통적 데이터 처리 vs 빅데이터 처리 [📌암기]

(1) 전통적 데이터 처리 기법 vs 빅데이터 처리 기법 비교

구분 전통적 데이터 처리 기법 빅데이터 처리 기법
추출 운영 DB > ODS > DW 빅데이터 환경 > 빅데이터 환경
변환 O O
로딩 O O
시각화 X O
분석 - OLAP- 통계와 데이터마이닝 기술 통계와 데이터마이닝 기술
리포팅 비즈니스 인텔리전스 비즈니스 인텔리전스
인프라스트럭처 - SQL- 전통적 RDBS 인스턴스 NoSQL 등 초대형 분산 데이터 스토리지

 

(2) 주요 기술 비교

항목 전통적 기법 빅데이터 기법
저장소 RDBMS HDFS, NoSQL (MongoDB, Cassandra 등)
처리 엔진 SQL, OLAP MapReduce, Spark, Hive, Flink
확장 방식 Scale-Up (서버 성능 향상) Scale-Out (노드 추가)
데이터 유형 정형 정형 + 반정형 + 비정형
처리 속도 시간 단위 실시간 가능 (스트리밍)
분석 방식 규칙 기반, 집계 중심 통계, 머신러닝, 예측 기반

 

전통적 데이터 처리 기법

  • 정형 데이터 중심
  • RDBMS(Oracle, MySQL 등) 기반
  • 단일 서버 중심 → Scale-Up(서버 성능 올리기)
  • SQL 기반 질의, OLTP/OLAP 중심
  • ETL, DBMS, OLAP 툴 많이 사용

예시

  • 고객 테이블에서 매출 집계
  • 일별 주문량 조회(정형 데이터 기반 리포팅)

빅데이터 처리 기법

  • 대용량 + 다양성 + 속도(로그/센서/이미지/클릭스트림) 처리
  • 정형 + 반정형 + 비정형까지
  • 분산 저장(HDFS), NoSQL
  • 다수 노드 기반 Scale-Out(노드 추가) - 분산처리, 수평확장
  • 병렬 처리/스트리밍/머신러닝 기반 분석
  • Hadoop, Spark, Hive, Flink 툴 많이 사용

예시

  • 실시간 로그 분석으로 장애 탐지
  • 고객 행동 기반 추천 시스템(클릭/뷰/체류시간 등)

2. 대용량 비정형 데이터 처리 “현업 흐름”

2-1. 로그 데이터 수집 (비정형의 출발점)

로그는 대표적인 비정형 데이터
(이메일/블로그/트위터/서버 로그 등)

 

수집 시스템 예시 [📌암기]

  • Apache Flume-NG
  • Facebook Scribe
  • Apache Chukwa

공통 특징

  • 초고속 수집 성능 + 확장성
  • 데이터 전송 보장 메커니즘
  • 다양한 플러그인(수집/저장)
  • 인터페이스 상속을 통한 애플리케이션 기능 확장

2-2. 하둡(Hadoop) — “저장(HDFS) + 병렬처리(MapReduce)” [📌암기]

대용량 데이터를 여러 서버에 나눠 저장(HDFS)하고, 동시에 병렬 처리(MapReduce)하는 오픈소스 플랫폼

 

하둡 작동 원리

  1. 대용량 데이터 → HDFS에 저장(블록 단위로 자동 분할)
  2. 블록은 여러 노드에 복제 저장(기본 3개)
  3. MapReduce가 각 노드에서 병렬 처리
  4. 결과를 모아 최종 출력

하둡의 핵심 특징 3가지

  • 선형적 확장성: 서버(노드) 추가하면 성능/용량도 함께 증가(비공유 분산 아키텍처 시스템)
  • 고장 감내성: 3중 복제 + 장애 태스크만 다른 서버에서 재실행
  • 비즈니스 로직 집중: Map/Reduce 함수 구현 중심

2-3. 하둡 에코시스템 전체 흐름

 

구분 주요 기술 구분 주요 기술
데이터 수집 Flume-NG, kafka 대용량 SQL 질의 Hive, Pig
데이터 연동 Sqoop 실시간 SQL 질의 Impala, Tajo
분산 데이터베이스 Hbase 워크플로 관리 Oozie, Azkaban

 

1) 데이터 수집 (Ingest)

  • 비정형 수집
    • Chukwa: 분산 서버에 에이전트 설치해서 로그 수집
    • Flume: 로그 데이터 수집(대표)
    • Scribe: 여러 서버에서 들어오는 로그 스트리밍 수집
  • 정형 수집
    • Sqoop: RDBMS ↔ Hadoop 대용량 데이터 이동(Import/Export)
    • Hiho: Sqoop 유사한 대용량 전송 솔루션

2) 데이터 저장 (Storage)

  • HDFS: 하둡 분산 파일 시스템(대용량 파일 저장)
    • NameNode: 메타데이터/전체 관리(마스터)
    • Secondary NameNode: 상태 모니터링/보조
    • DataNode: 실제 데이터 저장(슬레이브), 블록 3중 복제
  • HBase: HDFS 기반 컬럼형 분산 DB(빠른 조회/랜덤 접근에 유리)

3) 분산 처리/분석 (Processing/Analytics)

  • MapReduce: 하둡 기본 병렬 처리 모델
    • Map → Shuffle → Reduce
  • Spark: 인메모리 기반 분산 처리(스트리밍/ML 등 실시간 처리에 강함)
  • Hive: SQL처럼 쓰는 HiveQL 제공(하둡 기반 DW)
  • Pig: MapReduce를 더 쉽게 쓰는 스크립트 언어
  • Mahout: 하둡 기반 데이터 마이닝/머신러닝 라이브러리(전통적인 하둡 ML)

4) 실시간/대화형 SQL (SQL on Hadoop)

  • Impala: 대화형(Interactive) SQL 질의에 강함, HBase 연동
  • Tajo: SQL on Hadoop 계열(ETL/분석용으로 활용)

5) 운영/관리 (Orchestration & Management)

  • YARN: 클러스터 자원 관리/스케줄링(하둡 리소스 매니저)
  • Oozie: 하둡 작업 워크플로우 관리(잡 스케줄링)
  • ZooKeeper: 분산 코디네이션(서비스 동기화/리더 선출 등)
  • Ambari: 하둡 클러스터 모니터링/관리(UI)

2-4. 데이터 연동: “RDBMS ↔ Hadoop” 이동이 필요할 때 (Sqoop) [📌암기]

비정형 데이터 분석하려고 매번 운영 DB에 무거운 작업 걸면?
👉 부하 폭탄 됩니다. 그래서 보통은

✅ 데이터를 하둡으로 복사
✅ 하둡에서 분산 처리

이때 대표 연동 도구가 Sqoop

 

Sqoop 한 줄 정의

RDBMS와 Hadoop(HDFS/Hive/HBase) 사이에 대용량 데이터를 Import/Export 하는 도구

  • Import: RDBMS → HDFS
  • Export: HDFS → RDBMS
  • MapReduce 기반으로 대용량 전송 최적화
  • 예시 : 오라클, MySQL, PostgreSQL, 사이베이스

2-5. SQL on Hadoop (코딩 부담 낮추는 “SQL 질의” 계열)

SQL on Hadoop = 하둡 분산 데이터(HDFS 등)를 SQL로 질의

 

대표 기술 예시

  • Apache Drill: MapReduce 미사용 / 스키마 정의 없이 SQL 조회 지원(엔진 성격)
  • Apache Stinger: Hive 성능 개선 프로젝트(계열)
  • Shark: Spark 기반 SQL 처리(인메모리)
  • Apache Tajo: SQL on Hadoop (표준 SQL 지향)
  • Impala: MapReduce 미사용  / 대화형(Interactive) 분석에 강한 SQL 엔진
  • Presto: 다중 데이터 소스 SQL 조회로 유명

8. 한 장 요약 (마지막 정리)

✅ 통합 방식 선택

  • 배치: 대량/분석/리포팅
  • 비동기 실시간: 이벤트 기반 연동/확장성/느슨한 결합
  • 동기 실시간: 정확성 + 즉시 응답(결제/승인/조회)

✅ 빅데이터 처리 흐름

  • 수집(Flume/Kafka/Sqoop) → 저장(HDFS/HBase) → 처리(Spark/Flink/Hive/MapReduce) → 운영(YARN/Oozie/Zookeeper)