本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 Amazon 串流日誌資料 QLDB
重要
支援結束通知:現有客戶將能夠使用 Amazon,QLDB直到 2025 年 7 月 31 日終止支援為止。有關更多詳細信息,請參閱將 Amazon QLDB 分類帳遷移到 Amazon Aurora 郵政. SQL
Amazon QLDB 使用不可變的交易日誌 (稱為日誌) 來儲存資料。日誌會追蹤已提交資料的每項變更,並維護一段時間內完整且可驗證的變更歷程記錄。
您可以在中建立串流QLDB,擷取提交到日誌的每個文件修訂版本,並以近乎即時的方式將這些資料傳送到 Amazon 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 資料 Firehose 和 Amazon 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 資料串流所需步驟的高階概觀:
-
建立 Kinesis Data Streams 資源。如需指示,請參閱 Amazon Kinesis 資料串流開發人員指南中的建立和更新資料串流。
-
建立允QLDB許假設 Kinesis 資料串流寫入權限的IAM角色。如需說明,請參閱串流權限 QLDB。
-
建立QLDB日誌串流。如需說明,請參閱在中建立和管理串流 QLDB。
-
使用 Kinesis 資料串流,如上一節使用您的直播所述。如需示範如何使用 Kinesis 用戶端程式庫的程式碼範例 AWS Lambda,請參閱使用串流進行開發 QLDB。