了解 SQL 超大規模資料庫

已完成

多年來,Azure SQL Database 已限制為每個資料庫 4 TB 儲存體。 此限制是由於 Azure 基礎結構的實體限制所致。 Azure SQL Database 超大規模資料庫會變更範例,並允許 100 TB 以上的資料庫。 超大規模資料庫引進了新的水平調整規模技術,以在資料大小增長時新增計算節點。 超大規模資料庫的成本與 Azure SQL Database 的成本相同;不過,儲存體有每 TB 成本。 您應該注意,一旦 Azure SQL Database 轉換成超大規模資料庫,您就無法將其轉換回「一般」 Azure SQL Database。 超大規模資料庫是視需要適當調整結構的功能。

Azure SQL Database Hyperscale 是大部分商務工作負載的絕佳選項,因為此功能可透過可獨立調整的計算和儲存體資源,提供絕佳的彈性和高效能。

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

Azure SQL Database 中的超大規模服務層級是以虛擬核心為基礎的購買模型中的最新服務層級。 此服務層級是可高度擴充的儲存體和計算效能層,可使用 Azure 以相應放大 Azure SQL Database 的儲存體和計算資源,而大幅超過一般用途和商務關鍵性服務層級的可用限制。

福利

超大規模資料庫服務層級會移除傳統上會在雲端資料庫中看到的許多實際限制。 大部分其他資料庫都受限於單一節點中的可用資源,但超大規模資料庫服務層級中的資料庫沒有這類限制。 透過其彈性儲存體架構,儲存體可依需求成長。 事實上,不會建立具有所定義大小上限的超大規模資料庫服務層級。 超大規模資料庫服務層級會視需要成長,而且只會向您收取所使用容量的費用。 針對大量讀取工作負載,超大規模資料庫服務層級會視需要佈建額外的複本來卸載讀取工作負載,以提供快速相應放大。

此外,建立資料庫備份或是相應增加或減少所需的時間,不再繫結到資料庫中資料的磁碟區。 超大規模資料庫服務層級可以即時備份。 您也可以在幾分鐘內擴大或縮小數十 TB 的資料庫。 此功能讓您不需要擔心選擇的初始設定進行方塊化處理。 超大規模資料庫也提供快速的資料庫還原,以分鐘為單位執行,而非以數小時或數天執行。

超大規模資料庫可根據您的工作負載需求提供快速可擴縮性。

  • 相應增加/減少:您可以在 CPU 和記憶體等資源方面相應增加主要計算大小,然後再依常數時間相應減少。 因為儲存體已共用,所以相應增加和相應減少不會與資料庫中的資料量連結。

  • 相應縮小/放大:您也將能夠佈建一或多個額外的計算複本,用來滿足您的讀取要求。 這表示您可以將額外的計算複本作為唯讀複本,用以卸除主要計算的讀取工作負載。 除了唯讀之外,這些複本在主要計算時也可以作為容錯移轉的熱待命。

佈建每個這些額外計算複本的作業也可在常數時間內完成,而且這是線上作業。 您可以將連接字串的 ApplicationIntent 引數設為 ReadOnly,藉以連線至唯讀計算複本。 任何標示為 ReadOnly 的應用程式意圖連線都會自動路由至其中一個唯讀計算複本。

超大規模資料庫會將查詢處理引擎與資料提供資料長期儲存和持久性的元件分開。 此架構可讓您視需要順暢調整儲存體容量 (初始目標為 100 TB),以及快速調整計算資源的功能。

超大規模架構

安全性考量

超大規模資料庫安全性的服務層級會與其他 Azure SQL Database 層共用相同的絕佳功能。 這些項目會遵循下圖所示的多層式深度防禦方法,並從外部移入:

