共用方式為


移轉:Azure Synapse Analytics 專用 SQL 集區至 Fabric

適用於✅:Microsoft Fabric 的倉儲

本文詳細說明將 Azure Synapse Analytics 專用 SQL 集區中的資料倉儲移轉至 Microsoft Fabric Warehouse 的策略、考量和方法。

移轉簡介

Microsoft 引進了 Microsoft Fabric,這是一個適用於企業的多合一 SaaS 分析解決方案,提供了一套完整的服務,包括Data Factory資料工程資料倉儲資料科學即時智慧Power BI

本文著重於以下選項:結構描述 (DDL) 移轉、資料庫程式碼 (DML) 移轉和資料移轉。 Microsoft 提供數個選項,在本文中,我們會詳細討論每個選項,並提供您應在您的案例考慮哪些選項的指導。 本文使用 TPC-DS 產業基準進行說明和效能測試。 您的實際結果可能會依據許多因素而有所不同,包括資料的類型、資料類型、資料表的寬度、資料來源延遲等。

為移轉做準備

在開始之前,請先仔細規劃移轉專案,並確定您的結構描述、程式碼和資料與 Fabric Warehouse 相容。 您需要考慮一些限制。 量化不相容項目的重構工作,以及移轉傳遞之前所需的任何其他資源。

規劃的另一個重要目標是調整您的設計,以確保您的解決方案充分利用 Fabric Warehouse 旨在提供的高查詢效能。 根據規模設計資料倉儲引進了獨特的設計模式,因此傳統方法並不一定是最佳方法。 檢閱 Fabric Warehouse 效能指導方針,因為雖然移轉之後可以進行一些設計調整,但在程序中盡早變更可節省您的時間和精力。 從一個技術/環境移轉至另一個技術/環境始終是一項主要工作。

下圖描述了移轉生命週期,其中列出主要要素,包含評定和評估規劃和設計移轉監視及管理最佳化和現代化,以及每個要素中的相關工作,以規劃和準備順暢移轉。

移轉生命週期圖表。

用於移轉的 Runbook

請將下列活動視為規劃 Runbook,以便從 Synapse 專用 SQL 集區移轉至 Fabric Warehouse。

  1. 評定和評估
    1. 識別目標和動機。 建立明確的所需結果。
    2. 探索、評定現有結構,並建立相關基準。
    3. 識別主要利害關係人和贊助者。
    4. 定義要移轉內容的範圍。
      1. 從小規模且簡單的內容著手,準備多個小型移轉。
      2. 開始監視及記錄程序的所有階段。
      3. 建置要移轉的資料和程序詳細目錄。
      4. 定義資料模型變更 (若有的話)。
      5. 設定 Fabric Workspace。
    5. 您的技能/喜好設定為何?
      1. 盡可能自動化。
      2. 使用 Azure 內建工具和功能來減少移轉工作。
    6. 盡早在新平台上培訓員工。
      1. 識別提升技能需求和訓練資產,包括 Microsoft Learn
  2. 規劃和設計
    1. 定義所需結構。
    2. 選取移轉的方法/工具,以完成下列工作:
      1. 從來源進行資料擷取。
      2. 結構描述 (DDL) 轉換,包括資料表和檢視的中繼資料
      3. 資料擷取,包括歷程記錄資料。
        1. 如有必要,使用新的平台效能和可擴縮性,重新設計資料模型。
      4. 資料庫程式碼 (DML) 移轉。
        1. 遷移或重構預存程序和業務流程。
    3. 清查並擷取來源的安全性功能和物件權限。
    4. 設計和規劃取代/修改現有的 ETL/ELT 累加式載入流程。
      1. 為新環境建立平行 ETL/ELT 程序。
    5. 準備詳細的移轉方案。
      1. 將目前狀態對應至新的預期狀態。
  3. 移轉
    1. 執行結構描述、資料、程式碼移轉。
      1. 從來源進行資料擷取。
      2. 結構描述 (DDL) 轉換
      3. 資料提取
      4. 資料庫程式碼 (DML) 移轉。
    2. 如有必要,請暫時相應擴展專用 SQL 集區資源,以提高移轉速度。
    3. 套用安全性和權限。
    4. 移轉現有的 ETL/ELT 累加式載入流程。
      1. 遷移或重構 ETL/ELT 增量負載流程。
      2. 測試並比較平行遞增載入流程。
    5. 視需要調整詳細的移轉方案。
  4. 監視及管理
    1. 平行執行,與來源環境進行比較。
      1. 測試應用程式、商業智慧平台和查詢工具。
      2. 基準和最佳化查詢效能。
      3. 監視及管理成本、安全性和效能。
    2. 治理基準及評定。
  5. 最佳化和現代化
    1. 當業務狀況良好時,將應用程式和主要報告平台轉換為 Fabric。
      1. 隨著工作負載從 Azure Synapse Analytics 轉換為 Microsoft Fabric,相應擴大/縮小資源。
      2. 根據獲得的經驗,為將來的移轉建置可重複的範本。 反覆運算。
      3. 識別成本最佳化、安全性、可擴縮性和卓越營運的機會
      4. 識別使用最新的 Fabric 功能將您的資料資產現代化的機會。

