複製功能可讓您建立 Cloud SQL 執行個體的副本,並將工作卸載至副本。
簡介
使用複製功能的主要原因,是為了在不降低效能的情況下,擴大運用資料庫中的資料。
複製資料的其他原因包括在不同區域之間遷移資料。
此外,如果原始執行個體發生損毀,備用資源可升級為獨立執行個體 (在這種情況下,現有備用資源不會將該執行個體視為主要執行個體)。
在提及 Cloud SQL 執行個體時,複製的執行個體稱為「主要執行個體」,而副本則稱為「唯讀備用資源」。主要執行個體和唯讀備用資源都位於 Cloud SQL 中。
建立第一個複本時:
- 主要執行個體會設為主要執行個體上所有資料庫的完整復原模型。
系統會建立臨時磁碟,並擷取完整備份並儲存在臨時磁碟上。備份建立程序完成後,系統會刪除暫時磁碟。
如果在第一次建立複本的時間範圍內,使用者切換至簡易復原模型,則複本建立作業會失敗。
以下適用於在建立複本後,新增至主要執行個體的資料庫:
- 資料庫會自動新增至可用性群組,並使用自動播種功能在副本中填入資料。
- 每次建立備用資源都會在主要執行個體上備份資料庫的完整備份 (完整復原模型)。建立副本後建立的登入和伺服器物件不會複製。
Cloud SQL 支援下列備援機制類型:
您可以使用連接器強制執行,強制只使用 Cloud SQL Auth Proxy 或 Cloud SQL 語言連接器連線至 Cloud SQL 執行個體。在連接器強制執行的情況下,Cloud SQL 會拒絕直接連線至資料庫。如果執行個體已啟用連接器強制執行,您就無法為該執行個體建立唯讀備用資源。同樣地,如果執行個體有唯讀備用資源,就無法為該執行個體啟用連接器強制執行。
Cloud SQL 不支援兩部外部伺服器之間的複製作業。
唯讀備用資源
您可以使用唯讀備用資源,從 Cloud SQL 執行個體卸載工作。讀取備用資源是主要執行個體的精確複本。主要例項的資料和其他變更會在讀取/寫入複本上以近乎即時的方式更新。
唯讀備用資源僅供讀取,無法寫入。唯讀備用資源會處理查詢、讀取要求和分析流量,進而減少主要執行個體的負載。每個主要執行個體最多可有 8 個唯讀備用資源。
您可以直接使用複本的連線名稱和 IP 位址連線至複本。如果您使用私人 IP 位址連線至副本,則不需要為副本建立額外的 VPC 私人連線,因為連線會從主要執行個體繼承。
如要瞭解如何建立唯讀備用資源,請參閱「 建立唯讀備用資源」一文。如要瞭解如何管理唯讀副本,請參閱「 管理唯讀副本」。
最佳做法是在主要執行個體上使用 HA 時,將唯讀備用資源放在與主要執行個體不同的區域。這可確保在含有主要執行個體的區域發生中斷時,讀取用副本仍可繼續運作。詳情請參閱「高可用性總覽」。
選擇合適的機器類型
唯讀備用資源的 vCPU 數量和記憶體可以與主要執行個體不同。您應該監控執行個體的指標,例如 CPU 和記憶體用量,確保複本執行個體的大小能配合其工作負載,尤其是當複本執行個體小於主要執行個體時。大小不足的複本執行個體較容易發生效能不佳的情況,例如經常發生記憶體不足 (OOM) 事件。
唯讀備用資源的儲存空間容量
當主要執行個體的大小調整時,系統會視需要調整所有唯讀備用資源的大小,讓這些備用資源的儲存空間容量至少與更新後的主要執行個體一樣大。
跨地區唯讀備用資源
跨區域複製功能可讓您在主要執行個體所在的不同區域中建立唯讀備用資源。建立跨區域唯讀備用資源的方式,與建立區域內備用資源相同。
在 SQL Server 唯讀備用資源的情況下,系統會假設備用資源與主要備用資源位於相同的虛擬網路中,或是使用公開 IP 進行通訊。跨區域備用資源:
- 將副本提供給靠近應用程式所在區域的用戶,以改善讀取效能。
- 提供額外的災難復原功能,以防區域性故障。
- 讓您將資料從一個區域遷移到另一個區域。
如要進一步瞭解跨區域備用資源,請參閱「推送備用資源,以進行區域性遷移或災難復原」。
連鎖唯讀備用資源
透過層疊式複寫功能,您可以在相同或不同區域的其他唯讀備用資源下建立唯讀備用資源。分層複本是使用分散式可用性群組實作。以下列舉一些資料庫叢集副本的應用實例:
- 災難復原:您可以使用唯讀備用資源的串聯式階層,模擬主要執行個體及其唯讀備用資源的拓樸圖。發生中斷服務期間,系統會將您選取的讀取備用資源升級為主要執行個體,而新主要執行個體下的讀取備用資源會繼續複製,並可供使用。舊主機可在可用時成為新主機的次要主機,您可以使用切換功能,在舊主機復原後切換回該主機。如要進一步瞭解如何使用串聯式備用資源進行災難復原,請參閱「關於災難復原」。
- 改善效能:將複製工作卸載至多個唯讀備用資源,減輕主要執行個體的負擔。
- 擴充讀取作業:您可以增加備用資源,以便分擔讀取負載。
- 降低成本:您可以使用單一階層式複本,並在其他區域進行跨區域複寫,藉此降低網路成本。
術語
- 可層疊的備援副本:跨區域的讀取備援副本,可用於在使用 SQL Server 適用的 Cloud SQL 進行進階災難復原 (DR) 時,執行切換和備援副本容錯移轉作業。
- 層疊備用資源:可具備專屬備用資源的唯讀備用資源。
- 層級:您可以在串聯式備用資源階層中建立備用資源層級。舉例來說,如果您在執行個體中新增四個備份,這些備份就會位於同一層級。
- 同層次的執行個體:從同一個主要執行個體複製的多個備用資源。在複本階層中,同層的複本為同胞複本。一個備份可以正式擁有八個兄弟姊妹。
- 葉節點備用資源:沒有任何備用資源的唯讀備用資源。在多層級複製階層中,分葉複本是最後一層。
- 升級:將階層中任何層級的備份資源轉換為主要例項的動作。升級時,備用資源的串聯備用資源階層會保留。
設定層疊備用資源
串聯式備用資源可讓您在任何現有備用資源中新增唯讀備用資源。您最多可以新增四個副本層級 (包括主要執行個體)。當您將串聯式備用資源階層頂端的備用資源升級為主要執行個體時,該備用資源就會成為主要執行個體,而其串聯式備用資源會繼續複製。
如要進一步瞭解如何設定分散式可用性群組,請參閱「設定 Always On 分散式可用性群組」。
限制
- 您無法刪除具有備用資源的備用資源。如要刪除備份,您必須從葉節點備份開始,然後逐層向上刪除。
- 系統不支援循環區域依附元件。如要讓層疊備用資源的備援機制與主要執行個體位於相同區域,層疊備用資源也必須位於相同區域。
- 您必須在主要執行個體所在區域以外的區域中建立可分層的備用資源。接著,您可以在可串聯的備用資源所在的區域中建立串聯式備用資源。
複製用途
以下是各類型複製作業的用途。
名稱 | 主要 | 備用資源 | 優點及用途 | 更多資訊 |
---|---|---|---|---|
唯讀備用資源 | Cloud SQL 執行個體 | Cloud SQL 執行個體 |
|
|
跨區域唯讀備用資源 | Cloud SQL 執行個體 | Cloud SQL 執行個體 |
|
|
SQL Server 複製 | 在 Cloud SQL 外部的執行個體 | SQL Server 適用的 Cloud SQL 執行個體 |
|
帳單
- 唯讀備用資源的計費方式與標準 Cloud SQL 執行個體相同。資料複製作業不收費。
- 跨區域唯讀備用資源的定價與在該區域中建立新 Cloud SQL 執行個體相同。參閱 Cloud SQL 執行個體定價,然後選取適當的區域。除了與執行個體相關聯的一般費用外,跨區域備用資源也會產生跨區域資料移轉費用,因為從主要執行個體傳送至備用資源的複製記錄會產生這類費用,詳情請參閱「網路輸出定價」。
Cloud SQL 唯讀備用資源快速參考
主題 | 討論 |
---|---|
備份 | 您不能設定備用資源的備份。 |
核心和記憶體 | 唯讀備用資源的核心數和記憶體容量可能與主要執行個體不同。 |
刪除主要執行個體 | 刪除主要執行個體之前,必須將其所有唯讀備用資源推送至獨立執行個體,或刪除唯讀備用資源。 |
刪除備用資源 | 刪除副本時,主要執行個體的狀態不會受到影響。 |
刪除複製的資料庫 | 您可以使用 Google Cloud 主控台或 gcloud 指令刪除複製的 SQL Server 資料庫,刪除作業會自動套用至複本。您無法使用 T-SQL 指令刪除已複製的 SQL Server 資料庫。 |
容錯移轉 | 只有在備用資源是 DR 備用資源的情況下,主要執行個體才能容錯移轉至備用資源。唯讀備用資源在服務中斷期間也無法以任何方式容錯移轉。 |
負載平衡 | Cloud SQL 不提供備援資源之間的負載平衡。 |
維護期間 | 唯讀備用資源與主要執行個體共用維護期間。備用資源會遵循主要執行個體的維護設定,包括維護期間、重新排程和拒絕維護期間。在維護期間,Cloud SQL 會先更新所有唯讀備用資源,再更新主要執行個體。 |
多個唯讀備用資源 | 您最多可以為單一主要執行個體建立 8 個唯讀備用資源。 |
私人 IP | 如果您使用私人 IP 位址連線至複本,則不需要為複本建立額外的 VPC 私人連線,因為複本會繼承主要執行個體的連線。 |
還原主要執行個體 | 存在備用資源時,您無法還原備用資源的主要執行個體。從備份還原執行個體,或對它執行時間點復原之前,您必須 推送或刪除它的所有備用資源。 |
設定 | 主要執行個體的設定會推送至備用資源,包括可存取執行個體的使用者資料變更。 |
停止備用資源 | 您無法 stop 備用資源。您可以 restart 或 delete 它,但無法像主要執行個體一樣停止。 |
升級備用資源 | 唯讀備用資源可能會隨時遇到造成服務中斷的升級。 |
使用者資料表 | 您無法變更備用資源。所有使用者變更都必須在主要執行個體上完成。 |
限制
這項功能僅適用於下列版本的 Cloud SQL for SQL Server:
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
登入作業不會複製到備用資源。
您必須使用 T-SQL 和/或 SQL Server Management Studio 監控複本。
刪除資料庫前,請務必關閉資料庫連線。
建立副本時,主要執行個體在單一使用者模式下不得包含任何資料庫。否則,建立備用資源的作業會失敗。
後續步驟
- 瞭解如何建立唯讀副本。
- 瞭解如何設定高可用性的執行個體。