從 Amazon 串流日誌資料 QLDB - Amazon Quantum 賬本數據庫(AmazonQLDB)

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

從 Amazon 串流日誌資料 QLDB

重要

支援結束通知:現有客戶將能夠使用 Amazon,QLDB直到 2025 年 7 月 31 日終止支援為止。有關更多詳細信息,請參閱將 Amazon QLDB 分類帳遷移到 Amazon Aurora 郵政. SQL

Amazon QLDB 使用不可變的交易日誌 (稱為日) 來儲存資料。日誌會追蹤已提交資料的每項變更,並維護一段時間內完整且可驗證的變更歷程記錄。

您可以在中建立串QLDB,擷取提交到日誌的每個文件修訂版本,並以近乎即時的方式將這些資料傳送到 Amazon Kinesis 資料串流。QLDB串流是從分類帳日誌傳送到 Kinesis 資料串流資源的連續資料流。

然後,您可以使用 Kinesis 串流平台或 Kinesis 用戶端程式庫來使用串流、處理資料記錄以及分析資料內容。串QLDB流會以三種類型的記錄將您的資料寫入 Kinesis Data Streams:控制項區塊摘要修訂詳細資料。如需詳細資訊,請參閱 QLDBKinesis 中的串流記錄

常用案例

串流可讓您QLDB作為單一、可驗證的事實來源使用,同時將日誌資料與其他服務整合。以下是QLDB日誌串流支援的一些常見使用案例:

  • 事件驅動架構 — 使用解耦元件以事件驅動架構樣式建置應用程式。例如,銀行可以使用 AWS Lambda 函數來實施通知系統,當客戶的帳戶餘額降至閾值以下時,會向客戶發出警報。在此類系統中,QLDB會在分類帳中維護科目餘額,且任何餘額變更都會記錄在分錄中。此 AWS Lambda 函數可在使用已提交至日誌並傳送至 Kinesis 資料串流的平衡更新事件時觸發通知邏輯。

  • 即時分析 — 建置 Kinesis 消費者應用程式,以針對事件資料執行即時分析。透過這項功能,您可以近乎即時地獲得洞察,並快速回應不斷變化的商業環境。例如,電子商務網站可以分析產品銷售數據,並在銷售達到限制後立即停止折扣產品的廣告。

  • 歷史分析 — 重播歷史事件資料,充分利用 Amazon QLDB 日誌導向架構。您可以選擇從過去的任何時間點開始串QLDB流,其中自該時間以來的所有修訂都會傳送至 Kinesis Data Streams。使用此功能,您可以建置在歷史資料上執行分析任務的 Kinesis 消費者應用程式。例如,電子商務網站可以根據需要運行分析,以生成以前未捕獲的過去銷售指標。

  • 複寫至特定目的資料庫 — 使用日誌串流將QLDB分類帳連線至其他特定目的資料存放區。QLDB例如,使用 Kinesis 串流資料平台與 Amazon OpenSearch 服務整合,該平台可為文QLDB件提供全文搜尋功能。您也可以建置自訂 Kinesis 消費者應用程式,將日誌資料複寫到其他提供不同具體化視觀表的專用資料庫。例如,將關聯式資料複寫到 Amazon Aurora,或複寫到 Amazon Neptune 以取得以圖形為基礎的資料。

使用您的直播

使用 Kinesis Data Streams 持續使用、處理和分析大型資料串流記錄。除了 Kinesis Data Streams 之外,Kinesis 串流資料平台還包括 Amazon 資料 FirehoseAmazon Apache Flink 管理服務。您可以使用此平台將資料記錄直接傳送到 Amazon OpenSearch 服務、Amazon Redshift、Amazon S3 或 Splunk 等服務。如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的 Kinesis 資料串流取用者

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

交貨保證

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

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

傳遞延遲考量

QLDB串流通常會以近乎即時的速度提供 Kinesis Data Streams 的更新。不過,下列情況可能會在新認可的資料傳送至 Kinesis QLDB 資料串流之前,產生額外的延遲:

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

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

  • 透過QLDB串流,您可以建立不定期的串流,其中包含過去的開始日期和時間,且沒有結束日期和時間。根據設計,只有在成功傳遞指定開QLDB始日期和時間的所有先前資料之後,才會開始將新認可的資料傳送至 Kinesis Data Streams。如果您在這個案例中感覺到額外的延遲,您可能需要等待先前的資料傳遞,或者您可以從稍後的開始日期和時間開始串流。

開始使用串流

以下是開始將日誌資料串流到 Kinesis 資料串流所需步驟的高階概觀:

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

  2. 建立允QLDB許假設 Kinesis 資料串流寫入權限的IAM角色。如需說明,請參閱串流權限 QLDB

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

  4. 使用 Kinesis 資料串流,如上一節使用您的直播所述。如需示範如何使用 Kinesis 用戶端程式庫的程式碼範例 AWS Lambda,請參閱使用串流進行開發 QLDB