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

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

Amazon Kinesis Data Streams 용어 및 개념

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

Kinesis Data Streams 상위 수준 아키텍처

다음 다이어그램은 Kinesis Data Streams Streams의 상위 수준 아키텍처를 보여줍니다. 이생산자지속적으로 데이터를 Kinesis Data Streams 스트림으로 푸시하고소비자데이터를 실시간으로 처리합니다. 소비자 (예: Amazon EC2에서 실행하는 사용자 지정 애플리케이션 또는 Amazon Kinesis Data Firehose 전송 스트림) 는 를 사용하여 결과를 저장할 수 있습니다.AWS아마존 DynamoDB, Amazon Redshift 또는 Amazon S3 S3와 같은 서비스입니다.


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

Kinesis Data Streams 용어

Kinesis 데이터 스트림

AKinesis 데이터 스트림는 다음과 같은 집합입니다.파편. 샤드마다 데이터 레코드 시퀀스가 있습니다. 데이터 레코드마다시퀀스 번호Kinesis Data Streams 스트림에 의해 할당됩니다.

데이터 레코드

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

용량 모드

데이터 스트림용량 모드용량 관리 방식과 데이터 스트림 사용량에 대한 요금 청구 방법을 결정합니다. 현재 Kinesis Data Streams 스트림에서는 다음 중 하나를 선택할 수 있습니다.주문형모드와 a조항데이터 스트림 모드. 자세한 정보는 데이터 스트림 용량 모드 선택을 참조하십시오.

사용주문형모드인 경우 Kinesis Data Streams는 필요한 처리량을 제공하기 위해 샤드를 자동으로 관리합니다. 사용하는 실제 처리량에 대해서만 요금이 부과되며 Kinesis Data Streams 워크로드의 처리량 요구 사항이 증가하거나 줄어들 때 자동으로 수용됩니다. 자세한 정보는 On-D을 참조하십시오.

사용조항mode 를 사용하려면 데이터 스트림의 샤드 수를 지정해야 합니다. 데이터 스트림의 총 용량은 해당 샤드 용량의 합계입니다. 필요한 만큼 데이터 스트림의 샤드 수를 늘리거나 줄일 수 있고 시간당 샤드 수에 대한 요금이 부과됩니다. 자세한 정보는 프로비저닝된 모드을 참조하십시오.

보존 기간

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

생산자

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

소비자

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

Amazon Kinesis Data Streams 애플리케이션

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

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

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

샤드

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

데이터 속도가 증가하면 스트림에 할당된 샤드 수를 늘리거나 줄일 수 있습니다. 자세한 정보는 스트림 리샤딩을 참조하십시오.

파티션 키

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

시퀀스 번호

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

참고

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

Kinesis 클라이언트 라이브러리

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

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

애플리케이션 이름

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

서버 측 암호화

Amazon Kinesis Data Streams 생산자가 민감한 데이터를 스트림에 입력할 때 자동으로 암호화할 수 있습니다. Kinesis Data StreamsAWS KMS암호화를 위한 마스터 키입니다. 자세한 정보는 Amazon Kinesis Data Streams의 데이터 보호을 참조하십시오.

참고

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

참고

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