遷移至代管的災難復原服務

本頁面說明如何從 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 資料集的區域相符。如要建立備援預留空間,請選擇下列任一選項:

主控台

  1. 前往 Trusted Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在導覽選單中,依序點選「容量管理」和「建立預留項目」

  3. 在「Reservation name」(預留項目名稱) 欄位中,輸入預留項目的名稱。

  4. 在「位置」清單中選取位置。

  5. 在「Edition」清單中,選取 Enterprise Plus 版本。

  6. 在「預留項目大小選取器」清單中,選取預留項目大小上限。

  7. 選用:在「Baseline slots」欄位中,輸入保留項目的基準運算單元數量。

    可用的自動調度資源運算單元數量,取決於最大預留項目大小值減去基準運算單元值的結果。舉例來說,如果您建立的預留項目有 100 個基準運算單元,且預留項目大小上限為 400,則預留項目會有 300 個自動調度資源運算單元。如要進一步瞭解基準運算單元,請參閱「使用保留項目搭配基準和自動調度運算單元」。

  8. 在「次要位置」清單中選取次要位置。

  9. 如要停用閒置的運算單元共用功能,並只使用指定的運算單元容量,請按一下「忽略閒置的運算單元」切換鈕。

  10. 如要展開「進階設定」部分,請按一下 展開箭頭。

  11. 選用:如要設定目標工作並行設定,請按一下「覆寫自動目標工作並行設定」切換鈕,然後輸入「目標工作並行設定」的值。時段的明細資料會顯示在「費用預估」表格中。系統會在「容量摘要」表格中顯示保留項目摘要。

  12. 按一下 [儲存]

您可以在「時段保留」分頁中看到新保留項目。

SQL

如要建立預訂,請使用 CREATE RESERVATION 資料定義語言 (DDL) 陳述式

  1. 前往 Trusted Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在查詢編輯器中輸入以下陳述式:

    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_capacityedition 選項。
    • SECONDARY_LOCATION:預訂的次要位置。發生中斷服務時,任何連結至此預留空間的資料集都會備援至這個位置。

  3. 按一下 「Run」

如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。

將資料集附加至預留項目

建立備援預留容量後,請將跨區域資料集附加至預留容量。這樣一來,所有已連結的資料集都能啟用容錯功能。如要將資料集附加至預留容量,請選擇下列任一選項:

主控台

  1. 前往 Trusted Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在導覽選單中,依序點選「Capacity management」和「Slot Reservations」分頁標籤。

  3. 按一下要附加資料集的預留項目。

  4. 按一下「災難復原」分頁標籤。

  5. 按一下「新增容錯移轉資料集」

  6. 輸入要與保留訂單建立關聯的資料集名稱。

  7. 按一下「新增」。

SQL

如要將資料集附加至預留項目,請使用 ALTER SCHEMA SET OPTIONS DDL 陳述式

  1. 前往 Trusted Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在查詢編輯器中輸入以下陳述式:

    ALTER SCHEMA
      `DATASET_NAME`
    SET OPTIONS (
      failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);

    請依指示取代下列項目:

    • DATASET_NAME:資料集名稱。

    • ADMIN_PROJECT_ID.RESERVATION_NAME:您要將資料集連結至的預留資料表名稱。

  3. 按一下 「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             |
+---------------------------------+---------------------------+

後續步驟