在 Azure 中選擇正確的 MySQL Server 選項
適用於:適用於 MySQL 的 Azure 資料庫 - 單一伺服器適用於 MySQL 的 Azure 資料庫 - 彈性伺服器
重要
適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?
透過 Azure,您的 MySQL 伺服器工作負載可以在託管的虛擬機器基礎結構即服務 (IaaS) 或裝載平臺即服務中執行 (PaaS)。 PaaS 有兩個部署選項,而且每個部署選項都有服務層級。 當您在 IaaS 和 PaaS 之間選擇時,必須決定是否要管理資料庫、套用修補程式、備份、安全性、監視和調整,或將這些作業委派給 Azure。
做出決定時,請考慮下列兩個選項:
適用於 MySQL 的 Azure 資料庫。 此選項屬於 PaaS 的產業類別,並代表以穩定版本的 MySQL 社群版本為基礎的完全受控 MySQL 資料庫引擎。 此關係資料庫即服務 (DBaaS)裝載於 Azure 雲端平臺上,屬於 PaaS 的產業類別。 透過 Azure 上的 MySQL 受控實例,您可以使用內建功能,以自動化修補、高可用性、自動備份、彈性調整、企業級安全性、合規性和治理、監視和警示,在 MySQL Server 在內部部署或 Azure VM 中時需要大量設定。 使用 MySQL 即服務時,您可以隨用隨付,選擇相應增加或相應放大,以取得更大的控制,而不會中斷。 由 MySQL 社群版本提供 適用於 MySQL 的 Azure 資料庫,有兩種部署模式可供使用:
彈性伺服器 是完全受控的生產環境就緒資料庫服務,其設計目的是為了更細微地控制及彈性,而不需要資料庫管理功能和組態設定。 彈性伺服器架構可讓使用者選擇單一可用性區域內的高可用性,以及跨多個可用性區域。 彈性伺服器提供更佳的成本優化控制,能夠停止/啟動伺服器和高載計算層,非常適合不需要持續完整計算容量的工作負載。 彈性伺服器也支援保留實例,可讓您節省高達 63% 的成本,這適用於具有可預測計算容量需求的生產工作負載。 此服務支援 MySQL 5.7 和 8.0 的社群版本。 這項服務目前已在各種 Azure 區域中正式推出。 彈性伺服器最適合用於生產工作負載的所有新開發和移轉,以 適用於 MySQL 的 Azure 資料庫 服務。
單一伺服器 是完全受控的資料庫服務,專為最少的自定義而設計。 單一伺服器平臺的設計訴求是處理大部分的資料庫管理功能,例如修補、備份、高可用性和安全性,以及最少的用戶設定和控制。 此架構已針對單一可用性區域中99.99%可用性的內建高可用性進行優化。 它支援 MySQL 5.6(已淘汰)、5.7 和 8.0 的社群版本。 這項服務目前已在各種 Azure 區域中正式推出。 單一伺服器最適合 已利用單一伺服器的現有應用程式。 建議針對所有新的開發或移轉選擇彈性伺服器。
Azure VM 上的 MySQL。 此選項屬於 IaaS 的產業類別。 使用此服務,您可以在 Azure 雲端平臺上的受控虛擬機內執行 MySQL Server。 您可以在虛擬機器上安裝所有最新版本和版本的 MySQL。
比較 Azure 中的 MySQL 部署選項
下表列出這些選項之間的主要差異:
屬性 | 適用於 MySQL 的 Azure 資料庫 單一伺服器 |
適用於 MySQL 的 Azure 資料庫 彈性伺服器 |
Azure VM 上的 MySQL |
---|---|---|---|
一般 | |||
正式發行 | 正式推出 | 正式推出 | 正式推出 |
服務等級協定 (SLA) | 99.99% 可用性 SLA | 99.99% 使用 可用性區域 | 99.99% 使用 可用性區域 |
基礎 O/S | Windows | Linux | 使用者管理 |
MySQL 版本 | 社群版 | 社群版 | Community 或 Enterprise Edition |
MySQL 版本支援 | 5.6(已淘汰),5.7 和 8.0 | 5.7 和 8.0 | 任何版本 |
應用程式共置的可用性區域選取 | No | .是 | Yes |
連接字串 中的用戶名稱 | <user_name>@server_name . 例如,mysqlusr@mypgServer |
只要用戶名稱。 例如,mysqlusr |
只要用戶名稱。 例如,mysqlusr |
計算與 儲存體 調整 | |||
計算層 | 基本、一般用途、記憶體優化 | 高載、一般用途、記憶體優化 | 高載、一般用途、記憶體優化 |
計算調整 | 支援 (不支援從 和 調整至基本層) | 支援 | 支援 |
儲存體大小 | 5 GiB 到 16 TiB | 20 GiB 至 16 TiB | 32 GiB 至 32,767 GiB |
在線 儲存體 調整 | 支援 | 已支援 | 不支援 |
自動記憶體調整 | 支援 | 已支援 | 不支援 |
IOP 擴充 | 不支援 | 支援 | 不支援 |
成本最佳化 | |||
保留實例定價 | 支援 | 支援 | 支援 |
停止/啟動伺服器以進行開發 | 伺服器最多可以停止七天 | 伺服器最多可以停止 30 天 | 支援 |
低成本高載 SKU | 不支援 | 支援 | 支援 |
網路/安全性 | |||
網路連線 | - 具有伺服器防火牆的公用端點。 - 具有 Private Link 支援的私人存取。 |
- 具有伺服器防火牆的公用端點。 - 具有 Private Link 支援的私人存取。 - 具有 虛擬網絡 整合的私人存取。 |
- 具有伺服器防火牆的公用端點。 - 具有 Private Link 支援的私人存取。 |
SSL/TLS | 默認會啟用 TLS v1.2、1.1 和 1.0 的支援 | 默認會啟用 TLS v1.2、1.1 和 1.0 的支援 | 支援 TLS v1.2、1.1 和 1.0 |
待用數據加密 | 支援客戶自控金鑰 (BYOK) | 支援服務受控金鑰 | 不支援 |
Microsoft Entra 驗證 | 支援 | 已支援 | 不支援 |
適用於雲端的 Microsoft Defender 支援 | Yes | .是 | No |
伺服器稽核 | 支援 | 支援 | 使用者管理 |
修補和維護 | |||
操作系統修補 | 自動 | 自動 | 由使用者管理 |
MySQL 次要版本升級 | 自動 | 自動 | 由使用者管理 |
MySQL 就地主要版本升級 | 支援從 5.6 到 5.7 | 不支援 | 使用者管理 |
維修控制 | 系統管理 | 客戶管理的 | 由使用者管理 |
維護時間範圍 | 隨時在 15 小時範圍內 | 1 小時視窗 | 由使用者管理 |
計劃性維護通知 | 三天 | 五天 | 由使用者管理 |
高可用性 | |||
高可用性 | 內建HA (不含熱待命) | 內建HA (不含熱待命)、具有熱待命的相同區域和區域備援HA | 由使用者管理 |
區域備援 | 不支援 | 支援 | 支援 |
待命區域放置 | 不支援 | 支援 | 支援 |
Automatic failover | 是 (旋轉另一部伺服器) | Yes | 使用者管理 |
使用者起始的強制故障轉移 | No | Yes | 使用者管理 |
透明應用程式故障轉移 | Yes | Yes | 使用者管理 |
複寫 | |||
支援讀取複本 | Yes | Yes | 使用者管理 |
支援的讀取複本數目 | 5 | 10 | 使用者管理 |
複寫模式 | 非同步 | 非同步 | 使用者管理 |
讀取複本的 Gtid 支援 | 支援 | 支援 | 使用者管理 |
跨區域支援 (異地複寫) | Yes | 不支援 | 使用者管理 |
混合式案例 | 支援 數據傳入複寫 | 支援 數據傳入複寫 | 使用者管理 |
支援數據傳入複寫 | 支援 | 不支援 | 使用者管理 |
數據輸出複寫 | 不支援 | 支援 | 支援 |
備份和復原 | |||
自動備份 | Yes | .是 | No |
備份保留 | 7-35 天 | 1-35 天 | 使用者管理 |
長期保留備份 | 使用者管理 | 使用者管理 | 使用者管理 |
匯出備份 | 支援使用邏輯備份 | 支援使用邏輯備份 | 支援 |
將時間點還原功能還原至保留期間內的任何時間 | Yes | Yes | 使用者管理 |
快速還原點 | No | .是 | No |
在不同區域還原的能力 | 不支援 | Yes | Yes |
還原至不同 VNet 的能力 | No | .是 | Yes |
還原至不同區域的能力 | 是 (異地備援) | 是 (異地備援) | 使用者管理 |
能夠還原已刪除的伺服器 | Yes | .是 | No |
災害復原 | |||
跨 Azure 區域的DR | 使用跨區域讀取複本、異地備援備份 | 使用異地備援備份 | 使用者管理 |
Automatic failover | No | 不支援 | No |
可以使用相同的 r/w 端點 | No | 不支援 | No |
監視 | |||
Azure 監視器整合和警示 | 支援 | 支援 | 使用者管理 |
監視資料庫作業 | 支援 | 支援 | 使用者管理 |
查詢效能深入解析 | 支援 | 支援 (使用活頁簿) | 使用者管理 |
伺服器記錄 | 支援 | 支援 (使用診斷記錄) | 使用者管理 |
稽核記錄 | 支援 | 支援 | 支援 |
錯誤記錄 | 不支援 | 支援 | 支援 |
Azure Advisor 支援 | 支援 | 不支援 | 不支援 |
外掛程式 | |||
validate_password | 不支援 | 在預覽階段 | 支援 |
caching_sha2_password | 不支援 | 在預覽階段 | 支援 |
開發人員生產力 | |||
車隊管理 | 支援 Azure CLI、PowerShell、REST 和 Azure Resource Manager | 支援 Azure CLI、PowerShell、REST 和 Azure Resource Manager | 使用 Azure CLI、PowerShell、REST 和 Azure Resource Manager 支援 VM |
Terraform 支援 | 支援 | 支援 | 支援 |
GitHub 動作 | 支援 | 支援 | 使用者管理 |
選擇 PaaS 或 IaaS 的商業動機
有幾個因素會影響您是否選擇 PaaS 或 IaaS 來裝載 MySQL 資料庫。
成本
成本降低通常是決定裝載資料庫的最佳解決方案的主要考慮。 不論您是一家幾乎沒有現金的初創公司,還是處於嚴格預算限制之下運作的已建立公司團隊,都是如此。 本節說明 Azure 中的計費和授權基本概念,因為它們適用於 Azure VM 上的 適用於 MySQL 的 Azure 資料庫 和 MySQL。
計費
適用於 MySQL 的 Azure 資料庫 目前以不同資源價格的數個層級提供作為服務。 所有資源都會以固定費率每小時計費。 如需目前支援之服務層級、計算大小和記憶體金額的最新資訊,請參閱 定價頁面。 您可以動態調整服務層級和計算大小,以滿足應用程式的不同輸送量需求。 您需支付定期 數據傳輸費率的傳出因特網流量費用。
透過 適用於 MySQL 的 Azure 資料庫,Microsoft 會自動設定、修補及升級資料庫軟體。 這些自動化動作可降低您的系統管理成本。 此外,適用於 MySQL 的 Azure 資料庫 具有自動備份功能。 這些功能可協助您節省大量成本,特別是當您有許多資料庫時。 相反地,使用 Azure VM 上的 MySQL,您可以選擇並執行任何 MySQL 版本。 無論您使用何種 MySQL 版本,您都需支付布建的 VM、與數據相關聯的記憶體成本、備份、監視數據和記錄記憶體,以及所使用的特定 MySQL 授權類型成本(如果有的話)。
適用於 MySQL 的 Azure 資料庫 提供節點層級中斷的內建高可用性,同時維護服務的 99.99% SLA 保證。 不過,針對 VM 內的資料庫高可用性,您可以使用 MySQL 資料庫上可用的高可用性選項,例如 MySQL 複寫。 使用支援的高可用性選項不提供額外的 SLA。 但它可讓您以額外的成本和系統管理額外負荷達到超過99.99%的資料庫可用性。
如需詳細資訊,請參閱下列文章:
系統管理
對許多企業而言,決定轉換至雲端服務,卸載複雜的系統管理和降低成本一樣重要。
使用 IaaS、Microsoft:
- 管理基礎結構。
- 自動修補基礎硬體和作業系統。
透過 PaaS,Microsoft 可以:
- 管理基礎結構。
- 自動修補基礎硬體、作業系統和資料庫引擎。
- 管理資料庫高可用性。
- 自動執行備份及複寫所有資料以提供災害復原。
- 預設加密待用資料和移動中的資料。
- 監視您的伺服器,並提供查詢效能深入解析和效能建議的功能
下列清單說明每個選項的系統管理考慮:
透過 適用於 MySQL 的 Azure 資料庫,您可以繼續管理資料庫。 但您不再需要管理資料庫引擎、操作系統或硬體。 您可以繼續管理的項目範例包括:
- 資料庫
- 登入
- 索引微調
- 查詢微調
- 稽核
- 安全性
此外,將高可用性設定至另一個數據中心需要最少的設定或管理。
透過 Azure VM 上的 MySQL,您可以控制作業系統和 MySQL 伺服器實例組態。 您決定何時使用 VM 更新或升級作業系統和資料庫軟體,以及要套用的修補程式。 您也可以選擇何時安裝任何其他軟體,例如防毒應用程式。 提供一些自動化功能來簡化大幅修補、備份和高可用性。 您還可以控制 VM 的大小、磁碟數目及其儲存體設定。 如需詳細資訊,請參閱 適用於 Azure 的虛擬機和雲端服務大小。
移至 Azure 的時間
當開發人員生產力和快速上市新解決方案時,適用於 MySQL 的 Azure 資料庫 是雲端設計應用程式的正確解決方案。 使用 DBA 之類的程式設計功能,服務適合雲端架構設計人員和開發人員,因為它降低了管理基礎操作系統和資料庫的需求。
當您想要避免取得新內部部署硬體的時間和費用時,Azure VM 上的 MySQL 是需要服務不支援之 MySQL 引擎細微控制和自定義或需要存取基礎 OS 的應用程式的正確解決方案。 此解決方案也適合將現有的內部部署應用程式和資料庫移轉至 Azure,以防 適用於 MySQL 的 Azure 資料庫 狀況不佳的情況。
因為不需要變更簡報、應用程式和數據層,因此您可以節省重新架構現有解決方案的時間和預算。 相反地,您可以專注於將所有解決方案移轉至 Azure,並解決 Azure 平臺可能需要的一些效能優化。