設定讀取複本
公司可以使用其資料庫的唯讀複本進行全域效能調整。 當組織擁有世界各地的客戶,並讓使用者在上百萬嘗試存取其資料時,複本就相當實用。 一旦準備就緒,他們也可以處理區域性災害復原。
您的公司已成長為全球知名的自行車賣方。 CIO 要求您的部門針對世界各地的使用者,改善線上商店的回應能力。 您知道有一個可以簡單又快速改善效能的方法,就是將資料庫的唯讀複本放在每個地理位置。
在此單元中,您將瞭解如何輕鬆地建立和管理儲存在適用於 MySQL/PostgreSQL 的 Azure 資料庫中資料的唯讀複本。
如何使用讀取複寫
您可以使用「讀取複寫」將資料從一個適用於 MySQL/PostgreSQL 的 Azure 資料庫 (稱為「主要」)的執行個體複製到最多五個複本。 使用複寫將負載分散到多部伺服器,以進行大量讀取的工作負載。 複寫僅能單向,且每個複本都是唯讀的。 複寫會以非同步方式運作,因此在主伺服器上的資料變更的時間與每個複本中出現的時間點之間會有延遲。
複本可以與主伺服器處於不同的區域。 您可以使用複本將資料放在所需用戶端的附近,以減少查詢延遲。 跨區域複寫也會提供一種機制來處理區域嚴重災害復原。
注意
基本效能層級中不提供跨區域複寫。
每個複本皆為其適用於 MySQL/PostgreSQL 的 Azure 資料庫的執行個體,但設定為唯讀。 如果與主伺服器失去連線,或刪除主伺服器,每個複本都會變成獨立的讀寫伺服器。 在此情況下,複本不再彼此同步處理,因此其保留的資料可能會開始分岐。
注意
如果您使用適用於 MySQL 的 Azure 資料庫,讀取複本只適用於「一般用途」和「記憶體最佳化」定價層。 此外,適用於 PostgreSQL 的 Azure 資料庫在彈性伺服器下無法使用讀取複本。
建立複本
將複本新增至伺服器的最簡單方式是透過 Azure 入口網站中伺服器的 [複寫] 頁面。 在此頁面上,選取 [+ 新增複本]。
系統會提示您輸入伺服器的名稱和位置。 除此之外,複本的其他詳細資料 (包括定價層) 也會與主伺服器的設定相同。 建立複本之後,您即可修改該伺服器的任何設定,包括調整定價層。 不過,請確定每個複本都有足夠的資源可處理與接收和儲存複寫資料相關聯的工作負載。
注意
如果您使用的是「一般用途」或「記憶體最佳化」定價層,則也必須啟用複寫支援。 您可以在 [複寫] 頁面上選取 [啟用複寫支援] 來完成此動作。 伺服器將會重新啟動,才能繼續進行。
當您新增複本時,它會顯示在 [複寫] 頁面上。 依主資料庫的大小和資料庫中的資料量而定,每個複本的部署與同步處理可能需要相當長的時間。
您可以在 [複寫] 頁面上加以選取,以重新設定複本並調整其大小。
如果您想要使用 Azure CLI,以 az mysql/postgres server replica create
命令建立新的複本:
az postgres server replica create \
--name northwindreplica3 \
--resource-group northwindrg \
--source-server northwind101
移除複本
若要移除複本,請選取 [複寫] 頁面上的複本,然後選取 [停止複寫] 。 複本伺服器會中斷與主伺服器的連結,並轉換成讀寫伺服器。 複本將不會被刪除,而您將持續支付其使用的資源費用。 若您需要刪除複本,請使用 [刪除複本] 命令。
Azure CLI 提供 az mysql/postgres server replica stop
命令以停止複寫,並將複本轉換為讀寫伺服器。 然後,您可以使用 az mysql/postgres server delete
命令來刪除複本,並釋放其資源。