「隨即轉移」或現代化?

一般而言,不論計劃的移轉目的和範圍為何,移轉案例都有兩種類型:按現況隨即轉移及包含結構和程式碼變更的階段式方法。

隨即轉移

在隨即轉移遷移中,現有的資料模型會隨著新 Fabric Warehouse 的次要變更而移轉。 此方法只需少量的新工作就能實現移轉的優點,進而將風險和移轉時間降到最低。

隨即轉移移轉適合下列案例:

  • 您的現有環境只有少量資料超市要遷移。
  • 您現有環境中的資料已經是設計良好的星形或雪花式結構描述。
  • 要移動至 Fabric Warehouse,您面臨著時間和成本壓力。

綜上所述,此方法適用於使用您目前 Synapse 專用 SQL 集區環境進行最佳化的工作負載,因此不需要在 Fabric 中進行重大變更。

藉助結構變更,以階段式方法進行現代化

如果舊版資料倉儲已發展很長一段時間,您可能需要重新設計以維持所需的效能等級。

您可能還想重新設計結構,以利用 Fabric 工作區中可用的新引擎和功能。

設計差異:Synapse 專用 SQL 集區和 Fabric Warehouse

請考慮下列 Azure Synapse 和 Microsoft Fabric 資料倉儲差異,比較專用 SQL 集區與 Fabric Warehouse。

資料表考量

當您在不同環境之間移轉資料表時,通常只有未經處理資料和實際移轉的中繼資料。 來源系統的其他資料庫元素 (例如索引) 通常不會移轉,因為它們在新的環境中可能不必要,或會以不同的方式實作。

來源環境中的效能最佳化 (例如索引) 會指出您可以在新環境中新增效能最佳化的位置,但現在 Fabric 會自動為您處理。

T-SQL 考量

有幾個資料操作語言 (DML) 語法差異需要注意。 請參閱 Microsoft Fabric 中的 T-SQL 介面區。 另外,在選擇資料庫程式碼 (DML) 移轉方法時,也請考慮程式碼評定

根據移轉時的同位差異,您可能需要重寫部分 T-SQL DML 程式碼。

資料類型對應差異

Fabric Warehouse 中有數個資料類型差異。 如需詳細資訊,請參閱 Microsoft Fabric 中的資料類型

下表提供從 Synapse 專用 SQL 集區到 Fabric Warehouse 的支援的資料類型的對應。

Synapse 專用 SQL 集區 Fabric Warehouse
money decimal(19,4)
smallmoney decimal(10,4)
smalldatetime datetime2
datetime datetime2
NCHAR char
nvarchar varchar
TINYINT SMALLINT
binary varbinary
datetimeoffset* datetime2

