本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 DynamoDB 與其他 服務整合時,您應該一律遵循使用每個個別服務的最佳實務。不過,您應該考慮一些特定於整合的最佳實務。
在 DynamoDB 中建立快照
-
一般而言,我們建議您使用匯出至 Amazon S3 來建立快照以進行初始複寫。它既符合成本效益,也不會與應用程式的流量競爭輸送量。您也可以考慮備份和還原至新資料表,然後是掃描操作。這將避免與您的應用程式競爭輸送量,但通常比匯出更便宜。
-
匯出
StartTime
時,請務必設定 。這可讓您輕鬆地判斷從何處開始變更資料擷取 (CDC)。 -
使用匯出至 S3 時,請在 S3 儲存貯體上設定生命週期動作。一般而言,將過期動作設定為 7 天是安全的,但您應該遵循公司可能擁有的任何準則。即使您在擷取後明確刪除項目,此動作也有助於發現問題,這有助於降低不必要的成本並防止違反政策。
在 DynamoDB 中擷取資料變更
-
如果您需要近乎即時的 CDC,請使用 DynamoDB Streams 或 Amazon Kinesis Data Streams (KDS)。當您決定要使用哪個服務時, 通常會考慮使用哪個服務最簡單。如果您需要在分割區索引鍵層級提供排序事件處理,或者如果您的項目非常大,請使用 DynamoDB Streams。
-
如果您不需要近乎即時的 CDC,則可以使用匯出到具有增量匯出的 Amazon S3,僅匯出在兩個時間點之間發生的變更。
如果您使用匯出到 S3 來產生快照,這特別有用,因為您可以使用類似的程式碼來處理增量匯出。通常,匯出到 S3 比先前的串流選項稍微便宜,但成本通常不是使用選項的主要因素。
-
您通常只能同時擁有兩個 DynamoDB 串流的取用者。規劃整合策略時請考慮這一點。
-
請勿使用掃描來偵測變更。這可能會在小規模上運作,但變得不切實際。