本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Amazon S3 匯入到 DynamoDB 的最佳實務
以下為將資料從 Amazon S3 匯入到 DynamoDB 的最佳實務。
保持在 50,000 個 S3 物件的限制以下
每個匯入任務最多支援 50,000 個 S3 物件。如果您的資料集包含超過 50,000 個物件,請考慮將它們合併為較大的物件。
避免過大的 S3 物件
S3 物件會平行匯入。擁有眾多中型 S3 物件允許平行執行,而不會產生過大負荷。對於 1 KB 以下的項目,請考慮在每個 S3 物件中放置 400 萬個項目。如果您的平均項目大小較大,請在每個 S3 物件中按比例放置較少的項目。
隨機化已排序的資料
如果 S3 物件以排序順序保存資料,它會建立滾動的經常性分割區。這種情況是由其中一個分割區接收所有活動,接著是下一個分割區,依此類推。按排序順序的資料的定義是 S3 物件中的循序項目,將在匯入期間寫入相同目標分割區。資料以排序順序排列的一個常見情況是 CSV 檔案,其中項目會依分割區索引鍵排序,以便讓重複的項目共用相同的分割區索引鍵。
若要避免滾動的經常性分割區,我們建議您在這些情況下隨機化順序。這可以透過散佈寫入操作來改善效能。如需詳細資訊,請參閱 在 DynamoDB 的資料上傳期間,有效率地分發寫入活動。
壓縮資料,將 S3 物件總大小保持在區域限制以下
在從 S3 匯入程序中,要匯入之 S3 物件資料的總大小有限制。us-east-1、us-west-2 和 eu-west-1 區域中,限制為 15 TB,在所有其他區域中為 1 TB。此限制是以原始 S3 物件大小為基礎。
壓縮可讓更多原始資料符合限制。如果單獨壓縮不足以讓匯入符合限制範圍,您也可以聯絡 AWS Premium Support
注意項目大小如何影響效能
如果您的平均項目大小非常小 (低於 200 位元組),匯入程序可能會比較大的項目大小更久。
考慮在沒有全域次要索引的情形下匯入
匯入任務的持續時間可能取決於是否存在一或多個全域次要索引 (GSI)。如果您計劃使用低基數的分割區索引鍵來建立索引,那麼如果將索引建立延遲到匯入任務完成之後 (而不是包含在匯入工作中),匯入速度可能會更快。
注意
在匯入期間建立 GSI 不會產生寫入費用 (在匯入後建立 GSI 則會)。