* Datetime2 不會儲存儲存的額外時區位移資訊。 由於 Fabric Warehouse 目前不支援 datetimeoffset 資料類型,因此時區位移資料需要擷取到個別資料行。

結構描述、程式碼和資料移轉方法

檢閱並識別其中哪個選項適合您的案例、員工技能及資料的特性。 選擇的選項取決於您的體驗、喜好設定及每個工具的優點。 我們的目標是繼續開發移轉工具,以減少摩擦和手動介入,進而實現順暢移轉體驗。

下表摘要說明資料結構描述 (DDL)、資料庫程式碼 (DML) 和資料移轉方法的資訊。 在本文稍後部分,我們會連結 [選項] 資料行,進一步展開每個案例。

選項號碼 選項 作用 技能/喜好設定 案例
1 Data Factory 結構描述 (DDL) 轉換
資料擷取
資料提取
ADF/管線 簡易多合一結構描述 (DDL) 和資料移轉。 建議用於維度資料表
2 包含分割區的 Data Factory 結構描述 (DDL) 轉換
資料擷取
資料提取
ADF/管線 使用資料分割選項來增加讀取/寫入平行處理原則,相較於選項 1,可提供 10 倍的輸送量,建議用於事實資料表
3 包含加速程式碼的 Data Factory 結構描述 (DDL) 轉換 ADF/管線 先轉換及移轉結構描述 (DDL),然後使用 CETAS 擷取資料,及 COPY/Data Factory 內嵌資料,進而獲得最佳整體擷取效能。
4 預存程序加速程式碼 結構描述 (DDL) 轉換
資料擷取
程式碼評定
T-SQL 使用 IDE 的 SQL 使用者,可更細微地控制他們想要處理的工作。 使用 COPY/Data Factory 內嵌資料。
5 Azure Data Studio 的 SQL 資料庫專案延伸項目 結構描述 (DDL) 轉換
資料擷取
程式碼評定
SQL 專案 SQL 資料庫專案,可整合選項 4 進行部署。 使用 COPY 或 Data Factory 內嵌資料。
6 CREATE EXTERNAL TABLE AS SELECT (CETAS) 資料擷取 T-SQL 將符合成本效益的高效能資料擷取到 Azure Data Lake Storage (ADLS) Gen2。 使用 COPY/Data Factory 內嵌資料。
7 使用 dbt 移轉 結構描述 (DDL) 轉換
資料庫程式碼 (DML) 轉換
dbt 現有的 dbt 使用者可使用 dbt Fabric 配接器來轉換其 DDL 和 DML。 然後,您必須使用此資料表中的其他選項來移轉資料。

選擇初始移轉的工作負載

當您決定從何處開始 Synapse 專用 SQL 集區到 Fabric Warehouse 移轉專案時,請選擇一個工作負載區域,而您可以在其中:

  • 透過快速提供新環境的優勢,證明移轉至 Fabric Warehouse 的可行性。 從小規模且簡單的內容著手,準備多個小型移轉。
  • 可讓內部技術人員有時間透過移轉其他區域時所使用的程序和工具,獲得相關體驗。
  • 建立範本,以利未來執行專屬於來源 Synapse 環境,以及已就緒工具和程序的移轉。

提示

建立需要移轉的物件詳細目錄,並記錄整個移轉流程 (從開始到結束),以便針對其他專用 SQL 集區或工作負載進行重複。

初始移轉中移轉的資料量應該夠大,才能示範 Fabric Warehouse 環境的功能和優點,但也不能太大而無法快速展現價值。 1-10 TB 範圍內的大小是典型大小。

使用 Fabric Data Factory 進行移轉

在本節中,我們會討論熟悉 Azure Data Factory 和 Synapse 管線的低程式碼/無程式碼角色使用 Data Factory 的選項。 此拖放 UI 選項提供簡單的步驟來轉換 DDL 及移轉資料。

Fabric Data Factory 可以執行下列工作:

  • 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
  • 在 Fabric Warehouse 上建立結構描述 (DDL)。
  • 將資料移轉至 Fabric Warehouse。

