遷移至代管的災難復原服務
本頁面說明如何從 BigQuery 跨區域複本遷移至 BigQuery 管理的災難復原服務。
總覽
BigQuery 跨區域複製 (CRR) 和代管災難復原 (DR) 功能皆旨在提升資料可用性和災難復原能力。不過,兩者處理區域性中斷服務的方式不同。如果主要區域無法使用,CRC 就不會推送次要備援機制。相較之下,DR 提供更全面的保護,即使主要區域無法使用,仍可將容錯移轉至次要複本。使用 CRR 時,系統只會複製儲存空間,但使用 DR 時,系統會複製儲存空間和運算容量。
下表說明 CRR 和 DR 的功能:
功能 | CRR | DR |
---|---|---|
初始複製程序 | 使用 CRR 初始複製資料集。 | 在將 CRR 資料集遷移至 DR 資料集之前,先使用 CRR 複製初始載入作業。 |
促銷活動複製 | 使用標準複製功能。 | 使用強化型複製功能。 |
升級程序 | 在資料集層級提昇。 | 在預留項目層級進行升級 (預留項目容錯移轉和資料集升級)。許多資料集可連結至一個備援保留空間。資料集層級升級不適用於 DR。 |
促銷活動執行 | 透過每個資料集的 UI 或 SQL DDL 指令。不支援 CLI、用戶端程式庫、API 或 Terraform。 | 透過每個 EPE 保留項目的 UI 或 SQL 指令。不支援 CLI、用戶端程式庫、API 或 Terraform。 |
容錯移轉模式 | 軟性容錯移轉。 | 強制容錯移轉。 |
版本需求 | 任何容量模型。 | Enterprise Plus 版本。 |
限制 | CRR 限制。 | 包含CRR 限制和DR 限制。 |
寫入權限 | 在任何容量模式下執行的工作,都可以寫入主要區域中的複製資料集。次要資料表一律為唯讀。 | 只有在 Enterprise Plus 預留空間下執行的工作,才能寫入主要區域中的複製資料集。次要資料集和預留備份資源一律為唯讀。 |
讀取權限 | 在任何容量模式下執行的工作都能讀取複製的資料集。 | 在任何容量模式下執行的工作都能讀取複製的資料集。 |
遷移作業的影響
以下各節將概述遷移至 DR 時的費用和功能變更。
費用影響
從 CRR 遷移至 DR 時,請考量以下成本影響:
DR 僅支援 Enterprise Plus 版本的寫入存取權,因此會產生較高的運算成本。您可以從任何容量模式讀取資料,因此現有工作的讀取費用不會改變。
DR 會使用強化型複製功能,這會產生額外費用,具體費用視區域配對而定。
CRR 和 DR 的儲存空間價格相同。
如要進一步瞭解定價,請參閱「定價」。
能力影響
從 CRR 遷移至 DR 時,請考量下列功能影響:
DR 僅支援保留項目層級的容錯移轉。任何依賴資料集層級備援功能的現有工作都會失敗。
只有 Enterprise Plus 版本的查詢才能寫入資料集,前提是該資料集已連結至 DR 保留空間。任何未使用 Enterprise Plus 版運算容量的現有寫入工作都會失敗。
事前準備
開始遷移作業前,請先熟悉跨區域複寫和災難復原服務的相關概念。
如要遷移至 DR,您必須具備下列先決條件:
您有已啟用 BigQuery 的 Trusted Cloud by S3NS 有效專案。
您已使用 CRR 建立及複製資料集。
資料集具有您要用於 DR 的相同主要和次要位置。
您已取得使用 DR 所需的權限。如要進一步瞭解權限,請參閱「開始前」一節。
從 CRR 遷移至 DR
以下各節將說明如何將資料集從 CRR 遷移至 DR。這裡假設您已為 CRR 設定資料集。
建立容錯保留項目
如要啟用災難復原功能,您必須在主要區域中建立容錯移轉預留。請使用適當的主要和次要區域設定保留作業。主要和次要區域應與您要遷移至 DR 的所有 CRR 資料集的區域相符。如要建立備援預留空間,請選擇下列任一選項:
主控台
前往 Trusted Cloud 控制台的「BigQuery」頁面。
在導覽選單中,依序點選「容量管理」和「建立預留項目」。
在「Reservation name」(預留項目名稱) 欄位中,輸入預留項目的名稱。
在「位置」清單中選取位置。
在「Edition」清單中,選取 Enterprise Plus 版本。
在「預留項目大小選取器」清單中,選取預留項目大小上限。
選用:在「Baseline slots」欄位中,輸入保留項目的基準運算單元數量。
可用的自動調度資源運算單元數量,取決於最大預留項目大小值減去基準運算單元值的結果。舉例來說,如果您建立的預留項目有 100 個基準運算單元,且預留項目大小上限為 400,則預留項目會有 300 個自動調度資源運算單元。如要進一步瞭解基準運算單元,請參閱「使用保留項目搭配基準和自動調度運算單元」。
在「次要位置」清單中選取次要位置。
如要停用閒置的運算單元共用功能,並只使用指定的運算單元容量,請按一下「忽略閒置的運算單元」切換鈕。
如要展開「進階設定」部分,請按一下
展開箭頭。選用:如要設定目標工作並行設定,請按一下「覆寫自動目標工作並行設定」切換鈕,然後輸入「目標工作並行設定」的值。時段的明細資料會顯示在「費用預估」表格中。系統會在「容量摘要」表格中顯示保留項目摘要。
按一下 [儲存]。
您可以在「時段保留」分頁中看到新保留項目。
SQL
如要建立預訂,請使用 CREATE RESERVATION
資料定義語言 (DDL) 陳述式。
前往 Trusted Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = ENTERPRISE_PLUS, secondary_location = SECONDARY_LOCATION);
請依指示取代下列項目:
ADMIN_PROJECT_ID
:擁有預留資源的管理專案專案 ID。LOCATION
:預訂的地點。如果您選取 BigQuery Omni 位置,則只能使用 Enterprise 版本。RESERVATION_NAME
:保留項目的名稱。名稱開頭和結尾須為小寫英文字母或數字,中間只能使用小寫英文字母、數字和破折號。
NUMBER_OF_BASELINE_SLOTS
:要分配給保留項目的基準運算單元數量。您無法在同一個預留作業中設定slot_capacity
和edition
選項。SECONDARY_LOCATION
:預訂的次要位置。發生中斷服務時,任何連結至此預留空間的資料集都會備援至這個位置。
按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
將資料集附加至預留項目
建立備援預留容量後,請將跨區域資料集附加至預留容量。這樣一來,所有已連結的資料集都能啟用容錯功能。如要將資料集附加至預留容量,請選擇下列任一選項:
主控台
前往 Trusted Cloud 控制台的「BigQuery」頁面。
在導覽選單中,依序點選「Capacity management」和「Slot Reservations」分頁標籤。
按一下要附加資料集的預留項目。
按一下「災難復原」分頁標籤。
按一下「新增容錯移轉資料集」。
輸入要與保留訂單建立關聯的資料集名稱。
按一下「新增」。
SQL
如要將資料集附加至預留項目,請使用 ALTER SCHEMA SET OPTIONS
DDL 陳述式。
前往 Trusted Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
ALTER SCHEMA `DATASET_NAME` SET OPTIONS ( failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);
請依指示取代下列項目:
DATASET_NAME
:資料集名稱。ADMIN_PROJECT_ID.RESERVATION_NAME
:您要將資料集連結至的預留資料表名稱。
按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
驗證設定
如要驗證設定狀態,請查詢 INFORMATION_SCHEMA.SCHEMATA_REPLICAS
檢視畫面。
PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT]
確認資料集已連結至正確的區域中正確的預訂。
替換下列內容:-
選用:
PROJECT_ID
: Trusted Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
REGION
:任一資料集區域名稱。例如:`region-us`
。
範例
以下範例將逐步說明從 CRR 遷移至 DR 的步驟,並提供使用 GoogleSQL 的實際範例。在本例中,假設以下情況:
您正在處理名為
myproject
的專案。您已建立名為
mydataset
的資料集,並使用 CRR 進行設定。mydataset
的主要區域為us-central1
,次要區域為us-west1
。
如要開始將資料集遷移至 DR,請先使用 Enterprise Plus 版本建立預訂。在這個範例中,保留項目的名稱為 myreservation
。
CREATE RESERVATION `myproject.region-us-central1.myreservation`
OPTIONS (
slot_capacity = 0,
edition = ENTERPRISE_PLUS,
autoscale_max_slots = 50,
secondary_location = 'us-west-1');
建立保留項目後,您就可以將資料集附加到保留項目。以下範例會將資料集附加至預訂:
ALTER SCHEMA
`myproject.mydataset`
SET OPTIONS (
failover_reservation = 'myproject.myreservation');
接著,請確認資料集已成功附加。
SELECT
failover_reservation_project_id,failover_reservation_name,
FROM
`myproject`.`region-us-west1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
WHERE
schema_name='mydataset';
這項查詢的結果應如下所示:
+---------------------------------+---------------------------+ | failover_reservation_project_id | failover_reservation_name | +---------------------------------+---------------------------+ | myproject | myreservation | | myproject | myreservation | +---------------------------------+---------------------------+
後續步驟
如要進一步瞭解跨區域複製功能,請參閱「跨區域資料集複製」。
如要進一步瞭解受管理的災難復原服務,請參閱「受管理的災難復原服務」。