스트리밍 데이터란?
- 응용 프로그램에서 생성한 로그 파일
- 웹 애플리케이션 또는 모바일 애플리케이션의 고객 상호 작용 데이터
- 금융 주식 시장 데이터
- IOT 장치 데이터(센서, 성능 모니터 등)
AWS Kinesis
<aside>
실시간으로 대규모 스트리밍 데이터를 수집, 처리, 분석할 수 있는 완전관리형 서비스
</aside>
Components
- Kinesis Data Streams: 스트리밍 데이터를 지속적으로 캡처하고 저장하여 애플리케이션에서 실시간으로 처리할 수 있게 해줍니다.
- Kinesis Data Firehose: 스트리밍 데이터를 실시간으로 로드하여 Amazon S3, Redshift 등 다양한 목적지로 자동으로 전송합니다.
- Kinesis Data Analytics: 스트리밍 데이터를 Apache Flink를 사용하여 분석하고, 인사이트를 도출할 수 있는 서비스
Kinesis Data Streams
- 실시간 스트리밍을 원하는 경우, 다양한 Consumer가 각기 다른 로직으로 데이터를 동시에 처리해야 할 경우, 세밀한 제어가 필요한 경우에 사용하는 실시간 데이터 스트리밍 서비스
- Kinesis Streams 데이터 보관 기간: 기본 24시간 ~ 최대 1년 (Shard 단위로 Stream 보관, 수동 설정)
- 멀티 AZ(가용영역) 복제를 통해 데이터 안전성을 높이고 Sequence Number와 Checkpoint 기반으로 데이터 순서/재처리를 보장하여 내구성과 무결성을 유지

Shard
Kinesis Data Streams에서 데이터를 분할(Partition)하여 저장하고 처리량(Throughput)을 확장하는 단위