共用方式為


適用於 MariaDB 之 Azure 資料庫中的高可用性

重要

適用於 MariaDB 的 Azure 資料庫位於淘汰路徑上。 強烈建議您移轉至適用於 MySQL 的 Azure 資料庫。 如需移轉至適用於 MySQL 的 Azure 資料庫的詳細資訊,請參閱適用於 MariaDB 的 Azure 資料庫會發生什麼事?(部份機器翻譯)。

適用於 MariaDB 的 Azure 資料庫服務適合執行需要高運作時間的任務關鍵性資料庫。 其會在下列期間提供高可用性:

  • 計劃性事件,例如使用者起始的調整計算作業。
  • 非計劃性事件,例如基礎硬體、軟體或網路失敗。

適用於 MariaDB 的 Azure 資料庫為運行時間提供財務支援的服務等級協定。 因為服務是以 Azure 架構為基礎所建置,所以您可以利用其功能來取得高可用性、備援和復原能力,而不需要設定任何其他元件。

適用於 MariaDB 之 Azure 資料庫中的元件

元件 描述
MariaDB 資料庫伺服器 適用於 MariaDB 的 Azure 資料庫可為資料庫伺服器提供安全性、隔離、資源保護與快速重新啟動功能。 這些功能有助於在中斷發生之後調整和資料庫伺服器復原 (秒) 這類作業。
資料庫伺服器中的資料修改通常會發生在資料庫交易的內容中。 所有資料庫變更都會以預先寫入記錄 (ib_log 檔案) 的形式來同步記錄至 Azure 儲存體,而 Azure 儲存體會連結至資料庫伺服器。 在資料庫的檢查點處理期間,資料庫伺服器記憶體中的資料頁也會排清到儲存體。
遠端儲存體 所有 MariaDB 實體資料檔案和記錄檔都會儲存至 Azure 儲存體,而 Azure 儲存體會在區域內儲存三份資料複本,以提供資料備援、可用性和可靠性。 儲存體層與資料庫伺服器無關。 其可以從失敗的資料庫伺服器中斷連結,並在幾秒內重新連結至新的資料庫伺服器。
Azure 儲存體會持續監視是否發生任何儲存體錯誤。 如果偵測到區塊損毀,則會具現化新的儲存體複本來自動修正問題。
閘道 閘道可作為資料庫 Proxy,方法是將所有用戶端連線都路由傳送至資料庫伺服器。

降低計劃性停機

適用於 MariaDB 的 Azure 資料庫的結構可在已規劃的停機作業期間提供高可用性。

Diagram of elastic scaling in Azure Database for MariaDB.

以下是一些計劃性維護情節:

案例 描述
計算擴大或縮小 執行計算擴大或縮小作業時,適用於 MariaDB 的 Azure 資料庫會使用調整的計算設定來佈建新的資料庫伺服器。 在舊的資料庫伺服器上,服務可讓作用中檢查點完成、清空用戶端連線,並取消任何未認可的交易。 服務接著會關閉舊的資料庫伺服器。 其會將儲存體與舊的資料庫伺服器中斷連結,並將儲存體連結至新的資料庫伺服器。 用戶端應用程式重試連線或嘗試建立新的連線時,閘道會將連線要求導向至新的資料庫伺服器。
擴大儲存體 擴大儲存體是線上作業,而且不會中斷資料庫伺服器。
新的軟體部署 (Azure) 新功能或錯誤修正的推出會在服務的計劃性維護期間自動發生。 如需詳細資訊,請參閱文件,並檢查您的入口網站
次要版本升級 適用於 MariaDB 的 Azure 資料庫會自動將資料庫伺服器修補為 Azure 所決定的次要版本。 自動修補是服務計劃性維護的一部分。 這會產生幾秒鐘短暫的停機,而且資料庫伺服器會自動以新的次要版本重新開機。 如需詳細資訊,請參閱文件,並檢查您的入口網站

降低非計劃性停機

系統可能會因為未預期的失敗 (包括基礎硬體故障、網路問題和軟體錯誤 (bug)) 而發生非計劃性停機。 如果資料庫伺服器意外關閉,系統便會在幾秒鐘內自動佈建新的資料庫伺服器。 遠端儲存體會自動連結至新的資料庫伺服器。

MariaDB 引擎會使用預寫記錄檔和資料庫檔案來執行復原作業,並開啟資料庫伺服器以允許用戶端連線。 未認可的交易會遺失,而且應用程式必須重試這些交易。

雖然您無法避免未規劃的停機,但適用於 MariaDB 的 Azure 資料庫可在不需要人為介入的情況下自動在資料庫伺服器和儲存體層執行復原作業,來避免停機。

Diagram of high availability in Azure Database for MariaDB.

非計劃性停機:失敗情節和服務復原

以下是兩個失敗情節,以及適用於 MariaDB 的 Azure 資料庫如何自動復原:

案例 自動復原
資料庫伺服器失敗 如果資料庫伺服器因基礎硬體錯誤而關閉,則適用於 MariaDB 的 Azure 資料庫會卸除作用中連線,並取消任何執行中的交易。 此服務會自動部署新的資料庫伺服器,並將遠端資料儲存體連結至新的資料庫伺服器。 完成資料庫復原之後,用戶端可以透過閘道連線至最新的資料庫伺服器。
使用 MariaDB 資料庫的應用程式需要以偵測到的方式進行建置,並重試已卸除的連線和失敗的交易。 應用程式重試連線時,閘道會以透明方式將連線重新導向至新建立的資料庫伺服器。
儲存體失敗 磁碟故障或實體區塊損毀這類儲存體相關問題不會影響應用程式。 因為資料儲存於三個複本中,所以資料複本會由存留的儲存體提供。 適用於 MariaDB 的 Azure 資料庫會自動更正區塊損毀。 如果資料復本遺失,則服務會自動建立新的資料複本。

以下是需要使用者動作才能復原的失敗情節:

案例 復原方案
區域失敗 區域失敗是罕見的事件。 但若需要保護而不受區域失敗影響,則可在其他區域中設定一或多個讀取複本來用於災害復原。 如需詳細資料,請參閱本文以建立和管理讀取複本。 如果發生區域層級失敗,則您可以手動將另一個區域中所設定的讀取複本升階為生產資料庫伺服器。
邏輯/使用者錯誤 從使用者錯誤 (例如,意外地卸除資料表或錯誤地更新資料) 復原包含執行時間點復原。 除非剛好是發生錯誤之前的時間,否則此動作會還原並復原資料。
如果您只想還原資料庫子集或特定資料表,而不是資料庫伺服器中的所有資料庫,則可以在新執行個體中還原資料庫伺服器,透過 mysqldump 匯出資料表,然後還原資料庫中的這些資料表。

摘要

適用於 MariaDB 的 Azure 資料庫具有固有的高可用性功能,以協助保護您的資料庫免於常見的中斷。 其提供資料庫伺服器的快速重新啟動功能、備援儲存體,以及來自閘道的有效路由。 如需其他資料保護,您可以將備份設定為異地複寫,並在其他區域中部署讀取複本。

下一步