從 Snowflake 遷移至 BigQuery - 簡介

本文將簡介如何從 Snowflake 遷移資料至 BigQuery。

為支援遷移至 BigQuery 的作業, Trusted Cloud by S3NS 提供 BigQuery 遷移服務,這是一套全方位解決方案,可將資料倉儲遷移至 BigQuery。這項遷移服務提供多項功能,可協助您完成遷移作業的每個階段,包括評估和規劃、SQL 轉換、資料移轉和資料驗證。詳情請參閱 BigQuery 遷移服務簡介

功能比較

以下各節將重點說明 BigQuery 和 Snowflake 的主要差異與相似之處,並介紹 BigQuery 的幾項獨特功能。

術語

下表列出 Snowflake 術語和對應的 BigQuery 術語:

Snowflake BigQuery
資料庫 資料集
結構定義 結構定義
查看 查看
安全檢視畫面 授權檢視表
虛擬倉庫 保留項目
具體化檢視表 具體化檢視表
微分割區 分區
分群 分群
安全性強化的使用者定義函式 (UDF) 授權 UDF

BigQuery 架構

BigQuery 是分析資料倉儲,具有高度可擴充的架構。BigQuery 將儲存空間和運算資源分隔,讓您能夠視需求獨立調度這些元件的資源。如要進一步瞭解 BigQuery 的架構,請參閱 BigQuery 總覽。以下是 BigQuery 中與資料遷移程序相關的幾項重要功能:

  • BigQuery 使用代管資料表,並提供彈性選項,方便您轉移第三方資料。包括直接從 Cloud Storage 擷取 Parquet、Avro、ORC 和 CSV 等可攜式格式的資料。

    • BigQuery 也支援 Apache Iceberg 資料表。Iceberg 是開放式資料表格式,可為 BigQuery 提供 data lakehouse 功能,包括結構定義演進、時間回溯和 ACID 交易。這項功能可與使用 Iceberg 的其他系統順暢整合,並提供更大的資料彈性和控制權。
  • 建立資料表時,BigQuery 可讓您定義明確的分割叢集。您可以精細控管資料的整理方式,策略性地分區和叢集化,藉此最佳化查詢效能、降低成本,並根據特定分析需求調整資料版面配置。

  • BigQuery 會自動處理運算資源。您不必佈建或管理虛擬機器。

    • 對於可預測的工作負載,BigQuery 提供預留功能,讓您以較低的成本預先預留運算容量。對於資源需求可預測的穩定工作負載來說,這項服務相當實用。
    • 遷移期間,請分析 Snowflake 使用模式,瞭解運算需求,並判斷 BigQuery 中最具成本效益的方法,無論是隨選價格或使用預訂。

BigQuery 使用者介面

BigQuery 介面內建於Trusted Cloud 控制台

BigQuery 也有以 Python 為基礎的指令列工具,稱為 bq 指令列工具

BigQuery 安全性功能

從 Snowflake 遷移至 BigQuery 時,請考量 BigQuery 的安全性處理方式與 Snowflake 的差異。Trusted Cloud by S3NS

BigQuery 的安全性與 Trusted Cloud by S3NS中的身分與存取權管理 (IAM) 息息相關。IAM 權限會定義資源允許執行的作業,並在 Trusted Cloud by S3NS 層級強制執行,提供集中且一致的安全管理方法。以下列舉 Trusted Cloud by S3NS的一些主要安全性功能:

  • 整合式安全性:BigQuery 會運用 Trusted Cloud by S3NS的安全性功能。包括 IAM,可精細控管存取權,確保安全整合流程順暢無阻。
  • 資源層級安全性:IAM 著重於資源層級的存取權控管,可授予使用者和群組各種 BigQuery 資源和服務的權限。這種做法可有效管理存取權,確保使用者只具備執行工作所需的權限。
  • 網路安全性:BigQuery 採用 Trusted Cloud by S3NS的強大網路安全功能,例如 Virtual Private Cloud私人連線

從 Snowflake 遷移至 BigQuery 時,請考量下列安全性相關的遷移需求:

  • IAM 設定:您必須在 BigQuery 中設定 IAM 角色和權限,以符合現有的 Snowflake 存取權控管政策。這包括將 Snowflake 角色對應至適當的 BigQuery IAM 角色和權限
  • 精細的存取權控管:如果您在 Snowflake 中使用資料列或資料欄層級的安全防護機制,則需要在 BigQuery 中使用已授權檢視區塊政策標記,導入同等控管措施。
  • 檢視區塊和 UDF 遷移作業:遷移檢視區塊和 UDF 時,請確認相關聯的安全控管措施已正確轉換為 BigQuery 中的已授權檢視區塊已授權 UDF