選項 1。 結構描述/資料移轉 - 複製精靈和 ForEach 複製活動

此方法使用 Data Factory 複製助理連線至來源專用 SQL 集區、將專用 SQL 集區 DDL 語法轉換為 Fabric,並將資料複製到 Fabric Warehouse。 您可以選取 1 或多個目標資料表 (針對 TPC-DS 資料集,有 22 個資料表)。 它會產生 ForEach,以迴圈查看 UI 中選取的資料表清單,並繁衍 22 個平行複製活動執行緒。

  • 在專用 SQL 集區中產生並執行 22 個 SELECT 查詢 (每個選取的資料表各一個)。
  • 請確定您擁有適當的 DWU 和資源類別,以允許執行產生的查詢。 針對此案例,您至少需要 staticrc10 個 DWU1000,才能允許最多 32 個查詢來處理提交的 22 個查詢。
  • Data Factory 將資料從專用 SQL 集區直接複製到 Fabric Warehouse 需要檢閱及測試。 擷取程序包含兩個階段。
    • 第一個階段包含將資料從專用 SQL 集區擷取至 ADLS,並稱為檢閱及測試。
    • 第二個階段包含將資料從檢閱及測試內嵌至 Fabric Warehouse。 大部分的資料擷取時間都處於檢閱及測試階段。 綜上所述,檢閱及測試對擷取效能會有很大的影響。

使用複製精靈產生 ForEach 提供了簡單的 UI,可一步轉換 DDL 並將選取的資料表從專用 SQL 集區內嵌至 Fabric Warehouse。

不過,整體輸送量並非最佳。 使用檢閱及測試的需求,「來源到階段」步驟的平行讀取和寫入,是效能延遲的主要因素。 建議只針對維度資料表使用此選項。

選項 2。 DDL/資料移轉 - 使用分割區選項的資料管線

若要使用 Fabric 資料管線提供輸送量,以載入較大型的事實資料表,建議對每個包含分割區選項的事實資料表使用複製活動。 這為複製活動提供了最佳效能。

您可以選擇使用來源資料表實體資料分割 (如果有的話)。 如果資料表沒有實體資料分割,您必須指定分割區資料行,並提供最小值/最大值,以使用動態資料分割。 在下列螢幕擷取畫面中,資料管線 [來源] 選項會根據 ws_sold_date_sk 資料行指定分割區的動態範圍。

資料管線的螢幕擷取畫面,其中描述了指定主索引鍵的選項,或動態分割區資料行的日期。

雖然使用分割區可以增加檢閱及測試階段的輸送量,但仍需要考慮適當調整:

  • 根據您的分割區範圍,其可能會使用所有並行位置,因為它可能會在專用 SQL 集區上產生超過 128 個查詢。
  • 您需要調整到至少為 DWU6000,才能執行所有查詢。
  • 例如,針對 TPC-DS web_sales 資料表,會有 163 個查詢提交至專用 SQL 集區。 DWU6000 時,會執行 128 個查詢,同時有 35 個查詢排入佇列。
  • 動態分割區會自動選取定界分割。 在此案例中,每個提交至專用 SQL 集區的 SELECT 查詢的範圍為 11 天。 例如:
    WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080')
    ...
    WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
    

針對事實資料表,我們建議搭配使用 Data Factory 和資料分割選項來增加輸送量。

不過,增加的平行讀取需要專用 SQL 集區調整至較高的 DWU,以允許執行擷取查詢。 利用資料分割,速率會比沒有分割區選項提高 10 倍。 您可以增加 DWU 以透過計算資源取得額外的輸送量,但專用 SQL 集區最多允許 128 個作用中查詢。

注意

如需有關 Synapse DWU 至 Fabric 對應的詳細資訊,請參閱部落格:將 Azure Synapse 專用 SQL 集區對應至 Fabric 資料倉儲計算

選項 3。 DDL 移轉 - 複製精靈 ForEach 複製活動

