ververica academy 영상 을 보고 정리한 글
Stream Processing
- 이벤트 데이터가 연속적이고 순차적으로 in/out될수 있도록 하며, 데이터가 들어오면 즉각적으로 processing됨
- Fault tolerance를 보장하기 위해서 주기적으로 상태를 체크하고 저장
- 각 이벤트는 독립적으로 처리됨
- Usecase
- 실시간 데이터파이프라인
- 실시간 분석
- 머신러닝
- event-driven 어플리케이션
Apache Flink
- Fault tolerance와 exactly-once가 보장되는 오픈소스 stream processing 시스템
- Checkpoint를 가지고 fault tolerance를 자동으로 보장
- 실시간 데이터 처리와 batch 데이터 처리가 모두 지원됨
- 다양한 API를 제공해서 여러 사용사례에 적합하게 사용됨
- Datastream API
- low levelAPI로, stateful한 처리를 위해서 사용되며, stream의 state와 time을 다룸
- Relational API
- 데이터 분석을 위해서 SQL API와 TableAPI를 사용할 수 있음
- batch, streaming data에 통합적으로 사용가능
- Flink’s stateful functions API (aka Statefun)
- 분산된 stateful application 구축을 지원
- Datastream API
Batch vs Streaming
Batch | Streaming |
단계별로 실행 | 전체 파이프라인이 계속 실행 |
input 전 sorting가능 | 데이터가 들어오면 무조건 받음 |
마지막 단계가 끝나면 결과가 나옴 | 결과가 바로 나옴 |
간단한 전략으로도 실패에 대한 처리 가능 | robust 메커니즘을 사용해야함 |
'Data Engineering > Flink' 카테고리의 다른 글
Docker compose 사용해서 Flink 설치 (0) | 2025.02.02 |
---|---|
Flink Datastream 변환 연산 정리 - KeyedStream 변환 연산 (0) | 2023.07.02 |
Flink Datastream 변환 연산 정리 - 기본 변환 (0) | 2023.06.22 |