從 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 會自動處理運算資源。您不必佈建或管理虛擬機器。
- 對於可預測的工作負載,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
時空旅行:在 BigQuery 中,您可以透過時空旅行存取過去七天內任何時間點的資料。如要存取超過七天的資料,建議您定期匯出排定的快照。
串流:BigQuery 支援使用 Datastream 進行變更資料擷取 (CDC)。您也可以使用 Debezium 等 CDC 軟體,透過 Dataflow 將記錄寫入 BigQuery。如要進一步瞭解如何使用 BigQuery 手動設計 CDC 管道,請參閱「將資料倉儲遷移至 BigQuery:變更資料擷取 (CDC)」。
工作:BigQuery 可讓您排定查詢和串流的時程,或使用 Datastream 將串流整合至查詢。
外部函式:BigQuery 支援透過 Cloud Run 函式呼叫外部函式。您也可以使用使用者定義函式 (UDF),例如 SQL UDF,但這些函式會在 BigQuery 內執行。
開始使用
以下各節將摘要說明從 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 會驗證各種功能 (從資料表層級到資料列層級),確認遷移的資料可正常運作。