Stream-Processing-Essential 시리즈의 6단계. 1~5단계에서 다룬 무한 스트림·워터마크·상태·체크포인트·exactly-once·윈도·조인·CEP를 선언적 SQL 표면으로 끌어올립니다. 스트림을 계속 변하는 테이블로 보는 dynamic table, stream과 table의 이원성, changelog 모드(append·retract...
Stream-Processing-Essential 시리즈의 5단계. 스트림 처리의 표현력 — 무한한 이벤트를 시간 구간으로 자르는 윈도잉(WindowAssigner·Trigger·Evictor·ProcessFunction), 두 스트림을 시간과 키로 잇는 조인(window join·interval join·temporal join), 그리고 'A 다음...
Stream-Processing-Essential 시리즈의 4단계. '장애가 나도 결과가 정확한가'에 답하는 단계입니다. 정확성 없는 스트림 처리는 재처리가 불가능해 비즈니스 손실로 직결됩니다. at-most-once·at-least-once·exactly-once 세 가지 전달 의미를 실패 시나리오로 해부하고, 'exactly-once 처리(oper...
Stream-Processing-Essential 시리즈의 3단계. 스트림 처리가 '지금까지 본 것'을 기억해야 하는 이유 — 집계·조인·중복 제거·CEP 모두 상태가 있다 — 를 짚고, 상태의 두 분류(keyed state의 Value/List/Map/Reducing/AggregatingState와 operator state의 Raw/List/Uni...
Stream-Processing-Essential 시리즈의 2단계. 1단계가 잡은 무한 스트림의 실행 모델 위에 '시간의 기준'을 얹습니다. 처리 시간이 아닌 이벤트 시간을 써야 하는 이유 — 재처리·백필·장애 복구에서도 결과가 일관되는가 — 를 짚고, 워터마크가 '이 시각까지의 데이터는 사실상 다 왔다'는 단조 증가 선언이라는 점을 깊게 다룹니다. ...
Stream-Processing-Essential 시리즈의 1단계. 배치가 다루는 '끝이 있는 데이터'와 스트림이 다루는 '끝이 없는 데이터'의 경계를 잡고, Flink가 무한 스트림을 어떤 실행 모델로 표현하는지 — 데이터플로우 그래프(StreamGraph → JobGraph → ExecutionGraph), 연산자 체이닝과 슬롯 공유, 파티션·병렬...
Data-Engineering-Essential 오버뷰의 '처리' 단계에서 개념만 소개한 이벤트 시간·워터마크·윈도잉을 Apache Flink 중심으로 파고드는 심화 스핀오프. 스트림 처리 모델부터 이벤트 시간·워터마크, 상태·체크포인트, exactly-once, 윈도잉·조인·CEP, Flink SQL까지 6단계로 정복하는 학습 로드맵입니다. 도장깨기...
MapReduce에서 인메모리·DAG 실행의 Spark로 이어진 분산 처리 모델, 이벤트 시간·워터마크·윈도잉으로 무한 스트림을 다루는 Flink/Kafka Streams, 그리고 SQL 변환을 소프트웨어처럼 관리하는 dbt까지 — 저장된 데이터를 가치로 바꾸는 처리 엔진을 정리합니다.