Amazon Kinesis Data Streams 용어 및 개념 - Amazon Kinesis Data Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Kinesis Data Streams 용어 및 개념

Amazon Kinesis Data Streams 를 시작할 때 아키텍처와 용어를 이해하면 도움이 될 수 있습니다.

Kinesis Data Streams 상위 수준 아키텍처

다음 다이어그램은 Kinesis Data Streams s의 상위 수준 아키텍처를 보여줍니다. 이생산자Kinesis 데이터 스트림에 데이터를 지속적으로 푸시하고소비자는 데이터를 실시간으로 처리합니다. Amazon EC2에서 실행되는 사용자 지정 애플리케이션 또는 Amazon Kinesis Data Firehose 전송 스트림과 같은 소비자 는AWSAmazon DynamoDB 수 Amazon S3


                Kinesis Data Streams 상위 수준 아키텍처 다이어그램

Kinesis Data Streams 용어

Kinesis Data Streams

AKinesis Data Streams는 집합입니다.샤드. 샤드마다 데이터 레코드 시퀀스가 있습니다. 각 데이터 레코드에는시퀀스 번호Kinesis Data Streams s가 할당한.

데이터 레코드

A데이터 레코드는 에 저장되는 데이터의 단위입니다.Kinesis Data Streams. 데이터 레코드는시퀀스 번호,파티션 키및 불변의 바이트 시퀀스 인 데이터 BLOB이 있습니다. Kinesis Data Streams 어떤 식으로도 BLOB의 데이터를 검사하거나 해석하거나 변경하지 않습니다. 데이터 BLOB는 최대 1MB일 수 있습니다.

보존 기간

보존 기간은 데이터 레코드를 스트림에 추가한 후 데이터 레코드에 액세스할 수 있는 시간의 길이입니다. 스트림 보존 기간은 기본적으로 생성 후 24시간으로 설정됩니다. 보존 기간을 최대 까지 늘릴 수 있습니다.8760시간 (365일) 을 사용하여IncreaseStreamRetentionPeriod작업을 사용하여 보존 기간을 최소 24시간으로 줄입니다.DecreaseStreamRetentionPeriod작업을 사용합니다. 24시간을 초과하여 보존 기간을 설정하면 스트림에 추가 요금이 적용됩니다. 자세한 내용은 Amazon Kinesis Data Streams 요금을 참조하십시오.

Producer

생산자는 Amazon Kinesis Data Streams s로 레코드를 배치합니다. 예를 들어, 스트림에 로그 데이터를 보내는 웹 서버가 생산자입니다.

Consumer

소비자Amazon Kinesis Data Streams s로부터 레코드를 가져와서 처리합니다. 이 소비자를 Amazon Kinesis Data Streams 애플리케이션이라고 합니다.

Amazon Kinesis Data Streams 애플리케이션

Amazon Kinesis Data Streams 애플리케이션는 EC2 인스턴스의 플릿에서 일반적으로 실행되는 스트림의 소비자입니다.

공유 팬아웃 소비자와 향상된 팬아웃 소비자의 두 가지 유형 소비자를 개발할 수 있습니다. 두 유형 간의 차이와 각 유형의 소비자를 만드는 방법을 살펴보려면 Amazon Kinesis 데이터 스트림의 데이터 읽기 단원을 참조하십시오.

Kinesis Data Streams 애플리케이션의 출력은 다른 스트림의 입력이 될 수 있으며 실시간으로 데이터를 처리하는 복잡한 토폴로지를 만들 수 있도록 해줍니다. 응용 프로그램은 다른 다양한 데이터를 보낼 수도 있습니다.AWS서비스. 스트림 하나에 여러 애플리케이션이 있을 수 있으며 각 애플리케이션이 동시에 독립적으로 스트림의 데이터를 소비할 수 있습니다.

Shard

샤드는 스트림에서 고유하게 식별되는 데이터 레코드 시퀀스입니다. 스트림은 하나 이상의 샤드로 구성되며 각 샤드는 고정된 용량 단위를 제공합니다. 각 샤드는 읽기에 대해 초당 최대 5개의 트랜잭션, 최대 총 데이터 읽기 속도 (초당 2MB), 초당 최대 1,000개의 레코드를 지원할 수 있습니다. 최대 총 데이터 쓰기 속도는 초당 1MB (파티션 키 포함) 입니다. 스트림의 데이터 용량은 스트림에 지정하는 샤드 수의 함수입니다. 스트림의 총 용량은 해당 샤드의 용량의 합계입니다.

