從 Amazon 串流日誌資料 QLDB - Amazon Quantum Ledger 資料庫 (Amazon QLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 Amazon 串流日誌資料 QLDB

重要

支援終止通知:現有客戶將可以使用 Amazon,QLDB直到 07/31/2025 的支援結束為止。如需詳細資訊,請參閱將 Amazon QLDB Ledger 遷移至 Amazon Aurora Postgre。SQL

Amazon QLDB使用不可變的交易日誌,稱為日誌 ,用於資料儲存。日誌會追蹤您遞交資料的每項變更,並維護一份完整的可驗證變更歷史記錄。

您可以在 中建立串流QLDB,以擷取遞交至日誌的每個文件修訂,並近乎即時地將此資料交付至 Amazon Kinesis Data Streams。串流是從分類帳日誌到 Kinesis QLDB 資料串流資源的連續資料流程。

然後,您可以使用 Kinesis 串流平台或 Kinesis 用戶端程式庫來取用串流、處理資料記錄和分析資料內容。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 Kinesis Data Streams 開發人員指南 中的 Kinesis Data Streams 取用者。

您也可以使用 Kinesis Client Library (KCL) 建置串流取用者應用程式,以自訂方式處理資料記錄。透過在低階 Kinesis Data Streams 上方提供有用的摘要,KCL簡化編碼API。若要進一步了解 KCL,請參閱 Amazon Kinesis Data Streams 開發人員指南中的使用 Kinesis 用戶端程式庫。 Amazon Kinesis

交付保證

QLDB 串流提供at-least-once交付保證。由QLDB串流產生的每個資料記錄至少會交付至 Kinesis Data Streams 一次。相同的記錄可以多次出現在 Kinesis 資料串流中。因此,如果您的使用案例需要,則必須在取用者應用程式層中具有重複資料刪除邏輯。

也沒有訂購保證。在某些情況下,QLDB區塊和修訂可以在 Kinesis 資料串流中以不按順序產生。如需詳細資訊,請參閱處理重複和 out-of-order記錄

交付延遲考量

QLDB 串流通常會近乎即時地提供 Kinesis Data Streams 更新。不過,下列案例可能會在新遞交QLDB的資料傳送到 Kinesis 資料串流之前,造成額外的延遲:

  • Kinesis 會根據 Kinesis Data Streams 佈建QLDB,調節從 串流的資料。例如,如果您有多個寫入單一 Kinesis QLDB 資料串流的串流,且 的請求速率QLDB超過 Kinesis 串流資源的容量,則可能會發生這種情況。如果輸送量在不到 15 分鐘內增長到先前峰值的兩倍以上,則使用隨需佈建時,Kinesis 中的限流也會發生。

    您可以監控 Kinesis 指標 來測量超出的輸送量WriteProvisionedThroughputExceeded。如需詳細資訊和可能的解決方案,請參閱如何疑難排解 Kinesis Data Streams 中的限流錯誤?

  • 透過QLDB串流,您可以建立具有過去開始日期和時間的無限期串流,並且沒有結束日期和時間。透過設計, 只有在成功交付指定開始日期和時間的所有先前資料之後, 才會QLDB開始將新遞交的資料傳送至 Kinesis Data Streams。如果您在此案例中察覺到額外的延遲,您可能需要等待先前的資料交付,也可以從較晚的開始日期和時間開始串流。

串流入門

以下是入門將日誌資料串流至 Kinesis Data Streams 所需的步驟的高階概觀:

  1. 建立 Kinesis Data Streams 資源。如需指示,請參閱 Amazon Kinesis Data Streams 開發人員指南 中的建立和更新資料串流。 Amazon Kinesis

  2. 建立允許 QLDB 擔任 Kinesis 資料串流寫入許可IAM的角色。如需說明,請參閱 中的串流許可 QLDB

  3. 建立QLDB日誌串流。如需說明,請參閱 在 中建立和管理串流 QLDB

  4. 使用 Kinesis 資料串流,如上一節所述使用串流。如需示範如何使用 Kinesis Client Library 或 的程式碼範例 AWS Lambda,請參閱 使用 中的串流開發 QLDB