AWS

[AWS] Kinesis - Kinesis Data Streams 기본 개념 용어 정리

차노도리 2023. 10. 26. 15:07

https://docs.aws.amazon.com/streams/latest/dev/introduction.html

 

What Is Amazon Kinesis Data Streams? - Amazon Kinesis Data Streams

What Is Amazon Kinesis Data Streams? You can use Amazon Kinesis Data Streams to collect and process large streams of data records in real time. You can create data-processing applications, known as Kinesis Data Streams applications. A typical Kinesis Data

docs.aws.amazon.com

 

Kinesis Data Streams

  • 대규모 실시간 데이터 스트림을 수집, 처리, 분석해 주는 서비스
  • aws의 여러 서비스와 통합하기 쉽다. (Kinesis Firehose을 사용하여 S3, Redshift, Opensearch 등으로 전송할 수 있다.)
  • 스트림을 여러 샤드로 분할하여 데이터를 분산 처리하고 다양한 응용 프로그램이 데이터를 읽을 있도록 한다.

 

Kinesis Data Streams 장점

  • 실시간으로 데이터를 처리할 수 있다.
  • 데이터 양에 따라 쉽게 스트림의 처리 능력을 확장할 수 있다.
  • 여러 AWS의 다른 서비스와 쉽게 통합이 가능하다.
  • 설정된 보존 기간 동안 데이터를 유지하고, 보관이 가능하다.

 

Kinesis Data Streams 단점

  • 비용 관리가 필요하다.
  • 설정 관리를 위해 AWS 서비스에 대한 이해와 구성이 필요하다.
  • 실시간 데이터 처리 시스템을 설계하고 구현이 복잡할 수 있다.

 

Kinesis 도입 체크

  • 대규모 실시간 데이터를 처리해야 하는 경우
  • 다양한 AWS 다른 서비스와 통합 할 경우
  • 실시간 데이터를 분석하고 모니터링이 필요한 경우

 

Kinesis Data Streams 용어 정리

스트림(Strema)

  • 시간 순서에 따라 순차적으로 흐르는 데이터 시퀀스를 관리한다.
  • 고유한 이름을 가지고 데이터 레코드를 저장하는 컨테이너 역할을 한다.
  • 데이터 흐름을 관리한고, 프로듀서가 생성한 데이터 레코드를 스트림에 저장하며, 컨슈머가 데이터를 읽어 처리하게 도와준다.
  • 사용자가 브로커를 직접 관리하지 않고 데이터를 저장하고 스트림을 생성, 설정 및 관리에 집중할 수 있게 해 준다.

샤드(Shard)

  • 데이터 레코드를 저장하고 처리하는 단위
  • 스트림은 하나 이상의 샤드로 구성된다.
  • 읽기의 경우 초당 최대 5개 트랜잭션, 초당 최대 2MB
  • 쓰기의 경우 최대 1000개의 레코드, 초당 최대 1MB 

데이터 레코드(Data Record)

  • 데이터 스트림에 저장되는 데이터 단위
  • 시퀀스 번호, 파티션키, 본문으로 구성되며 변경할 수 없는 데이터로 구성된다.
  • 최대 크기는 1MB까지 가능하다.

파티션 키(Partition Key)

  • 데이터 레코드를 스트림의 샤드에 분배하는 데 사용되는 키
  • 샤드는 고유한 키를 가지고 있는다.
  • 데이터 코드의 순서를 보존하며, 연관성 있는 데이터를 그룹화하는데 유용하다.

시퀀스 번호(Sequence Number)

  • 데이터 레코드의 고유한 식별자
  • 데이터 레코드가 스트림을 따라 전파될 때 순서를 추적하는 데 사용한다. (일반적으로 시간에 따라 증가)

프로듀서(Producer)

  • 레코드를 생성하여 데이터 스트림에 레코드를 넣는다.

컨슈머(consumer)

  • 데이터 스트림에서 레코드를 가져와 처리하는 역할을 한다.

'AWS' 카테고리의 다른 글

[AWS Submit Seoul] AWS 컨퍼런스 5/3 후기  (0) 2023.05.03