데이터 속도가 증가하면 스트림에 할당된 샤드 수를 늘리거나 줄일 수 있습니다. 자세한 내용은 스트림 리샤딩 단원을 참조하세요.

파티션 키

A파티션 키는 스트림 내에서 샤드별로 데이터를 그룹화하는 데 사용됩니다. Kinesis Data Streams 스트림에 속한 데이터 레코드를 여러 샤드로 나눕니다. 각 데이터 레코드와 연결된 파티션 키를 사용하여 해당 데이터 레코드가 속한 샤드를 확인합니다. 파티션 키는 각 키에 대한 최대 길이 제한이 256자인 유니코드 문자열입니다. 파티션 키를 128비트 정수 값에 매핑하고 샤드의 해시 키 범위를 사용하여 연결된 데이터 레코드를 샤드에 매핑하기 위해 MD5 해시 함수가 사용됩니다. 애플리케이션이 데이터를 스트림에 넣을 때는 파티션 키를 지정해야 합니다.

시퀀스 번호

각 데이터 레코드에는시퀀스 번호그 샤드 내의 파티션 키마다 고유 한. 를 사용하여 스트림에 쓰면 Kinesis Data Streams가 시퀀스 번호를 할당합니다.client.putRecords또는client.putRecord. 같은 파티션 키의 시퀀스 번호는 일반적으로 시간이 지나면서 증가합니다. 쓰기 요청 간의 기간이 길수록 시퀀스 번호가 커집니다.​

참고

같은 스트림에 있는 데이터 세트의 인덱스로 시퀀스 번호를 사용할 수 없습니다. 데이터 세트를 논리적으로 분리하려면 파티션 키를 사용하거나 데이터 세트마다 별도의 스트림을 만드십시오.

Kinesis 클라이언트 라이브러리

Kinesis 클라이언트 라이브러리는 결함이 있어도 정상적으로 스트림의 데이터를 소비할 수 있도록 애플리케이션에 컴파일됩니다. Kinesis 클라이언트 라이브러리는 각 샤드에 대해 해당 샤드를 실행하고 처리하는 레코드 프로세서가 있도록 보장합니다. 또한 라이브러리는 스트림에서 데이터를 읽는 과정을 간소화합니다. Kinesis 클라이언트 라이브러리는 Amazon DynamoDB 테이블을 사용하여 제어 데이터를 저장합니다. 데이터를 처리하는 애플리케이션마다 테이블 하나를 만듭니다.

Kinesis 클라이언트 라이브러리에는 두 가지 주 버전이 있습니다. 사용하는 버전은 만들려는 소비자 유형에 따라 결정됩니다. 자세한 내용은 Amazon Kinesis 데이터 스트림의 데이터 읽기 단원을 참조하세요.

애플리케이션 이름

Amazon Kinesis Data Streams 애플리케이션의 이름은 애플리케이션을 식별합니다. 각 응용 프로그램의 범위가 지정된 고유한 이름이 있어야 합니다.AWS계정 및 응용 프로그램에서 사용하는 지역입니다. 이 이름은 Amazon DynamoDB의 제어 테이블의 이름과 Amazon CloudWatch 지표의 네임스페이스로 사용됩니다.

서버 측 암호화

Amazon Kinesis Data Streams는 생산자가 해당 데이터를 스트림에 입력하면 해당 데이터를 자동으로 암호화할 수 있습니다. Kinesis Data Streams s에서는AWS KMS마스터 키를 암호화합니다. 자세한 내용은 Amazon Kinesis 데이터 스트림의 데이터 보호 단원을 참조하세요.

참고

암호화된 스트림에서 읽거나 쓰려면 마스터 키에 액세스할 권한이 생산자 및 소비자 애플리케이션에 있어야 합니다. 생산자 및 소비자 애플리케이션에 권한을 부여하는 데 대한 자세한 내용은 사용자 생성 KMS 마스터 키 사용 권한를 참조하십시오.

참고

서버 측 암호화를 사용하면 AWS Key Management Service(AWS KMS) 비용이 발생합니다. 자세한 내용은 단원을 참조하십시오.AWS가격 키 관리 서비스.