지금까지 스트리밍 처리(Day1), 신뢰성(Day2), CDC 복제(Day3)를 개별 기술로 다뤘다. 오늘은 한 발 물러서서 이것들을 하나의 시스템으로 엮는 아키텍처 패턴을 본다. 데이터 엔지니어링에서 "어떤 서비스를 쓸까"보다 더 중요한 질문은 "이 조각들을 어떤 모양으로 배치할까"다. 같은 부품도 배치에 따라 견고한 파이프라인이 되기도, 깨지기 쉬운 스파게티가 되기도 한다.
오늘은 두 축을 다룬다. 첫째, 배치와 스트림을 함께 다루는 처리 아키텍처(Lambda / Kappa). 둘째, 컴포넌트를 느슨하게 연결하는 이벤트 기반 수집(EventBridge / SQS / SNS).
Lambda 아키텍처(AWS Lambda 서비스와는 무관한 이름이다)는 같은 데이터를 두 경로로 흘려보내는 패턴이다.
┌─→ [Batch Layer] ──→ [Batch View] ─┐
[Raw Data] ──→ 분기 ──→ │ ├─→ [Serving Layer] → 쿼리
└─→ [Speed Layer] ──→ [Realtime View]┘