aws에서 제공하는 완전관리형 실시간 스트리밍 데이터 처리 서비스이며, 기능에 따라 다음과 같이 나누어진다.
라이브 비디오를 디바이스에서 aws로 스트리밍하고 저장할 수 있는 완전 관리형 서비스이다. 또한 비디오 처리를 위한 자체 애플리케이션을 빌드하거나 배치 중심 비디오 분석을 수행할 수 있다.
Kinesis Data Analytics를 활용하여 SQL 질의를 통해 스트리밍 데이터의 유입 데이터 필터링, 변환 및 요약 등의 기능을 수행할 수 있다.
대용량 데이터를 실시간으로 수집, 처리하는 서비스. 내부적으로는 샤드로 구성되어 있으며 이를 동적으로 증가/감소할 수 있고 샤드 수에 따른 보장된 전송시간을 제공한다.
주로 연속적으로 생산되는 대량의 데이터소스(1MB 이하)를 처리해야하는 파이프라인에 유용하다.
소비자는 EC2에서 사용하는 사용자 지정 애플리케이션 또는 Amazon Kinesis Data Firehose 전송 스트림을 사용하여 결과를 DynamoDB, Amazon Redshift, 또는 S3 등과 같은 서비스에 저장할 수 있다.
스트림즈에 저장되는 데이터의 단위이며, 파티션 키 + 시퀀스 넘버 + 데이터 블롭으로 구성되어 있다.
Amazon Kinesis Data Streams 생산자가 민감한 데이터를 스트림에 입력할 때 자동으로 암호화할 수 있으며, AWS KMS를 이용해 구성할 수 있다.
실시간 스트리밍 데이터를 제공하기 위한 완전 관리형 서비스.
사용 시 애플리케이션을 쓰거나, 리소스를 관리할 필요가 없으며, Kinesis Data Firehose로 데이터를 보내도록 데이터 생산자 구성 시 지정한 대상으로 데이터를 자동으로 전송함.
데이터를 입수하여 목적지에 송신하기 전에 가공할 수 있으며, 이 가공에는 데이터를 정리하거나 다른 포맷으로 변경하는 등의 처리가 포함됨. (ex. Json 포맷의 데이터를 하둡에 적재하기 전에 Apache Parquet 포맷으로 변경 가능. KDF는 그러한 데이터 가공을 위해 AWS Lambda를 사용하여 custom한 데이터 가공 기능 제공. 또한, KDF는 raw 데이터 복사본을 백업을 위해 S3보낼 수 있음)
Amazon S3 대상인 경우 스트리밍 데이터가 S3 버킷으로 전송된다. 데이터 변환이 활성화되면 선택적으로 소스 데이터를 다른 Amazon S3 버킷으로 백업할 수 있음.
Amazon Redshift 대상인 경우 스트리밍 데이터가 먼저 S3 버킷으로 전송된다. 그런 후, Kinesis Data Firehose가 Amazon Redshift 발행 COPY 명령을 사용하여 S3 버킷의 Amazon Redshift 클러스터로 데이터를 로드한다. 데이터 변환 활성화 시 선택적으로 소스 데이터를 다른 Amazon S3 버킷으로 백업할 수 있다.
OpenSearch Service 대상인 경우 스트리밍 데이터가 OpenSearch Service 클러스터로 전송되며, 선택적으로 S3 버킷에 백업할 수 있습니다.
Splunk 대상인 경우 스트리밍 데이터가 Splunk 클러스터로 전송되며, 동시에 선택적으로 S3 버킷에 백업할 수 있습니다.
Kinesis Data Streams | Kinesis Data Firehose |
---|---|
확장성 있는 분산 이벤트 스트리밍 스토어Custom 코드 작성 (프로듀서, 컨수머)실시간 (~200 ms)확장성 관리 (shard splitting / merging)1 ~ 365일 동안 데이터 보관이 가능재처리 가능 | 스트리밍 데이터를 S3 / ES / HTTP / 제3자서비스에 로드Fully managed준-실시간 (최소 단위의 버퍼 시간, 사이즈 존재)자동 스케일링데이터 저장이 기능이 없음재처리를 지원하지 않음 |
확장성 있는 분산 이벤트 스트리밍 스토어Custom 코드 작성 (프로듀서, 컨수머)실시간 (~200 ms)확장성 관리 (shard splitting / merging)1 ~ 365일 동안 데이터 보관이 가능재처리 가능 | 스트리밍 데이터를 S3 / ES / HTTP / 제3자서비스에 로드Fully managed준-실시간 (최소 단위의 버퍼 시간, 사이즈 존재)자동 스케일링데이터 저장이 기능이 없음재처리를 지원하지 않음 |
확장성 있는 분산 이벤트 스트리밍 스토어Custom 코드 작성 (프로듀서, 컨수머)실시간 (~200 ms)확장성 관리 (shard splitting / merging)1 ~ 365일 동안 데이터 보관이 가능재처리 가능 | 스트리밍 데이터를 S3 / ES / HTTP / 제3자서비스에 로드Fully managed준-실시간 (최소 단위의 버퍼 시간, 사이즈 존재)자동 스케일링데이터 저장이 기능이 없음재처리를 지원하지 않음 |
확장성 있는 분산 이벤트 스트리밍 스토어Custom 코드 작성 (프로듀서, 컨수머)실시간 (~200 ms)확장성 관리 (shard splitting / merging)1 ~ 365일 동안 데이터 보관이 가능재처리 가능 | 스트리밍 데이터를 S3 / ES / HTTP / 제3자서비스에 로드Fully managed준-실시간 (최소 단위의 버퍼 시간, 사이즈 존재)자동 스케일링데이터 저장이 기능이 없음재처리를 지원하지 않음 |
확장성 있는 분산 이벤트 스트리밍 스토어Custom 코드 작성 (프로듀서, 컨수머)실시간 (~200 ms)확장성 관리 (shard splitting / merging)1 ~ 365일 동안 데이터 보관이 가능재처리 가능 | 스트리밍 데이터를 S3 / ES / HTTP / 제3자서비스에 로드Fully managed준-실시간 (최소 단위의 버퍼 시간, 사이즈 존재)자동 스케일링데이터 저장이 기능이 없음재처리를 지원하지 않음 |
v