在 Microsoft Fabric 中複製 Snowflake

Fabric 鏡像提供簡便體驗,避免複雜的 ETL(擷取、轉換、載入),並將您現有的 Snowflake 倉庫資料整合到 Microsoft Fabric 的其他資料中。 您可以持續將現有的 Snowflake 資料直接複寫到 Fabric 的 OneLake 中。 在 Fabric 中,您可以解鎖強大的商業智慧、人工智慧、資料工程、資料科學和資料共用案例。

關於如何在 Fabric 中設定 Snowflake 資料庫以進行鏡像的教學,請參見 Tutorial: 從 Snowflake 配置 Microsoft Fabric 鏡像資料庫。

為什麼要在 Fabric 中使用鏡像?

在 Fabric 的鏡射功能中,您不需要將來自多個供應商的不同服務拼湊在一起。 相反地,您可以享受高度整合、端對端且易於使用的產品,其設計目的是簡化您的分析需求,並專為 Microsoft、Snowflake 和 1000 多個可讀取開放原始碼 Delta Lake 資料表格式的技術解決方案之間的開放性和共同作業而建置。

內建哪些分析體驗?

鏡映資料庫是 Fabric Data Warehousing 中的項目,與 倉儲SQL 分析端點不同。

Snowflake 的 Fabric 資料庫鏡像圖。

鏡像會在 Fabric 工作區中建立下列項目:

  • 鏡像資料庫項目。 這可啟用資料工程、資料科學及其他的下游應用。 鏡像可達成:
    • 將受管理資料表與檢視表資料複製到 OneLake,並轉換為可供分析的 Parquet 格式。
    • 透過捷徑將 Iceberg 表格的元資料複製到 OneLake ,並轉換到包含 Iceberg 表格的儲存空間。 OneLake 會自動將這些 Iceberg 表格轉換為 Delta Lake 格式的資料表,以便在 Fabric 工作負載中使用。
  • SQL 分析端點

這很重要

Iceberg 資料表支援:如果您選擇鏡像 Iceberg 資料表,則必須提供包含 Iceberg 資料表資料之基礎儲存體的儲存體連線。 只有透過同一儲存連線可存取的 Iceberg 表格才能被鏡像在一起。 要找到 Iceberg 表格的儲存位置,請在 Snowflake 中執行 SYSTEM$GET_ICEBERG_TABLE_INFORMATION 系統函式。 欲了解更多資訊,請參閱教學:從 Snowflake 配置 Microsoft Fabric 鏡像資料庫

每個鏡像資料庫都有一個自動產生的 SQL 分析端點 ,可在鏡像過程所建立的 Delta 表格上提供豐富的分析體驗。 使用者可以存取熟悉的 T-SQL 命令,這些命令可以定義和查詢資料物件,但無法操作 SQL 分析端點的資料,因為它是唯讀複本。 您可以在 SQL 分析端點中執行下列動作:

  • 探索參考 Snowflake 中 Delta Lake 資料表中資料的資料表。
  • 建立無程式碼查詢和檢視,並以視覺化方式探索資料,而無需編寫任何程式碼。
  • 開發 SQL 檢視、內嵌 TVF (資料表值函式) 和預存程序,以封裝 T-SQL 中的語意和商務邏輯。
  • 管理物件的許可權。
  • 查詢相同工作區中其他倉儲和湖庫中的資料。

除了 SQL 查詢編輯器,還有一個廣泛的工具生態系可以查詢 SQL 分析端點,包括 SQL Server Management Studio(SSMS)Visual Studio Code 的 MSSQL 擴充功能,甚至還有 GitHub

支援的 Snowflake 物件類型

下表列出支援鏡像的 Snowflake 物件類型:

物件類型 支持 註釋
受管理的資料表 Yes 完全支援複製
Iceberg 資料表 Yes 需要與底層 Iceberg 資料表儲存建立儲存連結。 你只能為可透過相同的儲存體連線存取的 Iceberg 表格建立鏡像。
Views Yes 支援每 12 小時同步一次
具現化檢視 Yes 支援每 12 小時同步一次
外部數據表 No 不支援
瞬態表 No 不支援
暫存資料表 No 不支援
動態表格 No 不支援

安全性考慮

若要啟用 Fabric 鏡像,您需要 Snowflake 資料庫的使用者權限,其中包含下列權限:

  • CREATE STREAM
  • SELECT table
  • SHOW tables
  • DESCRIBE tables

欲了解更多資訊,請參閱 Snowflake 文件中關於 存取控制 串流資料表權限串流所需權限

這很重要

在 Snowflake 原始倉庫建立的任何細粒度安全性,都必須在 Microsoft Fabric 的鏡像資料庫中重新配置。 更多資訊請參閱 Microsoft Fabric 中的 SQL 細緻權限

支援的驗證方法

