使用自動調整輸送量來建立 Azure Cosmos DB 容器和資料庫
適用於:NoSQL MongoDB Cassandra Gremlin Table
在 Azure Cosmos DB 中,您可以在資料庫和容器上設定標準 (手動) 或自動調整佈建輸送量。 Azure Cosmos DB 中的自動調整佈建輸送量,可讓您自動並立即縮放資料庫或容器的輸送量 (RU/秒)。 輸送量會根據使用量而縮放,不影響工作負載可用性、延遲、輸送量或效能。
自動調整佈建輸送量非常適合有變動或無法預測流量模式的任務關鍵性工作負載,而且需要高效能和規模的 SLA。 建議使用動態自動調整,根據每個區域和每個分割區層級的使用量,獨立調整工作負載的輸送量 (RU/秒)。 本文說明自動調整佈建輸送量的優點和使用案例。
自動調整的優點
使用自動調整佈建輸送量設定的 Azure Cosmos DB 資料庫和容器具有下列優點:
基本:自動調整會移除使用自訂指令碼或手動縮放容量來管理 RU/秒的複雜性。
可調整:資料庫和容器會視需要自動調整佈建輸送量。 用戶端連線、應用程式或 Azure Cosmos DB SLA 不會中斷。
符合成本效益:自動調整會在不使用時相應減少,協助您最佳化 RU/秒使用量和成本使用量。 您只需以每小時為基礎,針對您工作負載所需的資源付費。 在一個月的所有時數中,如果您設定自動調整 RU/秒上限 (Tmax),並在 66% 或更少的時數內使用 Tmax 全額,則自動調整可為您節省成本。 除了動態調整之外,新增高可用性的次要地區更具成本效益,因為每個區域和分割區會根據實際使用量獨立調整。 若要深入瞭解,請參閱如何選擇標準 (手動) 或自動調整佈建輸送量一文。
高可用性:使用自動調整的資料庫和容器會使用相同的全域分散式、容錯、高可用性 Azure Cosmos DB 後端,以確保資料持久性和高可用性。
自動調整的使用案例
自動調整的使用案例包括:
變化或不可預測工作負載:當您的工作負載在使用量上有變動或無法預期的尖峰時,自動調整可協助根據使用量自動相應增加和減少。 範例包括視季節性而有不同流量模式的零售網站;在一天內的不同時間出現尖峰的 IOT 工作負載;每個月或一年會看到幾次或更多尖峰使用量的商務應用程式。 使用自動調整時,您不再需要手動佈建尖峰或平均容量。
新應用程式:果您正在開發新的應用程式,而不確定您需要的輸送量 (RU/秒),自動調整可讓您輕鬆地開始使用。 您可以從 100 - 1000 RU/秒的自動調整進入點開始,監視您的使用量,並在一段時間後判斷正確的 RU/秒。
不頻繁使用的應用程式:如果您的應用程式在一天、一週或一個月內只會使用數次、每次使用幾小時 (例如,low-volume application/web/blog 網站),則自動調整會調整容量以處理尖峰使用量,並在超過時相應減少。
開發和測試工作負載:如果您或您的小組在工作時間使用 Azure Cosmos DB 資料庫和容器,但在夜間或週末不需要使用,自動調整會在不使用時縮小至最小值,以協助節省成本。
已排程的生產工作負載/查詢:如果您有一系列想要在閒置期間內執行的排程要求、作業或查詢,可以輕鬆地使用自動調整來執行這項工作。 當您需要執行工作負載時,輸送量會自動調整為所需的值規模,並且隨後相應減少。
建立這些問題的自訂解決方案不僅需要大量的時間,還會造成應用程式設定或程式碼中的複雜性。 自動調整可讓上述案例現成可用,且不再需要自訂或手動縮放容量。
自動調整佈建輸送量的運作方式
設定具有自動調整的容器和資料庫時,您可以指定所需的最大輸送量 Tmax
。 Azure Cosmos DB 會調整 T
這類 0.1*Tmax <= T <= Tmax
的輸送量。 例如,如果您將最大輸送量設定為 20,000 RU/秒,則輸送量會在 2000 到 20,000 RU/秒之間進行調整。 因為縮放比例是自動且即時的,所以您可以隨時可以取用到佈建的最大值 Tmax
而不會發生延遲。
每小時,系統會收取在一小時內調整到最高輸送量 T
的費用。 啟用動態調整時,調整會以每個實體分割區和區域的 RU/秒使用量為基礎。 由於每個分割區和區域會獨立調整,因此可避免不必要的擴大,進而縮減非統一工作負載的成本。
自動調整最大輸送量 Tmax
的進入點從 1000 RU/秒開始,這會在 100 - 1000 RU/秒之間縮放。 您可以以 1000 RU/秒的增量設定 Tmax
,並隨時變更該值。
啟用現有資源的自動調整
使用 Azure 入口網站、CLI 或 PowerShell,在現有的資料庫或容器上啟用自動調整。 您可以隨時在自動調整和標準 (手動) 佈建輸送量之間切換。 如需詳細資訊,請參考這份文件。
自動調整的輸送量和儲存體限制
對於 Tmax
的任何值,資料庫或容器可以儲存總計 0.1 * Tmax GB
。 達到此數量的儲存體之後,將會根據新的儲存體值自動增加 RU/秒的上限,且不會影響您的應用程式。
例如,如果您從 50,000 RU/秒的最大 RU/秒開始 (在 5000 - 50,000 RU/秒之間調整),您最多可以儲存 5000 GB 的資料。 如果超過 5000 GB:例如儲存體現在是 6000 GB,新的每秒最大 RU 會是 60,000 RU/秒 (在 6000 - 60,000 RU/秒之間調整)。
當您搭配自動調整使用資料庫層級輸送量時,可以讓前 25 個容器共用自動調整 1000 的最大 RU/秒 (在 100 - 1000 RU/秒之間調整),前提是您未超過 100 GB 的儲存體。 如需詳細資訊,請參考此文件。
比較 – 以手動與自動調整輸送量設定的容器
如需詳細資訊,請參閱此文件,了解如何選擇標準 (手動) 和自動調整輸送量。
具有標準 (手動) 輸送量的容器 | 具有自動調整輸送量的容器 | |
---|---|---|
佈建的輸送量 (RU/秒) | 手動佈建。 | 根據工作負載使用模式自動及立即調整。 |
要求/作業的速率限制 (429) | 如果耗用量超過佈建的容量,則可能會發生。 | 如果您在設定的自動調整輸送量範圍內使用 RU/秒,則不會發生這種情況。 |
容量規劃 | 您必須進行容量規劃,並設定所需的確切輸送量。 | 系統會自動負責容量規劃及容量管理。 |
定價 | 您需支付每小時手動佈建的 RU/秒 (使用標準 (手動) RU/秒的每小時費率)。 | 您每小時要支付系統在一小時內所相應增加的最高 RU/秒。 針對單一寫入區域帳戶,您需支付每小時使用的 RU/秒 (使用 自動調整 RU/秒的每小時費率)。 針對具有多個寫入區域的帳戶,自動調整不會額外收費。 您需要依相同的多重區域寫入 RU/秒每小時費率,支付每小時使用輸送量的費用。 |
最適合工作負載類型 | 可預測且穩定的工作負載 | 無法預期和變動的工作負載 |
將標準佈建的輸送量遷移至自動調整
要將大量資源從標準佈建輸送量移轉至自動調整的使用者,可以使用 Azure CLI 指令,將 Azure 訂用帳戶中的每個輸送量資源移轉至自動調整。 如需詳細資訊,請參閱轉換成自動調整。
下一步
- 檢閱自動調整常見問題集。
- 了解如何在手動與自動調整輸送量之間進行選擇。
- 了解如何在 Azure Cosmos DB 資料庫或容器上佈建自動調整輸送量。
- 深入了解 Azure Cosmos DB 中的資料分割。
- 正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。
- 如果您知道現有資料庫叢集中的虛擬核心和伺服器數目,請參閱使用虛擬核心或 vCPU 來估計要求單位
- 如果您知道目前資料庫工作負載的一般要求率,請參閱使用 Azure Cosmos DB 容量規劃工具來估計要求單位