上述兩個選項是較小型資料庫的絕佳資料移轉選項。 但是,如果您需要較高的輸送量,我們建議使用替代選項:

  1. 將資料從專用 SQL 集區擷取至 ADLS,因此可降低階段效能額外負荷。
  2. 使用 Data Factory 或 COPY 命令,將資料內嵌至 Fabric Warehouse。

您可以繼續使用 Data Factory 來轉換結構描述 (DDL)。 使用複製精靈,您可以選取特定的資料表或所有資料表。 根據設計,這會一步移轉結構描述和資料,在查詢語句中使用 false 條件 TOP 0,擷取不含任何資料列的結構描述。

下列程式碼範例涵蓋使用 Data Factory 的結構描述 (DDL) 移轉。

程式碼範例:使用 Data Factory 的結構描述 (DDL) 移轉

您可以使用 Fabric 資料管線,輕鬆地從任何來源 Azure SQL 資料庫或專用 SQL 集區移轉資料表物件的 DDL (結構描述)。 此資料管線會將來源專用 SQL 集區資料表的結構描述 (DDL) 移轉至 Fabric Warehouse。

 Fabric Data Factory 的螢幕擷取畫面,其中顯示指向 For Each 物件的 LOOKUP 物件。在 For Each 物件內,有可移轉 DDL 的活動。

管線設計:參數

此資料管線接受參數 SchemaName,可讓您指定要移轉的結構描述。 dbo 結構描述是預設值。

在 [預設值] 欄位中,輸入以逗號分隔的資料表結構描述清單,指出要移轉的結構描述:'dbo','tpch' 提供兩個結構描述 dbotpch

Data Factory 的螢幕擷取畫面,其中顯示資料管線的 [參數] 索引標籤。在 [名稱] 欄位中,為

管線設計:查閱活動

建立查閱活動,並將 [連線] 設定為指向來源資料庫。

在 [設定] 索引標籤中:

  • 將 [資料存放區類型] 設定為 [外部]

  • [連線] 是 Azure Synapse 專用 SQL 集區。 [連線類型]是 [Azure Synapse Analytics]

  • [使用查詢] 設定為 [查詢]

  • [查詢] 欄位需要使用動態運算式來建置,允許在傳回目標來源資料表清單的查詢中使用參數 SchemaName。 選取 [查詢],然後選取 [新增動態內容]

    查詢活動內的此運算式會產生 SQL 陳述式,以查詢系統檢視表,進而擷取結構描述和資料表的清單。 參考 SchemaName 參數,以允許篩選 SQL 結構描述。 此輸出是 SQL 結構描述和資料表的陣列,且將做為 ForEach 活動的輸入。

    使用下列程式碼傳回具有其結構描述名稱的所有使用者資料表清單。

    @concat('
    SELECT s.name AS SchemaName,
    t.name  AS TableName
    FROM sys.tables AS t
    INNER JOIN sys.schemas AS s
    ON t.type = ''U''
    AND s.schema_id = t.schema_id
    AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
    ')
    

Data Factory 的螢幕擷取畫面,其中顯示資料管線的 [設定] 索引標籤。已選取 [查詢] 按鈕,並將程式碼貼到 [查詢] 欄位中。

管線設計:ForEach 迴圈

針對 ForEach 循環,在 [設定] 索引標籤中設定下列選項:

  • 停用 [循序] 以允許多個反覆項目並行執行。
  • 將 [批次計數] 設定為 50,限制並行反覆項目的數目上限。
  • [項目] 欄位需要使用動態內容來參考查閱活動的輸出。 使用下列程式碼片段:@activity('Get List of Source Objects').output.value

顯示 [ForEach 迴圈活動設定] 索引標籤的螢幕擷取畫面。

管線設計:ForEach 迴圈內的複製活動

在 ForEach 活動內,新增複製活動。 此方法會使用資料管線內的動態運算式語言來建置 SELECT TOP 0 * FROM <TABLE>,以僅移轉結構描述而不將資料移轉至 Fabric Warehouse。

在 [來源] 索引標籤中:

  • 將 [資料存放區類型] 設定為 [外部]
  • [連線] 是 Azure Synapse 專用 SQL 集區。 [連線類型]是 [Azure Synapse Analytics]
  • 將 [使用查詢] 設定為 [查詢]
  • 在 [查詢] 欄位中,貼上動態內容查詢並使用此運算式,其會傳回零個資料列,僅會傳回資料表結構描述:@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)

