分享方式:


使用 Azure Data Factory 將資料從內部部署 Netezza 伺服器移轉至 Azure

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

Azure Data Factory 提供高效能、健全且符合成本效益的機制,可將資料大規模從內部部署 Netezza 伺服器移轉至 Azure 儲存體帳戶或 Azure Synapse Analytics 資料庫。

本文為資料工程師和開發人員提供下列資訊:

  • 效能
  • 複本恢復功能
  • 網路安全性
  • 高階解決方案架構
  • 實作最佳做法

效能

Azure Data Factory 提供無伺服器架構,允許各種層級的平行處理原則。 如果您是開發人員,這表示您可以建置管線,以完全使用網路和資料庫頻寬,以將環境的資料移動輸送量最大化。

Performance diagram

上圖可解譯為如下:

  • 單一複製活動可以利用可調整的計算資源。 當您使用 Azure Integration Runtime 時,可以無伺服器方式為每個複製活動指定最多 256 個 DIU。 透過自我裝載整合執行階段 (自我裝載 IR),您可以手動擴大電腦或擴增至多部電腦 (最多四個節點),且單一複製活動會將其分割區分散到所有節點。

  • 單一複製活動會使用多個執行緒來從資料存放區讀取和寫入至資料存放區。

  • Azure Data Factory 控制流程可以平行開始多個複製活動。 例如,可以使用 For Each 迴圈來啟動它們。

如需詳細資訊,請參閱複製活動效能和可擴縮性指南

復原能力

在單一複製活動執行內,Azure Data Factory 具備內建的重試機制,其使得它可處理資料存放區或基礎網路中特定層級的暫時性失敗。

使用 Azure Data Factory 複製活動時,當您在來源和接收器資料存放區之間複製資料時,有兩種方式可以處理不相容的資料列。 您可以中止並讓複製活動失敗,或略過不相容的資料列,以繼續複製其餘的資料。 此外,若要了解失敗的原因,您可以在 Azure Blob 儲存體或 Azure Data Lake Store 中記錄不相容的資料列、修正資料來源上的資料,然後重試複製活動。

網路安全性

依預設,Azure Data Factory 會透過使用超文字傳輸通訊協定安全 (HTTPS) 加密的連線,將資料從內部部署 Netezza 伺服器傳輸到 Azure 儲存體帳戶或 Azure Synapse Analytics 資料庫。 HTTPS 會提供傳輸中的資料加密,並可防止竊聽和中間人攻擊。

或者,若您不希望透過公用網際網路傳輸資料,則可透過 Azure Express Route 的私人對等互連連結來傳輸資料,以協助達成更高的安全性。

下一節將討論如何達到更高的安全性。

解決方案架構

本節討論移轉資料的兩種方式。

透過公用網際網路移轉資料

Migrate data over the public internet

上圖可解譯為如下:

  • 在此架構中,您會透過公用網際網路使用 HTTPS 安全地傳輸資料。

  • 若要達成此架構,您必須在公司防火牆後方的 Windows 電腦上安裝 Azure Data Factory 整合執行階段 (自我裝載)。 確定此整合執行階段可以直接存取 Netezza 伺服器。 若要完全使用您的網路和資料存放區頻寬來複製資料,您可以手動擴大電腦或擴增至多個電腦。

  • 藉由使用此架構,您可以移轉初始快照集資料和差異資料。

透過私人網路移轉資料

Migrate data over a private network

上圖可解譯為如下:

  • 在此架構中,您會透過 Azure Express Route 經由私人對等互連連結來移轉資料,而資料永遠不會透過公用網際網路周遊。

  • 若要達到此架構,您必須在 Azure 虛擬網路內的 Windows 虛擬機器 (VM) 上安裝 Azure Data Factory 整合執行階段 (自我裝載)。 若要完全使用您的網路和資料存放區頻寬來複製資料,您可以手動擴大 VM 或擴增至多個 VM。

  • 藉由使用此架構,您可以移轉初始快照集資料和差異資料。

實作最佳做法

管理驗證和認證

移轉初始快照集資料

對於小型資料表 (也就是說,量少於 100 GB 或可在兩小時內移轉至 Azure 的資料表),您可以讓每個複製作業載入每個資料表的資料。 若要獲得更高的輸送量,您可以執行多個 Azure Data Factory 複製作業,以並時載入個別資料表。

在每個複製作業中,若要依分割區執行平行查詢和複製資料,您也可以使用 parallelCopies 屬性設定搭配下列其中一個分割區選項來達到某個層級的平行處理原則:

  • 為了協助提升效率,我們鼓勵您從資料配量開始。 請確定 parallelCopies 設定中的值小於 Netezza 伺服器上資料表中資料配量分割區的總數。

  • 如果每個資料配量分割區的量仍很大 (例如,10 GB 或更大),建議您切換至動態範圍分割區。 此選項可讓您更彈性地依分割區資料行、上限和下限定義分割區數目和每個分割區的量。

