1. Batch & Stream Processing
1.1 Batch Processing
많은 양의 데이터를 정해진 시간에 한꺼번에 처리하는 것
- 한정된 대량의 데이터
- 특정/주기적인 시간 (실시간성 보장 X)
- 일괄 처리
- 무거운 처리 (ML 학습)
일반적인 처리과정
- 데이터를 모으고
- 데이터베이스에서 읽어서 처리
- 다시 데이터베이스에 담기
1.2 Stream Processing
실시간으로 쏟아지는 데이터를 계속 처리하는 것
이벤트가 들어올 때마다, 데이터가 들어올때마다 처리
- 실시간성을 보장
- 데이터가 여러 소스로부터 들어오는 경우
- 데이터가 가끔 들어오거나 지속적으로 들어오는 경우
- 가벼운 처리를 할 때 (Rule-based)
일반적인 처리과정
- 데이터가 들어올 때마다 (ingest)
- 쿼치/처리 후 State를 업데이트
- 데이터베이스에 담기
1.3 비교
- 데이터가 비주기적으로 들어올 때, batch processing이 비효율적일 수 있음
PREVIOUSEtc