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

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

使用 Amazon DynamoDB 變更資料擷取

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

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

  • 財務應用程式會修改 DynamoDB 資料表中的股票市場資料。並行運 parallel 的不同應用程序可實時跟踪這些變化 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 使用GetRecords增強型散發功能透過 HTTP 提取模型,可使用碎片透過 HTTP/2 推送記錄。SubscribeTo 使用 HTTP 提取模型GetRecords
記錄排序 每個串流紀錄上的時間戳記屬性可用來識別 DynamoDB 資料表中發生變更的實際順序。 對於 DynamoDB 資料表中的每個修改項目,串流紀錄的出現順序與項目的實際修改順序相同。
複製記錄 串流中偶爾會出現重複紀錄。 串流中沒有出現重複紀錄。
串流處理選項 使用 AWS LambdaAmazon Managed Service for Apache FlinkKinesis Data FirehoseAWS Glue Streaming ETL 來處理串流記錄。 使用 AWS LambdaDynamoDB Streams Kinesis 轉接器處理串流記錄。
耐久性等級 可用區域會提供自動不中斷的容錯移轉。 可用區域會提供自動不中斷的容錯移轉。

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

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