Azure Cosmos DB 大量執行程式程式庫概觀

適用於:NoSQL

Azure Cosmos DB 是快速且具彈性的全域分散式資料庫服務,可彈性擴增支援:

  • 大型讀取和寫入輸送量 (達到每秒百萬個作業等級)。
  • 儲存數百 TB 或更多的大量交易及作業資料,並具備可預測的毫秒延遲時間。

大量執行工具程式庫可協助您利用如此大量的輸送量和儲存體。 大量執行程式程式庫可讓您在 Azure Cosmos DB 中透過大量匯入和大量更新 API 來執行大量作業。 您可以在下列各節中深入了解大量執行程式程式庫的功能。

注意

目前大量執行工具程式庫支援匯入和更新作業。 Azure Cosmos DB API 僅支援此程式庫用於 NoSQL 和 Gremlin 帳戶。

重要

無伺服器帳戶目前不支援大量執行工具程式庫。 在 .NET 上,建議您使用 V3 版本 SDK 中提供的大量支援功能。

大量執行程式程式庫的主要功能

  • 使用大量執行工具程式庫,會大幅減少為了佔滿配置到容器輸送量所需的用戶端運算資源。 比起平行寫入資料而佔滿用戶端機器 CPU 的多執行緒應用程式,使用大量匯入 API 寫入資料的單一執行緒應用程式,可達到 10 倍多的寫入輸送量。

  • 大量執行工具程式庫簡化撰寫應用程式邏輯的沉悶工作,以處理要求速率限制、要求逾時和其他暫時性例外狀況。 程式庫會在內部有效率地處理前述作業。

  • 其中也提供簡易機制,為執行大量作業的應用程式進行擴增。在 Azure 虛擬機器執行的單一大量執行工具執行個體,可能會耗用超過 500 K RU/秒。 您可以在個別用戶端虛擬機器新增更多執行個體,以達到更高的輸送量速率。

  • 大量執行工具程式庫可以使用擴增架構,在一小時內大量匯入 1 TB 以上的資料。

  • 它能夠以修補程式的形式,大量更新 Azure Cosmos DB 容器中的現有資料。

大量執行工具如何運作?

以實體批次觸發匯入或更新文件的大量作業時,這些資料一開始會隨機打散到與 Azure Cosmos DB 分割區索引鍵範圍對應的貯體。 在每個對應至分割區索引鍵範圍的貯體中,會將前述資料細分成迷你批次。

每個迷你批次都會作為伺服器端認可的承載。 大量執行工具程式庫內建最佳化,用於在分割區索引鍵範圍內或跨分割區索引鍵範圍,同時執行迷你批次。

下圖說明大量執行工具如何將資料批次處理到不同的分割區索引鍵:

Diagram shows bulk executor architecture.

大量執行工具程式庫可確保充分利用配置到集合的輸送量。 其會為每個 Azure Cosmos DB 分割區索引鍵範圍使用 AIMD 樣式的壅塞控制機制,以有效率地處理速率限制和逾時。

如需詳細資訊了解取用大量執行工具程式庫的應用程式範例,請參閱使用大量執行工具 .NET 程式庫在 Azure Cosmos DB 執行大量作業,以及在 Azure Cosmos DB 資料上執行大量作業

如需參考資訊,請參閱 .NET 大量執行工具程式庫JAVA 大量執行工具程式庫

下一步