DynamoDB 爆量和適應性容量 - Amazon DynamoDB

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

DynamoDB 爆量和適應性容量

為了將因輸送量例外狀況而限流降至最低,DynamoDB 會使用爆量容量來處理用量激增。DynamoDB 使用自適應容量來協助適應不均勻的存取模式。

高載容量

DynamoDB 透過高載容量,為您的輸送量佈建提供一些靈活性。每當您未完全使用可用的輸送量時,DynamoDB 會保留該未使用容量的一部分,以供後續輸送量爆量處理用量激增。使用爆量容量,未預期的讀取或寫入請求在經過調節之後可能會成功。

DynamoDB 目前保留最多五分鐘 (300 秒) 未使用的讀取和寫入容量。在偶爾的讀取或寫入活動爆量期間,這些額外容量單位可以快速使用,甚至比您為資料表定義的每秒佈建輸送量更快。

DynamoDB 也可能在不事先通知的情況下為背景維護和其他任務使用高載容量。

請注意,高載容量的詳細資訊可能會在將來有所變更。

調適型容量

DynamoDB 會自動將資料分散到儲存在 中多部伺服器的分割區 AWS 雲端。並非總是能夠始終平均分配讀取和寫入活動。當資料存取不平衡時,與其他分割區相比,「經常性」分割區可以接收更高量的讀取和寫入流量。由於分割區上的讀取和寫入操作是獨立管理的,因此如果單一分割區收到超過 3000 個讀取操作或超過 1000 個寫入操作,就會發生限流。調適型容量用於自動增加能接收更多流量的分割區傳輸容量。

DynamoDB 調適型容量使您的應用程式能夠繼續讀取和寫入經常性分割區而不受限制,加強適應不均衡的存取模式,前提是流量不會超過您資料表的總佈建的容量或分割區最大容量。調適型容量用於自動並立即增加能接收更多流量的分割區傳輸容量。

下圖說明調適型容量的運作方式。範例資料表佈建為四個分割區WCUs平均共用 400 個分割區,允許每個分割區每秒維持高達 100 WCUs 個分割區。分割區 1、2 和 3 分別接收 50 WCU/秒的寫入流量。分割區 4 每秒接收 150 WCU個。此熱分割區可以在仍有未使用的爆量容量時接受寫入流量,但最終會限制超過 100WCU/秒的流量。

DynamoDB 適應性容量會透過增加分割區 4 的容量來回應,因此可以維持 150WCU/秒的較高工作負載,而不會受到調節。

自適應容量會自動增加具有較高流量之分割區 4 的輸送量,以避免限流。

所有 DynamoDB 資料表都會自動啟用調適型容量,不需額外費用。您不需要明確啟用或停用此功能。

隔離經常存取的項目

若您的應用程式導致一個或多個項目的流量過大,則調適型容量將重新平衡您的分區,以使經常存取的項目不會駐留在同一分區上。這種經常存取項目的隔離,可減少因您的工作負載於單一分割區超過輸送量配額而導致需要求調節的可能性。只要項目集合不是由排序索引鍵單調增加或減少所追蹤的流量,您也可以依排序索引鍵將項目集合分成區段。

如果您的應用程式於單一項目經常有高流量,調適型容量可能重新平衡您的資料,讓分割區僅包含單一經常存取的項目。在此情況下,DynamoDB 最多可將 3,000 RCUs和 1,000 個分割區的輸送量交付WCUs至該單一項目的主要金鑰。資料表上存在本機次要索引時,調適型容量不會在多個資料表分割區中分割項目集合。