複製功能可建立 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 私人連線,因為連線會從主要執行個體繼承。
如要瞭解如何建立唯讀副本,請參閱「 建立唯讀副本」。如要瞭解如何管理唯讀副本,請參閱「 管理唯讀副本」。
最佳做法是在主要執行個體上使用高可用性時,將讀取備用資源放在與主要執行個體不同的區域。這麼做可確保主要執行個體所在區域發生中斷時,讀取備用資源仍能繼續運作。詳情請參閱高可用性總覽。
選取合適的機型
唯讀備用資源的 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 唯讀備用資源快速參考資料
限制
這項功能僅適用於下列版本的 SQL Server 適用的 Cloud SQL:
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
Cloud SQL 不支援在相同地區使用進階災難復原 (DR) 備用資源。如要在與來源相同的區域中建立唯讀副本,只能將唯讀副本升級為新的主要執行個體。
只有 Cloud SQL Enterprise Plus 版本提供層疊副本。
您無法透過 Google Cloud 控制台建立串聯式備用資源。
如果 Cloud SQL 建立副本時,主要執行個體上存在任何登入作業,Cloud SQL 會將這些作業複製到新副本。完成這項作業後,如果您在主要執行個體中新增登入作業,Cloud SQL 不會將這些作業傳播至現有副本。
您必須使用 T-SQL 和/或 SQL Server Management Studio 監控副本。
刪除資料庫前,請務必關閉資料庫連線。
建立副本時,主要執行個體在單一使用者模式下不得包含任何資料庫,否則副本建立作業會失敗。
如要建立副本,主要執行個體必須符合下列規定:
- 不得包含單一使用者模式的資料庫。
- 不得包含處於
OFFLINE狀態的資料庫。 - 不得包含唯讀模式的資料庫。
- 不得包含啟用自動關閉功能的資料庫。
- 不得做為發布資料庫。
- 不得啟用推送交易式複寫。
- 不得為資料庫快照。
如果主要執行個體不符合必要規定,副本建立作業就會失敗,並傳回下列錯誤訊息:
如果執行個體已設定外部複製,就無法設定複製功能。
後續步驟
- 瞭解如何建立唯讀副本。
- 瞭解如何設定高可用性的執行個體。
- 瞭解進階災難復原 (DR)