共用方式為


根據界限進行分區

使用數據分割來處理資料庫、網路和計算限制

在雲端中,所有服務都有相應增加的能力限制。 Azure 服務限制記載於 Azure 訂用帳戶和服務限制、配額和條件約束中。 限制包括核心數目、資料庫大小、查詢輸送量和網路輸送量。 如果您的系統成長得足夠大,您可能會達到其中一或多個限制。 使用劃分以繞過這些限制。

分割系統的方式有很多種,例如:

  • 分割資料庫,以避免資料庫大小、數據 I/O 或並行會話數目的限制。

  • 分割佇列或訊息總線,以避免要求數目或並行連線數目的限制。

  • 分割 App Service Web 應用程式,以避免每個 App Service 方案實例數目的限制。

資料庫可以 水平垂直功能分割

  • 在水平數據分割中,也稱為分區化,每個分割區都會保存數據集子集的數據。 分割區會共用相同的數據架構。 例如,名稱開頭為 A–M 的客戶會進入一個分割區,N–Z 進入另一個分割區。

  • 在垂直分割中,每個分割區域會保存資料存放區中項目的欄位子集。 例如,將經常存取的欄位放在一個分割區中,而較不常存取的欄位則放在另一個數據分割中。

  • 在功能分割中,數據會根據系統中的每個限定內容使用的方式進行分割。 例如,將發票數據儲存在一個分割區中,並將產品清查數據儲存在另一個數據分割中。 架構是獨立的。

如需詳細資訊,請參閱 數據分割

建議

分割應用程式的不同部分。 資料庫是分割的一個明顯候選專案,但也請考慮記憶體、快取、佇列和計算實例。

設計分區鍵以避免熱點。 如果您分割資料庫,但一個分區仍然會取得大部分的要求,則您尚未解決問題。 在理想情況下,負載會平均分散到所有分割區。 例如,依客戶標識碼哈希,而不是客戶名稱的第一個字母,因為某些字母比較頻繁。 分割消息佇列時,會套用相同的原則。 選擇分區鍵,以便將訊息均勻分配到佇列集合中。 如需詳細資訊,請參閱 分區化

針對 Azure 訂用帳戶和服務限制進行分區。 個別元件和服務有限制,但訂用帳戶和資源群組也有限制。 對於非常大的應用程式,您可能需要根據這些限制來調整架構。

不同層級的分割。 請考慮部署在 VM 上的資料庫伺服器。 VM 具有由 Azure 記憶體支援的 VHD。 記憶體帳戶屬於 Azure 訂用帳戶。 請注意,階層中的每個步驟都有限制。 資料庫伺服器可能有連線集區限制。 VM 有 CPU 和網路限制。 記憶體具有 IOPS 限制。 訂用帳戶有 VM 核心數目的限制。 一般而言,在較低層級的階層中比較容易分割。 只有大型應用程式才需要在訂用帳戶層級進行劃分。