핀아의 저장소 ( •̀ ω •́ )✧

00_02. Batch & Stream Processing 본문

Big Data/Engineering

00_02. Batch & Stream Processing

_핀아_ 2023. 5. 9. 01:33

배치 프로세싱이란??

배치 (Batch) == 일괄
배치 프로세싱 (Batch Processing) == 일괄 처리 

 

많은 양의 데이터를 정해진 시간에 한꺼번에 처리하는 것

  1. 한정된 대량의 데이터
  2. 특정 시간
  3. 일괄 처리

✅ 배치 프로세싱은 언제 쓸까??

  1. 실시간성을 보장하지 않아도 될 때
  2. 데이터를 한꺼번에 처리할 수 있을때
  3. 무거운 처리를 할때 (ex. ML 학습)

 배치 프로세싱 예시

  1. 매일 다음 14일의 수요와 공급을 예측
  2. 매주 사이트에서 관심을 보인 유저들에게 마케팅 이메일 전송
  3. 매주 발행하는 뉴스레터
  4. 매주 새로운 데이터로 머신러닝 알고리즘 학습
  5. 매일 아침 웹 스크래핑/크롤링
  6. 매달 월급 지급

 

스트림 프로세싱이란??

실시간으로 쏟아지는 데이터를 처리하는 것

 

 스트림 프로세싱은 언제 쓸까??

  1. 실시간성을 보장해야 할 때
  2. 데이터가 여러 소스로부터 들어올 때
  3. 데이터가 가끔 들어오거나 지속적으로 들어올 때
  4. 가벼운 처리를 할 때 (Rule-Based)

 스트림 프로세싱 예시

  1. 사기 거래 탐지 (Fraud Detection)
  2. 이상 탐지 (Anomaly Detection)
  3. 실시간 알림
  4. 비즈니스 모니터링
  5. 실시간 수요/공급 측정 및 가격 책정
  6. 실시간 기능이 들어가는 어플리케이션

 

Batch vs Stream

 일반적인 배치 플로우

  1. 데이터를 모아서
  2. 데이터베이스에서 읽어서 처리
  3. 다시 데이터베이스에 담기

 일반적인 스트림 처리 플로우

  1. 데이터가 들어올 때마다 (ingest)
  2. 쿼리/처리 후 State를 업데이트
  3. DB에 담기

 

 

 

'Big Data > Engineering' 카테고리의 다른 글

00_04. 프로젝트 INTRO  (1) 2023.05.11
00_03. Dataflow Orchestration  (0) 2023.05.11
00_01. 데이터 엔지니어링에 대하여  (0) 2023.05.08
[Hadoop] hadoop failover 테스트  (0) 2023.05.04
[Hadoop] Hadoop HDFS 설치 - 2  (1) 2023.05.02
Comments