對於較大型資料表 (也就是說,量為 100 GB 或更大或無法在兩小時內移轉至 Azure 的資料表),建議您依自訂查詢分割資料,然後一次讓一個複製作業複製一個分割區。 為了獲得更好的輸送量,您可以並時執行多個 Azure Data Factory 複製作業。 針對依自訂查詢載入一個分割區的每個複製作業目標,您可以透過資料配量或動態範圍啟用平行處理原則來增加輸送量。

如果因為網路或資料存放區暫時性的問題而導致複製作業失敗,則可重新執行失敗的複製作業來從資料表重新載入該特定分割區。 載入其他分割區的其他複製作業不會受影響。

當您將資料載入至 Azure Synapse Analytics 資料庫,建議您在複製作業內啟用 PolyBase,並使用 Azure Blob 儲存體作為暫存。

移轉差異資料

若要識別來自您的資料表的新的或更新的資料列,請使用時間戳資料行或結構描述中的遞增索引鍵。 然後您便可以將最新的值在外部資料表中儲存為高水位線,然後在下次載入資料時使用它來篩選差異資料。

每個資料表都可以使用不同的水位線資料行來識別其新的或更新的資料列。 建議您建立外部控制項資料表。 在資料表中,每個資料列都代表 Netezza 伺服器上的一個資料表,其特定的水位線資料行名稱和高水位線值。

設定自我裝載整合執行階段

如果您要將資料從 Netezza 伺服器移轉至 Azure,不論伺服器是內部部署在公司防火牆後方或虛擬網路環境內,您都需要在 Windows 電腦或 VM 上安裝自我裝載 IR,其為用來移動資料的引擎。 安裝自我裝載 IR 時,建議使用下列方法:

  • 針對每個 Windows 電腦或 VM,請從 32 個 vCPU 和 128 GB 記憶體的設定開始。 您可以在資料移轉期間持續監視 IR 電腦的 CPU 和記憶體使用率,以查看是否需要進一步地擴大電腦以改善效能,或縮小電腦以節省成本。

  • 您也可以將單一自我裝載 IR 與最多四個 VM 節點建立關聯,以進行擴增。 對自我裝載 IR 執行的單一複製工作會自動套用所有 VM 節點,以平行複製資料。 為取得高可用性,請從四個 VM 節點開始,以避免資料移轉期間的單一失敗點。

限制您的分割區

最佳做法是使用代表性的範例資料集進行效能概念證明 (POC),使得您可以為每個複製活動判斷適當的分割區大小。 建議您在兩小時內將每個分割區載入至 Azure。

若要複製資料表,請從具有單一自我裝載 IR 電腦的單一複製活動開始。 根據資料表中的資料配量分割區數目,逐漸增加 parallelCopies 設定。 根據複製作業所產生的輸送量,查看整個資料表是否可以在兩小時內載入至 Azure。

如果無法在兩小時內載入至 Azure,且自我裝載 IR 節點和資料存放區的容量並未完全使用,請逐漸增加並行複製活動的數目,直到達到網路限制或資料存放區的頻寬限制為止。

持續監視自我裝載 IR 電腦上的 CPU 和記憶體使用量,並準備好在看到 CPU 和記憶體已完全使用時擴大電腦或擴增至多部電腦。

當您遇到節流錯誤時,如 Azure Data Factory 複製活動所報告,請減少 Azure Data Factory 中的並行或 parallelCopies 設定,或考慮增加網路和資料存放區的頻寬或每秒 I/O 作業 (IOPS) 限制。

預估您的定價

考慮下列管線,其建構為將資料從內部部署 Netezza 伺服器移轉至 Azure Synapse Analytics 資料庫:

The pricing pipeline

假設下列陳述成立:

  • 資料量總計為 50 TB。

  • 我們會使用第一個解決方案架構 (Netezza 伺服器為內部部署,位於防火牆後方) 來移轉資料。

  • 50 TB 量分成 500 個分割區,而每個複製活動都會移動一個分割區。

  • 每個複製活動都會針對四部電腦設定一個自我裝載 IR,並達到每秒 20 MB (MBps) 的輸送量。 (在複製活動內,parallelCopies 會設定為 4,而從資料表載入資料的每個執行緒會達到 5 MBps 輸送量。)

  • ForEach 並行設定為 3,彙總輸送量為 60 MBps。

  • 總計需要耗費 243 小時來完成移轉。

根據上述假設,以下是預估價格:

The pricing table

注意

上表所示的定價是假設性的。 實際定價取決於環境中的實際輸送量。 不包含 Windows 電腦 (安裝自我裝載 IR) 的價格。

其他參考

如需詳細資訊,請參閱下列文章和指南: