本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 Lambda、Amazon Managed Service for Apache Flink 、Kinesis Data Firehose 或AWS Glue 串流 ETL處理串流記錄。 | 使用 AWS Lambda 或 DynamoDB Streams Kinesis 轉接器處理串流記錄。 |
耐久性等級 | 可用區域會提供自動不中斷的容錯移轉。 | 可用區域會提供自動不中斷的容錯移轉。 |
您可以在同一個 DynamoDB 資料表上啟用這兩種串流模型。
下面這段影片將進一步說明這兩個選項之間的差異。