使用 Amazon DynamoDB 變更資料擷取 - Amazon DynamoDB

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

使用 Amazon DynamoDB 變更資料擷取

當存放在 DynamoDB 資料表中的項目發生變更時,擷取這類變更的功能可為許多應用程式提供好處。下列是一些範例使用案例:

  • 熱門行動應用程式以每秒數千筆更新的速率修改 DynamoDB 資料表中的資料。另一個應用程式會擷取和儲存這些更新的資料,為行動應用程式提供 near-real-time用量指標。

  • 財務應用程式會修改 DynamoDB 資料表中的股票市場資料。平行執行的不同應用程式會即時追蹤這些變更 value-at-risk、計算 ,並根據股價變動自動重新平衡產品組合。

  • 運輸車輛和工業設備中的感應器會將資料傳送至 DynamoDB 資料表。不同的應用程式會監控效能並在偵測到問題時傳送簡訊提醒,透過應用機器學習演算法預測任何潛在缺陷,以及將資料壓縮和封存到 Amazon Simple Storage Service (Amazon S3)。

  • 應用程式在某位朋友上傳新圖片時,立即自動傳送通知給群組中所有朋友的行動裝置。

  • 新客戶將資料新增至 DynamoDB 資料表。此事件呼叫另一個應用程式,該應用程式會將歡迎電子郵件傳送給新客戶。

DynamoDB 支援近乎即時的項目層級變更資料擷取紀錄串流。您可以建立使用這些串流並根據內容採取動作的應用程式。

以下影片將為您介紹變更資料擷取概念。

變更資料擷取的串流選項

DynamoDB 提供兩種用於變更資料擷取的串流模型:DynamoDB 專用 Kinesis Data Streams 和 DynamoDB Streams。

為了協助您為應用程式選擇合適的解決方案,下表摘要說明每種串流模型的特色。

屬性 DynamoDB 專用 Kinesis Data Streams DynamoDB Streams
資料保留 最多 1 年 24 小時。
Kinesis Client Library (KCL) 支援 支援 KCL 1.X 和 2.X 版 支援 KCL 1.X 版
消費者數量 每個碎片最多 5 個同時消費者,每個具有強化廣發功能的碎片最多 20 個同時消費者。 每個碎片最多 2 個同時消費者。
輸送量配額 無限制。 受 DynamoDB 資料表和 AWS 區域的輸送量配額限制。
記錄交付模式 Kinesis Data Streams HTTP使用 GetRecords和 搭配增強型扇出 來取代模型,透過使用 將記錄推送到 HTTP/2SubscribeToShard HTTP 使用 將模型拉過GetRecords
記錄排序 每個串流紀錄上的時間戳記屬性可用來識別 DynamoDB 資料表中發生變更的實際順序。 對於 DynamoDB 資料表中的每個修改項目,串流紀錄的出現順序與項目的實際修改順序相同。
複製記錄 串流中偶爾會出現重複紀錄。 串流中沒有出現重複紀錄。
串流處理選項 使用 AWS LambdaAmazon Managed Service for Apache Flink Kinesis Data FirehoseAWS Glue 串流 ETL處理串流記錄。 使用 AWS LambdaDynamoDB Streams Kinesis 轉接器處理串流記錄。
耐久性等級 可用區域會提供自動不中斷的容錯移轉。 可用區域會提供自動不中斷的容錯移轉。

您可以在同一個 DynamoDB 資料表上啟用這兩種串流模型。

下面這段影片將進一步說明這兩個選項之間的差異。