Amazon에서 저널 데이터 스트리밍 QLDB - Amazon Quantum 원장 데이터베이스(Amazon QLDB)

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

Amazon에서 저널 데이터 스트리밍 QLDB

중요

지원 종료 알림: 기존 고객은 07/31/2025에 지원이 종료될 QLDB 때까지 Amazon을 사용할 수 있습니다. 자세한 내용은 Amazon QLDB Ledger를 Amazon Aurora Postgre로 마이그레이션을SQL 참조하세요.

Amazon은 데이터 스토리지에 저널 로 알려진 변경 불가능한 트랜잭션 로그를 QLDB 사용합니다. 저널은 커밋된 데이터의 모든 변경 내용을 추적하고 시간이 지나면서 완전하고 확인 가능한 시간대별 변경 기록을 유지합니다.

저널에 커밋된 모든 문서 개정을 QLDB 캡처하고 이 데이터를 거의 실시간으로 Amazon Kinesis Data Streams에 전달하는 스트림을 에서 생성할 수 있습니다. QLDB 스트림은 원장의 저널에서 Kinesis 데이터 스트림 리소스로 데이터가 지속적으로 흐르는 것입니다.

그런 다음 Kinesis 스트리밍 플랫폼 또는 Kinesis Client Library를 사용하여 스트림을 사용하고, 데이터 레코드를 처리하고, 데이터 콘텐츠를 분석할 수 있습니다. QLDB 스트림은 제어, 블록 요약개정 세부 정보 등 세 가지 유형의 레코드로 Kinesis Data Streams에 데이터를 씁니다. 자세한 내용은 QLDB Kinesis에서 레코드 스트리밍 단원을 참조하십시오.

일반 사용 사례

스트리밍을 사용하면 저널 데이터를 다른 서비스와 통합하는 동시에 를 검증 가능한 단일 진실 소스QLDB로 사용할 수 있습니다. 다음은 QLDB 저널 스트림에서 지원하는 몇 가지 일반적인 사용 사례입니다.

  • 이벤트 기반 아키텍처 - 분리된 구성 요소를 사용하여 이벤트 기반 아키텍처 스타일로 애플리케이션을 빌드합니다. 예를 들어 은행은 AWS Lambda 함수를 사용하여 계정 잔액이 임계값 아래로 떨어질 때 고객에게 알리는 알림 시스템을 구현할 수 있습니다. 이러한 시스템에서 계정 잔액은 QLDB 원장에 유지되고 모든 잔액 변경 사항은 저널에 기록됩니다. AWS Lambda 함수는 저널에 커밋되어 Kinesis 데이터 스트림으로 전송되는 밸런스 업데이트 이벤트를 소비할 때 알림 로직을 트리거할 수 있습니다.

  • 실시간 분석 - 이벤트 데이터에 대한 실시간 분석을 실행하는 Kinesis 소비자 애플리케이션을 빌드합니다. 이 기능을 사용하면 거의 실시간으로 통찰력을 얻고 변화하는 비즈니스 환경에 신속하게 대응할 수 있습니다. 예를 들어, 전자 상거래 웹 사이트는 제품 판매 데이터를 분석하고 판매량이 한도에 도달하는 즉시 할인된 제품에 대한 광고를 중단할 수 있습니다.

  • 과거 분석 - 과거 이벤트 데이터를 재생QLDB하여 Amazon의 저널 지향 아키텍처를 활용합니다. 과거 어느 시점에서든 QLDB 스트림을 시작하도록 선택할 수 있습니다. 이 시간 이후의 모든 개정은 Kinesis Data Streams로 전달됩니다. 이 기능을 사용하면 기록 데이터에 대한 분석 작업을 실행하는 Kinesis 소비자 애플리케이션을 빌드할 수 있습니다. 예를 들어 전자 상거래 웹 사이트는 필요에 따라 분석을 실행하여 이전에 포착되지 않았던 과거 판매 지표를 생성할 수 있습니다.

  • 용도별 데이터베이스 복제 - QLDB 저널 스트림을 사용하여 QLDB 원장을 기타 용도별 데이터 스토어에 연결합니다. 예를 들어 Kinesis 스트리밍 데이터 플랫폼을 사용하여 Amazon OpenSearch Service와 통합하면 QLDB 문서에 대한 전체 텍스트 검색 기능을 제공할 수 있습니다. 또한 사용자 지정 Kinesis 소비자 애플리케이션을 빌드하여 저널 데이터를 다양한 구체화된 뷰를 제공하는 다른 목적별 데이터베이스에 복제할 수 있습니다. 예를 들어 관계형 데이터의 경우 Amazon Aurora로, 그래프 기반 데이터의 경우 Amazon Neptune으로 복제합니다.

스트림 사용