Data Factory 的螢幕擷取畫面,其中顯示 ForEach 迴圈內複製活動的 [來源] 索引標籤。

在 [目的地] 索引標籤中:

  • 將 [資料存放區類型] 設定為 [工作區]
  • 工作區資料存放區類型資料倉儲,而 [資料倉儲] 設定為 Fabric Warehouse。
  • 目的地資料表的結構描述和資料表名稱是使用動態內容定義的。
    • 結構描述是指目前反覆項目的欄位,包含片段的 SchemaName:@item().SchemaName
    • 資料表會參考包含片段的 TableName:@item().TableName

Data Factory 的螢幕擷取畫面,其中顯示每個 ForEach 迴圈內複製活動的 [目的地] 索引標籤。

管線設計:接收器

針對 [接收器],會指向您的 Warehouse,並參考來源結構描述和資料表名稱。

執行此管線之後,您會看到資料倉儲已填入來源中的每個資料表,並具有適當的結構描述。

使用 Synapse 專用 SQL 集區中的預存程序進行移轉

此選項使用預存程序來執行 Fabric 移轉。

您可以在 GitHub.com 的 microsoft/fabric-migration 上取得程式碼範例。 此程式碼會作為開放原始碼進行共用,因此您可以隨意參與共同作業並協助社群。

移轉預存程序可以執行的動作:

  1. 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
  2. 在 Fabric Warehouse 上建立結構描述 (DDL)。
  3. 將資料從 Synapse 專用 SQL 集區擷取至 ADLS。
  4. 標記 T-SQL 程式碼的非支援 Fabric 語法 (預存程序、函式、檢視)。

對於以下人員而言,為絕佳選項:

  • 熟悉 T-SQL。
  • 想要使用整合式開發環境,例如 SQL Server Management Studio (SSMS)。
  • 想要更細微地控制他們想要處理的工作。

您可以執行結構描述 (DDL) 轉換、資料擷取或 T-SQL 程式碼評定的特定預存程序。

對於資料移轉,您需要使用 COPY INTO 或 Data Factory 將資料內嵌至 Fabric Warehouse。

使用 SQL 資料庫專案移轉

Azure Data StudioVisual Studio Code 內提供的 SQL 資料庫專案延伸項目支援 Microsoft Fabric 資料倉儲。

此延伸項目可於 Azure Data Studio 和 Visual Studio Code 內取得。 此功能可啟用原始檔控制、資料庫測試和結構描述驗證的功能。

如需有關 Microsoft Fabric 中倉儲的原始檔控制的詳細資訊,包括 Git 整合和部署管線,請參閱使用 Warehouse 進行原始檔控制

對於偏好使用 SQL 資料庫專案進行部署的人員來說,這是一個絕佳選項。 此選項基本上已將 Fabric 移轉預存程序整合到 SQL 資料庫專案中,以提供順暢移轉體驗。

SQL 資料庫專案可以:

  1. 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
  2. 在 Fabric Warehouse 上建立結構描述 (DDL)。
  3. 將資料從 Synapse 專用 SQL 集區擷取至 ADLS。
  4. 標記 T-SQL 程式碼的非支援語法 (預存程序、函式、檢視)。

對於資料移轉,您會使用 COPY INTO 或 Data Factory 將資料內嵌至 Fabric Warehouse。

為新增 Azure Data Studio 對 Fabric 的支援性,Microsoft Fabric CAT 團隊提供了一組 PowerShell 指令碼,可透過 SQL 資料庫專案來處理結構描述 (DDL) 和資料庫程式碼 (DML) 的擷取、建立和部署。 如需搭配使用 SQL 資料庫專案與實用 PowerShell 指令碼的逐步解說,請參閱 GitHub.com 上的 microsoft/fabric-migration