超大規模資料庫安全性

  • 網路安全性是第一層防禦,並使用 IP 防火牆規則,根據原始 IP 位址和虛擬網路防火牆規則來允許接受從虛擬網路內所選子網路傳送的通訊。

  • 存取管理是透過下列驗證方法提供,以確保使用者是其所宣告的使用者:

    • SQL 驗證
    • Microsoft Entra 驗證
    • 適用於 Microsoft Entra 主體的 Windows 驗證 (預覽)

    Azure SQL Database Hyperscale 也支援資料列層級的安全性。 資料列層級安全性可讓客戶根據執行查詢的使用者特性 (例如群組成員資格或執行內容),來控制對資料庫資料表中資料列的存取。

    資料列層級安全性

  • 稽核和威脅偵測功能的威脅防護能力。 SQL Database 和 SQL 受控執行個體稽核會將資料庫事件記錄到客戶自有 Azure 儲存體帳戶中的稽核記錄,藉此追蹤資料庫活動並協助維護安全性標準的合規性。 進階威脅防護可以針對每部伺服器啟用額外的費用,並分析您的記錄,以偵測不尋常的行為,以及潛在有害的存取或惡意探索資料庫行為嘗試。 系統會建立可疑活動警示,例如:SQL 插入、潛在資料滲透及暴力密碼破解攻擊,或存取模式發生異常等,以便攔截提升權限、入侵使用認證等情況。

  • 資訊保護會以下列各種方式提供:

    • 傳輸層安全性 (傳輸中加密)
    • 透明資料加密 (待用資料加密)
    • Azure Key Vault 的金鑰管理
    • 一律加密 (使用中加密)
    • 動態資料遮罩

效能考量

超大規模資料庫服務層級適用於擁有大型內部部署 SQL Server 資料庫且想要透過移至雲端將其應用程式現代化的客戶,或是已使用 Azure SQL Database 且想要大幅擴大資料庫成長潛力的客戶。 超大規模資料庫也適用於尋求高效能和高可擴縮性的客戶。

超大規模資料庫會提供下列效能功能:

  • 近乎即時的資料庫備份 (根據 Azure Blob 儲存體中儲存的檔案快照集),不論大小,且不會對計算資源造成任何 IO 影響。
  • 快速的資料庫還原 (根據檔案快照集),僅需數分鐘,而非數小時或數天 (不是資料作業的大小)。
  • 不論資料量為何,較高的交易記錄輸送量和較快的交易認可時間,整體效能即較高。
  • 快速擴增 - 您可以佈建一或多個唯讀複本來卸載讀取工作負載,並作為熱待命。
  • 快速擴大 - 您可以在常數時間內依需要擴大計算資源以容納大量工作負載,然後在不需要時縮小計算資源。

注意

SQL Database Hyperscale 不支援下列功能:

  • SQL 受控執行個體
  • 彈性集區
  • 異地複寫
  • 查詢效能深入解析

部署 Azure SQL Database Hyperscale

若要使用超大規模資料庫層部署 Azure SQL Database:

  1. 瀏覽至選取 SQL 部署選項頁面。

  2. SQL 資料庫下,將資源類型設定為單一資料庫,然後選取 [建立]。

    部署 Azure SQL Database 超大規模資料庫

  3. 透過 [建立 SQL Database] 頁面的 [基本] 索引標籤中,選取所需的訂用帳戶、資源群組和資料庫名稱。

  4. 選取 [伺服器] 的 [新建] 連結,然後填寫新的伺服器資訊,例如伺服器名稱、伺服器管理員登入和密碼,以及位置。

  5. 在 [計算 + 儲存體] 下,選取 [設定資料庫] 連結。

    設定 Azure SQL Database 超大規模資料庫

  6. 在 [服務層級] 選取 [超大規模資料庫]。

    選取超大規模資料庫服務層級

  7. 在 [硬體組態] 底下,選取 [變更設定] 連結。 檢查可用的硬體組態,並為您的資料庫選取最適當的組態。 在此範例中,我們將選取 [Gen5] 設定。

  8. 選取 [確定] 以確認硬體產生。

  9. 如果想要增加資料庫的虛擬核心數目,可以選擇性地調整虛擬核心滑桿。 在此範例中,我們將選取 [2 個虛擬核心]

  10. 調整 [高可用性次要複本] 滑桿,以建立一個高可用性 (HA) 複本。 選取 [套用]。

  11. 完成時,選取 [下一步:網路功能],為於頁面底部。

    佈建 Azure SQL Database 超大規模資料庫時的 [網路] 頁面

  12. 針對 [網路] 索引標籤的 [防火牆規則],將 [新增目前的用戶端 IP 位址] 設定為 [是]。 將 [允許 Azure 服務和資源存取此伺服器] 設定為 [否]。

  13. 選取頁面底部的 [下一步:安全性]。

  14. [檢閱 + 建立] 索引標籤中,選取 [建立]

    佈建 Azure SQL Database 超大規模資料庫時的 [檢閱 + 建立] 頁面