超大規模資料庫分散式函式架構

適用於:Azure SQL Database

超大規模資料庫服務層級會利用具有高度可調整性的個別儲存體與計算層所組成的結構。 本文描述可讓客戶快速調整超大規模資料庫,同時受益於近乎即時之備份與高度可調整交易記錄的元件。

提示

簡化的 SQL 資料庫超大規模資料庫價格於 2023 年 12 月推出。 如需詳細資料,請檢閱超大規模資料庫價格部落格

超大規模架構概觀

傳統資料庫引擎會以單一程序來集中處理資料管理功能:即使是在生產環境中稱為分散式資料庫,今天也有整合型資料引擎的多個複本。

超大規模資料庫遵循不同的方法。 超大規模資料庫會將查詢處理引擎 (各種資料引擎的不同語意) 與提供資料長期儲存與持久性的元件分開。 因此,只要需要,就可以順暢地擴增儲存體容量。 最初支援的儲存體限制為 100 TB。

超大規模資料庫元件之間的所有網路通訊都使用具有內建備援的 Azure 網路基礎結構。

高可用性次要複本和具名複本是選用的計算節點,可隨選新增。 這兩種複本可共用相同的儲存元件,因此不需要資料複本即可啟動新的複本。 異地次要複本可在相同或不同的 Azure 區域中隨需新增。 對於資料保護和備援,異地次要複本所含的儲存元件不同於主要複本所使用的元件。

下圖說明功能性超大規模資料庫結構:

Diagram showing Hyperscale's compute tier.

超大規模資料庫包含下列元件類型:計算節點、頁面伺服器、記錄服務與 Azure 儲存體。

計算

計算節點是區域引擎所在的位置。 計算節點是語言、查詢與交易處理的發生位置。 所有與超大規模資料庫的使用者互動都是透過計算節點進行。 計算節點可以設定為使用無伺服器或佈建計算。

計算節點含有本機 SSD 式快取,稱為復原性緩衝集區延伸模組 (RBPEX 資料快取)。 RBPEX 資料快取是智慧型低延遲資料快取,降低從遠端頁面伺服器擷取資料的需求。

超大規模資料庫有一個主要計算節點,其中會處理讀寫工作負載與交易。 最多可以隨需新增四個高可用性次要計算節點。 這些節點可以用作容錯移轉的熱待命節點,並可作為唯讀計算節點,在需要時卸載讀取工作負載。 具名複本是次要計算節點,用來啟用各種額外的 OLTP 讀取縮放情節,並進一步支援混合式交易與分析處理 (HTAP) 工作負載。 您可以新增異地次要計算節點用於災害復原,並用作唯讀計算節點,以便在不同的 Azure 區域中卸載讀取工作負載。

在無伺服器模式中,主要複本和任何高可用性複本或具名複本會各自依據其使用量自動獨立調整。 主要複本和任何具名複本的計算自動調整範圍會各自設定。 任何高可用性複本的自動調整範圍都是繼承自其相關主要複本或具名複本所指定的自動調整設定。

在超大規模資料庫計算節點上執行的資料庫引擎與其他 Azure SQL Database 服務層級相同。 已知限制除外,當使用者與超大規模資料庫計算節點上的資料庫引擎互動時,支援的介面區及引擎行為與其他服務層級相同。

頁面伺服器

頁面伺服器是代表相應放大儲存引擎的系統。 每部頁面伺服器都負責資料庫中的一部分頁面。 每個頁面伺服器也有一個複本,用於備援與可用性。

頁面伺服器的工作是隨需提供計算節點的資料庫頁面,並隨著交易更新資料而更新頁面。 重新執行記錄服務中的交易記錄,讓頁面伺服器保持在最新狀態。

頁面伺服器也會維護涵蓋 SSD 快取以增強效能。 資料頁面的長期儲存體會保存在 Azure 儲存體中,以獲得持久性。

記錄服務

記錄服務會接受對應至主要計算複本之資料變更的交易記錄。 然後,頁面伺服器會從記錄服務接收記錄,並將變更套用至其各別的資料配量。 此外,計算次要複本會從記錄服務接收記錄,並只重新執行其緩衝集區或本機 RBPEX 快取中頁面的變更。 所有來自主要計算節點的資料變更都會透過記錄服務散佈至所有次要計算複本與頁面伺服器。

最後,交易記錄會推送至 Azure 儲存體中的長期儲存體,即幾乎無限的儲存體存放庫。 此機制移除了經常截斷記錄的需求。 記錄增長的常見原因,例如遺漏記錄備份或次要複本的資料複寫速度緩慢,不適用於超大規模資料庫。 記錄服務具有本機記憶體與 SSD 快取,可加速存取記錄。

Azure 儲存體

Azure 儲存體包含資料庫中的所有資料檔案。 頁面伺服器會讓資料檔案保持在 Azure 儲存體的最新狀態。 此儲存體也用於備份用途,而且可以根據選擇的儲存體備援,在區域之間複寫。

使用資料檔案的儲存體快照集來實作備份。 無論資料大小,使用快照集的還原作業都進行快速。 資料庫可以還原至其備份保留期間內的任何時間點。

超大規模資料庫支援可設定的儲存體備援。 建立超大規模資料庫時,您可從下列類型的 Azure 標準儲存體中進行選擇:

  • 本地備援儲存體 (LRS)
  • 區域備援儲存體 (ZRS)
  • 讀取權限異地備援儲存體 (RA-GRS)
  • 讀取權限異地區域備援儲存體 (RA-GZRS)

區域備援儲存體選項可在具有可用性區域的 Azure 區域中使用。

選取的儲存體備援選項會用於資料庫的存留期,以進行資料儲存體備援與備份儲存體備援