如需有關 SQL 資料庫專案的詳細資訊,請參閱開始使用 SQL Database Projects 延伸項目建置和發佈專案

使用 CETAS 移轉資料

T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) 命令提供最符合成本效益的最佳方法,可將資料從 Synapse 專用 SQL 集區擷取至 Azure Data Lake Storage (ADLS) Gen2。

CETAS 可以執行的動作:

  • 將資料擷取至 ADLS。
    • 此選項需要使用者在 Fabric Warehouse 上建立結構描述 (DDL),之後才能內嵌資料。 考慮本文中的選項,以移轉結構描述 (DDL)。

此選項的優點是:

  • 每個資料表僅會針對來源 Synapse 專用 SQL 集區提交單一查詢。 這不會用盡所有並行位置,因此不會封鎖並行客戶生產 ETL/查詢。
  • 不需要調整為 DWU6000,因為每個資料表僅會使用單一並行位置,因此客戶可以使用較低的 DWU。
  • 擷取會跨所有計算節點平行執行,而這是效能改進的關鍵。

使用 CETAS 將資料做為 Parquet 檔案擷取至 ADLS。 Parquet 檔案藉助單欄式壓縮提供有效率的資料儲存體優勢,只需較少的頻寬即可跨網路移動。 此外,由於 Fabric 會將資料儲存為 Delta Parquet 格式,因此相較於文字檔格式,資料擷取速度會快 2.5 倍,因為擷取期間不會有轉換為 Delta 格式的額外負荷。

若要增加 CETAS 輸送量:

  • 新增平行 CETAS 作業,增加使用的並行位置,但允許更多輸送量。
  • 調整 Synapse 專用 SQL 集區上的 DWU。

透過 dbt 移轉

在本節中,我們會針對已在目前 Synapse 專用 SQL 集區環境中使用 dbt 的客戶討論 dbt 選項。

dbt 可以執行的動作:

  1. 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
  2. 在 Fabric Warehouse 上建立結構描述 (DDL)。
  3. 將資料庫程式碼 (DML) 轉換為 Fabric 語法。

dbt 架構會在每次執行時,即時產生 DDL 和 DML (SQL 指令碼)。 使用以 SELECT 陳述式表示的模型檔案,DDL/DML 可以藉由變更設定檔 (連接字串) 和配接器類型,立即轉譯為任何目標平台。

dbt 架構是 Code First 方法。 必須使用本文件中所列的選項來移轉資料,例如 CETASCOPY/Data Factory

適用於 Microsoft Fabric Synapse 資料倉儲的 dbt 配接器,可讓以不同平台 (例如 Synapse 專用 SQL 集區、Snowflake、Databricks、Google Big Query 或 Amazon Redshift) 為目標的現有 dbt 專案移轉至具有簡單組態變更的 Fabric Warehouse。

若要開始使用以 Fabric Warehouse 為目標的 dbt 專案,請參閱教學課程:設定適用於 Fabric 資料倉儲的 dbt。 本文件還會列出在不同倉儲/平台之間移動的選項。

資料擷取至 Fabric Warehouse

若要擷取至 Fabric Warehouse,請使用 COPY INTO 或 Fabric Data Factory,視您的喜好設定而定。 這兩種方法都是建議且效能最佳的選項,因為它們具有對等的效能輸送量,前提是檔案已擷取至 Azure Data Lake Storage (ADLS) Gen2。

需要注意的幾個因素,讓您可以設計流程以達到最大效能:

  • 若使用 Fabric,將多個資料表從 ADLS 同時載入至 Fabric Warehouse 時,沒有任何資源爭用。 因此,載入平行執行緒時,效能不會降低。 最大擷取輸送量僅會受限於 Fabric 容量的計算能力。
  • Fabric 工作負載管理會提供配置給載入和查詢的資源區隔。 查詢和資料載入同時執行時,不會有任何資源爭用。