Stream Processing(스트림 처리)
데이터가 발생하는 즉시, 일정량이 쌓이기를 기다리지 않고 하나씩 흘러가는 대로 연속적으로 처리하는 방식으로, 최신 상태를 실시간에 가깝게 반영해야 하는 상황에 적합합니다.
한눈에 보는 정의
Stream Processing(스트림 처리)은 데이터가 발생하는 즉시, 모으거나 기다리지 않고 하나씩 연속적으로 처리하는 방식입니다.
자세히 알아보기
- 예문: "이상거래를 몇 초 안에 잡아내야 해서, 매일 밤 모아서 처리하는 대신 Stream Processing으로 실시간 감지하도록 구성했다."
- 일정량을 모아 한꺼번에 처리하는 Batch Processing(배치 처리) (배치 처리)과 달리, 이벤트가 발생하는 순간 곧바로 처리 결과를 얻을 수 있어 최신성이 매우 중요한 상황에 적합합니다.
- Kafka(아파치 카프카) (Kafka) 같은 메시지 시스템에서 끊임없이 흘러들어오는 데이터를, Flink(아파치 플링크) (Flink)나 Spark(아파치 스파크) (Spark)의 스트리밍 기능 같은 엔진이 실시간으로 읽어 처리하는 구조가 일반적입니다.
- 이상 거래 탐지, 실시간 대시보드, 센서 데이터 모니터링처럼 지연을 최소화해야 하는 Event-Driven Architecture(이벤트 기반 아키텍처) (이벤트 기반 아키텍처)의 핵심 처리 방식으로 쓰입니다.