Amazon QLDB からのジャーナルデータのストリーミング - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon QLDB からのジャーナルデータのストリーミング

Amazon QLDB は、不変のトランザクションログを使用します。これは、ジャーナルデータストレージ用。ジャーナルは、コミットされたデータへのすべての変更を追跡し、完全で検証可能な変更履歴を長期的に維持します。

作成することができますストリームジャーナルにコミットされるすべてのドキュメントリビジョンをキャプチャし、このデータをAmazon Kinesis Data Streamsほぼリアルタイムに。QLDB ストリームは、台帳のジャーナルから Kinesis Data Streams リソースへの連続的なデータのフローです。

次に、Kinesis ストリーミングプラットフォームまたはKinesis クライアントライブラリを使用して、ストリームを消費し、データレコードを処理し、データコンテンツを分析します。QLDB ストリームは、次の 3 種類のレコードで Kinesis Data Streams 書き込みます。コントロール,ブロックの概要, およびリビジョンの詳細。詳細については、「Kinesis の QLDB ストリームレコード」を参照してください。

一般的ユースケース

ストリーミングを使用すると、ジャーナルデータを他のサービスと統合しながら、単一の検証可能な真実のソースとして QLDB を使用できます。次に、QLDB ジャーナルストリームでサポートされている一般的ユースケースをいくつか示します。

  • イベント駆動型アーキテクチャ— 分離されたコンポーネントを使用して、イベント駆動型アーキテクチャスタイルでアプリケーションを構築します。たとえば、銀行は AWS Lambda 関数を使用して、口座残高がしきい値を下回ったときに顧客に警告する通知システムを実装できます。このようなシステムでは、口座残高は QLDB 台帳に維持され、残高の変更はジャーナルに記録されます。-AWS Lambda関数は、ジャーナルにコミットされて Kinesis Data ストリームに送信される残高更新イベントを消費したときに、通知ロジックをトリガーできます。

  • リアルタイム分析— イベントデータに対してリアルタイム分析を実行する Kinesis コンシューマーアプリケーションを構築します。この機能により、ほぼリアルタイムでインサイトを取得し、変化するビジネス環境に迅速に対応できます。たとえば、e コマースウェブサイトでは、商品の販売データを分析し、販売が制限に達するとすぐに割引商品の広告を停止できます。

  • 履歴分析— 履歴イベントデータを再生することで、Amazon QLDB のジャーナル指向アーキテクチャを活用できます。QLDB ストリームを過去の任意の時点から開始するよう選択し、その時点以降のすべてのリビジョンが Kinesis Data Streams に配信されるようにできます。この機能を使用して、履歴データに対して分析ジョブを実行する Kinesis コンシューマーアプリケーションを構築できます。たとえば、e コマースウェブサイトでは、アドホック分析を実行して、以前に取得されなかった過去の販売メトリクスを生成できます。

  • 専用データベースへのレプリケーション— QLDB ジャーナルストリームを使用して、QLDB 台帳を他の専用データストアConnect。たとえば、Kinesis ストリーミングデータプラットフォームを使用して、QLDB ドキュメントの全文検索機能を提供できる Amazon OpenSearch Service と統合します。また、カスタム Kinesis コンシューマーアプリケーションを構築して、異なるマテリアライズドビューを提供する他の専用データベースにジャーナルデータをレプリケートすることもできます。たとえば、リレーショナルデータの場合は Amazon Aurora に、グラフベースのデータの場合は Amazon Neptune にレプリケートします。

ストリームの消費

Kinesis Data Streams を使用して、データレコードの大量のストリームの連続的な消費、処理、分析を行います。Kinesis Data Streams に加えて、Kinesis Data Streams には、Amazon Kinesis Data FirehoseおよびAmazon Kinesis Data Analytics。このプラットフォームを使用して、Amazon OpenSearch Service、Amazon Redshift、Amazon Simple Storage Service (Amazon S3)、Splunk などのサービスに直接データレコードを送信できます。詳細については、「」を参照してください。Kinesis Data StreamsAmazon Kinesis Data Streams 開発者ガイド

また、Kinesis Client Library (KCL) を使用して、カスタムな方法でデータレコードを処理するストリームコンシューマーアプリケーションを構築することもできます。KCL は、低レベルの Kinesis Data Streams API の上で役に立つ抽象化を提供することによりコーディングを簡素化します。KCL の詳細については、「」を参照してください。Kinesis クライアントライブラリを使用したコンシューマの開発Amazon Kinesis Data Streams 開発者ガイド

配信の保証

QLDB ストリームは、少なくとも 1 回配信の保証。各データレコードは、少なくとも 1 回は Kinesis Data Streams に配信されます。同じレコードが Kinesis データストリームに複数回表示されることがあります。したがって、ユースケースで必要な場合は、コンシューマーアプリケーションレイヤーに重複除外ロジックが必要です。

また、注文の保証はありません。状況によっては、QLDB ブロックとリビジョンが Kinesis Data Streams 内で誤った順序で生成されることがあります。詳細については、「重複レコードと順序が正しくないレコードの処理」を参照してください。

ストリームの使用開始

Kinesis Data Streams へのジャーナルデータのストリーミングを開始するために必要な手順の概要を次に示します。

  1. Kinesis Data Streams リソースを作成します。手順については、以下を参照してください。データストリームの作成および更新Amazon Kinesis Data Streams 開発者ガイド

  2. QLDB が Kinesis Data Streams の書き込み権限を引き受けるようにする IAM ロールを作成します。手順については、「QLDB のストリームアクセス許可」を参照してください。

  3. QLDB ジャーナルストリームを作成します。手順については、「QLDB でのストリームの作成と管理」を参照してください。

  4. 前のセクション「Kinesis」で説明したように、Kinesis データストリームを消費します。ストリームの消費。Kinesis クライアントライブラリまたはの使用方法を示すコード例については、AWS Lambda「」を参照してください。QLDB でのストリームを使用した開発