6. Batch & Stream Processing

 

1. Batch & Stream Processing

1.1 Batch Processing

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

  1. 한정된 대량의 데이터
  2. 특정/주기적인 시간 (실시간성 보장 X)
  3. 일괄 처리
  4. 무거운 처리 (ML 학습)

일반적인 처리과정

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

1.2 Stream Processing

실시간으로 쏟아지는 데이터를 계속 처리하는 것
이벤트가 들어올 때마다, 데이터가 들어올때마다 처리

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

일반적인 처리과정

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

1.3 비교

  1. 데이터가 비주기적으로 들어올 때, batch processing이 비효율적일 수 있음