加密

BigQuery 預設會加密靜態資料和傳輸中的資料。如果您需要進一步控管加密金鑰,BigQuery 支援 Cloud Key Management Service 中的客戶管理加密金鑰。您也可以使用資料欄層級加密

為確保資料在遷移至 BigQuery 期間和之後的安全性,請考慮下列事項:

  • 金鑰管理:如果您需要客戶管理的金鑰,請在 Cloud Key Management Service 中建立金鑰管理策略,並將 BigQuery 設為使用這些金鑰。
  • 資料遮蓋/斷詞:如果涉及機密資料,請評估是否需要遮蓋或斷詞處理,以保護資料安全。
  • 資料列層級安全性:使用授權檢視區塊、資料列層級安全性篩選器或其他適當方法,導入資料列層級安全性。
  • 弱點掃描和滲透測試:定期執行弱點掃描和滲透測試,檢查 BigQuery 環境的安全狀態。

角色

角色是可授予和撤銷可保護物件權限的實體。

在 IAM 中,權限會歸入角色。IAM 提供三種角色:

  • 基本角色 包括「擁有者」、「編輯者」和「檢視者」角色。您可以使用Trusted Cloud 主控台、Identity and Access Management API 或 gcloud CLI,在專案或服務資源層級套用這些角色。一般而言,為確保最高安全性,我們建議您使用預先定義的角色,遵循最低權限原則。
  • 預先定義的角色這類角色可提供更精細的產品功能存取權 (例如 BigQuery),適用於常見用途和存取權控管模式。
  • 自訂角色 這類角色是由使用者指定的權限組成。

存取權控管

Snowflake 可讓您將角色授予其他角色,建立角色階層。IAM 不支援角色階層,但會實作資源階層。IAM 階層包含機構層級、資料夾層級、專案層級和資源層級。您可以在階層的任何層級設定 IAM 角色,資源會繼承父項資源的所有政策。

BigQuery 支援資料表層級的存取權控管。資料表層級權限可以決定要允許哪些使用者、群組和服務帳戶存取資料表或檢視表。您可以授予使用者特定資料表或檢視區塊的存取權,而不必授予完整資料集的存取權。

如要更精細地控管存取權,您也可以使用資料欄層級存取權控管資料列層級安全性。這類控管機制會使用政策標記或依據類型的資料分類,提供機密資料欄的精細存取權。

您也可以建立授權檢視表,進一步限制資料存取權,讓指定使用者查詢檢視表,但無法讀取基礎資料表。

遷移其他 Snowflake 功能

規劃遷移至 BigQuery 時,請考量下列 Snowflake 功能。在某些情況下,你可以使用其他服務完成遷移。 Trusted Cloud

開始使用

以下各節將摘要說明從 Snowflake 遷移至 BigQuery 的程序:

執行遷移評估

在從 Snowflake 遷移至 BigQuery 的過程中,建議您先執行 BigQuery 遷移評估工具,評估將資料倉儲從 Snowflake 遷移至 BigQuery 的可行性和潛在效益。這項工具提供結構化方法,協助您瞭解目前的 Snowflake 環境,並估算順利遷移所需的作業量。

執行 BigQuery 遷移評估工具後,會產生評估報告,其中包含下列章節:

  • 現有系統報表:現有 Snowflake 系統和用量的快照,包括資料庫、結構定義和資料表的數量,以及總大小 (以 TB 為單位)。此外,這項服務還會依大小列出結構定義,並指出可能導致資源使用率不佳的因素,例如沒有寫入或讀取次數很少的資料表。
  • BigQuery 穩定狀態轉換建議:顯示遷移後 BigQuery 的系統樣貌。包括如何最佳化 BigQuery 工作負載,以及避免浪費資源的建議。
  • 遷移計畫:提供遷移作業本身的相關資訊。例如,從現有系統轉換至 BigQuery 穩定狀態。這個部分會顯示自動翻譯的查詢數量,以及將每個資料表移至 BigQuery 的預期時間。

如要進一步瞭解遷移評估結果,請參閱「查看 Looker Studio 報表」。

設定從 Snowflake 遷移至 BigQuery 的管道

查看遷移評估結果後,即可設定遷移管道,開始進行 Snowflake 遷移作業。詳情請參閱「從 Snowflake 遷移至 BigQuery - 總覽」。

驗證遷移作業

將 Snowflake 資料遷移至 BigQuery 後,請執行資料驗證工具 (DVT),對新遷移的 BigQuery 資料執行資料驗證。DVT 會驗證各種功能 (從資料表層級到資料列層級),確認遷移的資料可正常運作。