下表列出 Snowflake 鏡像功能支援的驗證方法:

驗證方法 支持 註釋
使用者名稱與密碼 Yes Snowflake 原生認證
Microsoft Entra ID (SSO) Yes 透過 Entra ID 進行單一登入
金鑰組驗證 Yes 服務帳號情境下的 RSA 金鑰對
工作區身分識別 No 目前不支援 Snowflake

在防火牆後面映射 Snowflake

檢查網路需求以存取您的 Snowflake 資料來源。 如果您的 Snowflake 資料來源無法公開存取且位於私人網路內,請 建立虛擬網路資料閘道安裝內部部署資料閘道 以鏡像資料。 Azure 虛擬網路 或閘道機器的網路必須透過私有端點連接至 Snowflake 實例,或需防火牆規則允許。 要開始,請參考 Tutorial:從 Snowflake 配置Microsoft Fabric鏡像資料庫。

Private Link 與工作區識別:

  • Private Link:目前尚未支援 Fabric 工作區與 Snowflake 之間的直接 Private Link 連線。 在此期間,使用虛擬網路資料閘道器或本地資料閘道來進行私有連接。
  • 工作區身分:Snowflake 鏡像目前不支援工作區身分驗證。

Snowflake 複製成本考量

用來將資料複寫至 Fabric OneLake 的 Fabric 計算是免費的。 鏡像儲存成本可免費使用,上限為容量限制。 更多資訊請參閱 鏡像成本Microsoft Fabric 價格。 使用 SQL、Power BI 或 Spark 查詢資料的計算費用會按固定費率收費。

Fabric 不會收取 OneLake 鏡像網路資料匯入的費用。

在鏡像資料的過程中,會產生 Snowflake 的計算和雲端查詢成本,包括虛擬倉庫計算和雲端服務計算。

  • Snowflake 虛擬倉儲運算費用:
    • 如果在 Snowflake 中讀取資料變更,進而鏡像至 Fabric,則會在 Snowflake 端收取計算費用。
    • 任何在幕後執行以檢查資料變更的中繼資料查詢,都不會針對任何 Snowflake 運算收費;不過,產生資料的查詢 (例如 a SELECT * ) 會喚醒 Snowflake 倉儲,且運算會收費。
  • Snowflake 服務計算費用:
    • 雖然幕後工作 (例如編寫、中繼資料查詢、存取控制、顯示資料變更,甚至 DDL 查詢) 沒有任何運算費用,但這些查詢會產生相關聯的雲端成本。
    • 根據您擁有的 Snowflake 版本類型,您將需要支付任何雲端服務成本的相應點數。

在下列螢幕擷取畫面中,您可以看到鏡像至 Fabric 之相關聯 Snowflake 資料庫的虛擬倉儲計算和雲端服務計算成本。 在此案例中,大部分的雲端服務計算成本 (黃色) 都來自根據先前提及的要點進行的資料變更查詢。 虛擬倉儲的計算費用(藍色)完全來自於從 Snowflake 讀取資料變更後,再將其鏡像到 Fabric。

Snowflake 成本圖表的螢幕擷取畫面。

成本最佳化建議

為了降低 Snowflake 因鏡像而產生的運算成本,請參考以下最佳實務:

  • 重複利用現有倉庫。 與其建立專門的鏡像倉庫,不如設定鏡像使用你應用程式已經用來更新來源資料表的同一個倉庫。 此方法避免了不必要的倉庫喚醒與自動暫停循環。 當你的應用程式更新資料表時,鏡像複製器幾乎會立即接收變更,且倉庫仍在運作,因此你不需要喚醒另一個倉庫。 有些組織可能偏好專用倉庫以節省預算。 這種偏好是在節省成本與預算細緻度之間取得的權衡。
  • 只鏡像您需要的資料表。 鏡像整個資料庫可能導致 Snowflake 資源耗用異常升高,以及 Fabric 容量激增。 首先只選擇分析情境所需的表格。 你也可以在需要時再加表格。
  • 留意是否發生非預期的重新植入種子。 重新植入(完整資料重新載入)會處理整個資料表,並產生與資料表大小成正比的運算成本。 結構變更——包括由DBT等工具觸發的變更——都可能導致持續的重種。 查看 「鏡像狀態」頁面 中顯示重複初始複製行為的資料表,並參閱下方的重新植入(Reseeding)章節,以瞭解觸發條件及疑難排解指引。
  • 請注意,鏡像作業會持續執行。 鏡像目前不支援設定排程或複製視窗。 複製器會持續輪詢是否有變更,因而持續產生 Snowflake 的運算資源用量。 請合理規劃你的 Snowflake 預算。

如需 Snowflake 特定雲端查詢成本的詳細資訊,請參閱 Snowflake 文件:瞭解整體成本

後續步驟

教學:從 Snowflake 設定 Microsoft Fabric 的鏡像資料庫