Kinesis Data Streams를 사용하여 대량의 데이터 레코드 스트림을 지속적으로 소비, 처리 및 분석할 수 있습니다. Kinesis Data Streams 외에도 Kinesis 스트리밍 데이터 플랫폼에는 Amazon Data FirehoseAmazon Managed Service for Apache Flink 가 포함되어 있습니다. 이 플랫폼을 사용하여 Amazon OpenSearch Service, Amazon Redshift, Amazon S3 또는 Splunk와 같은 서비스에 데이터 레코드를 직접 전송할 수 있습니다. 자세한 내용을 알아보려면 Amazon Kinesis Data Streams 개발자 안내서Amazon Kinesis Streams 주요 개념을 참조하세요.

Kinesis Client Library(KCL)를 사용하여 사용자 지정 방식으로 데이터 레코드를 처리하는 스트림 소비자 애플리케이션을 구축할 수도 있습니다. 는 하위 수준 Kinesis Data Streams를 초과하는 유용한 추상화를 제공하여 코딩을 KCL 간소화합니다API. 에 대한 자세한 내용은 Amazon Kinesis Kinesis Data Streams 개발자 안내서의 Kinesis 클라이언트 라이브러리 사용을 KCL참조하세요.

전송 보증

QLDB 스트림은 at-least-once 전송을 보장합니다. QLDB 스트림에서 생성되는 각 데이터 레코드는 Kinesis Data Streams에 한 번 이상 전달됩니다. Kinesis 데이터 스트림에는 동일한 레코드가 여러 번 표시될 수 있습니다. 따라서 사용 사례에 필요한 경우 소비자 애플리케이션 계층에 중복 제거 로직이 있어야 합니다.

순서 또한 보장되지 않습니다. 경우에 따라 Kinesis 데이터 스트림에서 순서에 맞지 않는 QLDB 블록과 개정을 생성할 수 있습니다. 자세한 내용은 중복 및 out-of-order 레코드 처리 단원을 참조하십시오.

전송 지연 시간 고려 사항

QLDB 스트림은 일반적으로 거의 실시간으로 Kinesis Data Streams에 업데이트를 제공합니다. 그러나 다음 시나리오는 새로 커밋된 QLDB 데이터가 Kinesis 데이터 스트림으로 전송되기 전에 추가 지연 시간을 생성할 수 있습니다.

  • Kinesis는 Kinesis Data Streams 프로비저닝에 QLDB따라 에서 스트리밍되는 데이터를 제한할 수 있습니다. 예를 들어 단일 Kinesis 데이터 QLDB 스트림에 쓰는 스트림이 여러 개 있고 요청 속도가 Kinesis 스트림 리소스의 용량을 QLDB 초과하는 경우 이러한 상황이 발생할 수 있습니다. Kinesis의 제한은 온디맨드 프로비저닝을 사용할 때도 15분 이내에 처리량이 이전 최고치의 두 배 이상으로 증가하는 경우 발생할 수 있습니다.

    Kinesis 지표 WriteProvisionedThroughputExceeded를 모니터링하여 초과 처리량을 측정할 수 있습니다. 자세한 내용과 가능한 해결 방법은 Kinesis Data Streams에서 제한 오류를 해결하려면 어떻게 해야 하나요? 섹션을 참조하세요.

  • QLDB 스트림을 사용하면 시작 날짜 및 시간이 과거이고 종료 날짜 및 시간이 없는 무기한 스트림을 생성할 수 있습니다. 설계상 는 지정된 시작 날짜 및 시간의 모든 이전 데이터가 성공적으로 전송된 후에만 Kinesis Data Streams로 새로 커밋된 데이터를 보내기 QLDB 시작합니다. 이 시나리오에서 추가 지연이 감지되면 이전 데이터가 전송될 때까지 기다리거나 나중의 시작 날짜 및 시간부터 스트림을 시작할 수도 있습니다.

데이터 스트림 시작하기

다음은 Kinesis Data Streams로 저널 데이터 스트리밍을 시작하는 데 필요한 단계에 대한 상위 수준의 개요입니다.

  1. Kinesis Data Streams 리소스를 생성합니다. 지침은 Amazon Kinesis Data Streams 개발자 안내서데이터 스트림 만들기 및 업데이트를 참조하세요.

  2. 가 Kinesis 데이터 스트림에 대한 쓰기 권한을 맡QLDB을 수 있는 IAM 역할을 생성합니다. 지침은 의 스트림 권한 QLDB 단원을 참조하십시오.

  3. QLDB 저널 스트림을 생성합니다. 지침은 에서 스트림 생성 및 관리 QLDB 단원을 참조하십시오.

  4. 이전 섹션 스트림 사용에서 설명한 대로 Kinesis 데이터 스트림을 사용합니다. Kinesis Client Library 또는 를 사용하는 방법을 보여주는 코드 예제는 섹션을 AWS Lambda참조하세요에서 스트림을 사용하여 개발 QLDB.