使用 Azure Cosmos DB 容量計算機估計容量
有幾種方式可供您針對 Azure Cosmos DB 工作負載進行容量規劃:
- 如果您要遷移現有的資料庫工作負載,但您只知道現有叢集中的虛擬核心及伺服器數目,則必須使用[虛擬核心或 vCPU(/azure/cosmos-db/convert-vcore-to-request-unit) 來估計要求單位。 我們將在「移轉」課程模組下,更詳細地討論本主題。
- 如果您知道目前資料庫工作負載的一般要求率,則可以使用 Azure Cosmos DB 容量規劃工具來估計要求單位。
若要將 Azure Cosmos DB 中的成本和效能最佳化,我們必須為資料庫和集合工作負載提供正確的輸送量 (每秒的要求單位,或簡寫為 RU/秒)。 Azure Cosmos DB 容量規劃工具可協助我們估計 Azure Cosmos DB for MongoDB 工作負載所需的 RU/秒。 讓我們進一步了解此工具。
Azure Cosmos DB 容量規劃工具
Azure Cosmos DB 容量規劃工具是一種線上工具,會根據定義工作負載本身的多個參數,來預估您工作負載所需的 RU/秒數量。 容量規劃工具提供兩種模式:基本和進階。 讓我們看看將針對這些模式定義的不同工作負載參數。
基本模式
基本模式會為您工作負載提供快速的成本和輸送量估計。 此模式需要的工作負載相關資訊較少,並且假設您將預設的 Azure Cosmos DB 設定用於編製索引原則、一致性和其他 Azure Cosmos DB 參數。
讓我們檢閱不同的工作負載參數和要輸入的值。
- API - 選取 [適用於 MongoDB 的 Cosmos DB API]。
- 區域數目 - 所有 Azure 區域均可使用 Azure Cosmos DB for MongoDB。 選取工作負載所需的區域數目。
- 多重區域寫入 - 如果 [啟用],則您的應用程式可以讀取和寫入任何 Azure 區域。 如果 [停用],則您的應用程式只能將資料寫入單一區域,但可以從任何選取的區域讀取。
- 當您預期有需要在不同區域進行低延遲寫入的主動-主動工作負載時,請加以啟用。
- 多重區域寫入可保證 99.999% 的讀取和寫入可用性。
- 相較於單一寫入區域,多重區域寫入需要更多輸送量。
- 儲存在交易式存放區中的資料總計 - 估計要儲存在單一區域中交易式存放區的資料量總計 (GB)。
- 使用分析存放區 - 如果您想使用 Synapse 分析存放區,請選擇 [開啟]。
- 如果設為 [開啟],請輸入 [儲存在分析存放區中的資料總計],這指的是估計要儲存在單一區域中分析存放區的資料量 (GB)。
- 項目大小 - 估計的文件平均大小 (1 KB - 2 MB)。
- 尋找作業/秒 - 各區域每秒預計執行的尋找作業數目。
- 插入作業/秒 - 各區域每秒預計執行的插入作業數目。
- 更新作業/秒 - 每個區域每秒預期的更新作業數目。
- 當您選擇自動編制索引,更新作業的估計 RU/秒會以每次更新一項屬性變更來計算。
- 刪除作業/秒 - 每個區域每秒預期的刪除作業數目。
選取 [計算] 之後,[成本估計] 索引標籤會顯示儲存體和已佈建輸送量的總成本。 請注意,根據預設,其會向您顯示 EST. THROUGHPUT REQUIRED,但您可以選取 [顯示詳細資料],以查看不同類型 CRUD 和查詢要求的估計成本。
提示
如果您變更了任何參數以取得新的估計,請別忘了要再次選取 [計算]。
進階模式
[進階模式] 需要更詳細的工作負載檢視。 您必須提供更多設定,以產生更精確的工作負載成本和輸送量相關估計值。 若要選擇容量規劃工具的進階模式,您必須使用您用來連線到 Azure 的帳戶來登入工具。 您可以在工具的右上角找到 [登入] 選項。
登入之後,您會發現一組較基本模式更詳細的參數集。 讓我們檢閱不同的工作負載參數和要輸入的值。
- API - 選取 [適用於 MongoDB 的 Cosmos DB API]。
- 區域數目 - 所有 Azure 區域均可使用 Azure Cosmos DB for MongoDB。 選取工作負載所需的區域數目。
- 多重區域寫入 - 如果 [啟用],則您的應用程式可以讀取和寫入任何 Azure 區域。 如果 [停用],則您的應用程式只能將資料寫入單一區域,但可以從任何選取的區域讀取。
- 當您預期有需要在不同區域進行低延遲寫入的主動-主動工作負載時,請加以啟用。
- 多重區域寫入可保證 99.999% 的讀取和寫入可用性。
- 相較於單一寫入區域,多重區域寫入需要更多輸送量。
- 預設一致性 - Azure Cosmos DB for MongoDB 支援 4 種一致性層級,可讓開發人員在一致性、可用性和延遲之間取得平衡。 我們將在 [複寫、監視和最佳化] 課程模組中,更詳細地討論一致性層級。
- 編製索引原則 - 此設定會定義工作負載規劃使用其索引的方式。 我們將在 [設計適用於 Azure Cosmos DB 的 MongoDB 資料庫] 課程模組中,更詳細地討論索引。 若要深入了解,請參閱適用於 MongoDB 的 API 中的索引管理。
- 如果您選擇 [關閉] 選項,則不會為任何屬性編制索引,從而產生最低的寫入 RU 費用。 您必須使用 [_id] 欄位和每個查詢的分區金鑰來進行查詢,任何其他查詢都會掃描所有的分割區。
- 如果您選擇 [自動] 選項,則會在文件中編制所有欄位/屬性的索引,進而允許彈性且有效率的查詢。
- 如果您選擇 [自訂] 選項,則可以定義要以多金鑰索引或複合索引來編制索引的屬性。
- 您可以稍後在表單中輸入要編制索引的屬性數目。
- 儲存在交易式存放區中的資料總計 - 估計要儲存在單一區域中交易式存放區的資料量總計 (GB)。
- 使用分析存放區 - 如果您想使用 Synapse 分析存放區,請選擇 [開啟]。
- 如果設為 [開啟],請輸入 [儲存在分析存放區中的資料總計],這指的是估計要儲存在單一區域中分析存放區的資料量 (GB)。
- 工作負載模式 - 請選取您預期的工作負載是 [穩定] (常數) 或 [變數]。
- 如果您預期工作負載磁碟區是常數,請選取 [穩定]。
- 如果工作負載會隨著時間而變化,請選取 [變數]。 例如,在週末和/或節日期間銷售額大幅增加的零售公司。
- 選取 [變數] 時,請輸入 [尖峰時間的百分比]。
- 您可以根據尖峰和離峰間隔,以程式設計方式調高和調低佈建的輸送量,將成本最佳化。
- 項目大小 - 估計的文件平均大小 (1 KB - 2 MB)。
- 您也可以上傳範例 (JSON) 文件,以更準確估計。
- 如果您的工作負載在相同容器中有多種類型的項目 (包含不同的 JSON 內容),您可以上傳多個 JSON 文件並取得估計值。 使用 [加入新項目] 按鈕來新增多個範例 JSON 文件。
- 作業類型 - 作業的類型包括 Find、Aggregate、Modify 等等。
- 每個呼叫的要求單位 (RU) 費用 - 執行所選作業類型的估計 RU/秒費用。
- 每個區域的呼叫數/秒 - 每個區域每秒執行所選取的作業類型數目。
選取 [計算] 之後,[成本估計] 索引標籤會顯示儲存體和已佈建輸送量的總成本。 請注意,根據預設,其會向您顯示 EST. THROUGHPUT REQUIRED,但您可以選取 [顯示詳細資料],以查看不同類型 CRUD 和查詢要求的估計成本。
提示
如果您變更了任何參數以取得新的估計,請別忘了要再次選取 [計算]。
注意
所有價格均以美元為單位顯示。 請參閱 Azure Cosmos DB 定價頁面,以查看各區域的所有費率。