此參考架構概述在現代化至 Azure 期間複寫和同步資料的實作計畫。 它討論資料存放區、工具和服務等技術層面。
架構
工作流程
大型主機和中層系統會定期更新內部部署應用程式資料庫。 為了維持一致性,解決方案會與 Azure 資料庫同步處理最新的資料。 同步處理常式牽涉到下列步驟:
這些動作會在整個程式中執行:
- 內部部署資料閘道會在內部部署系統和 Azure 服務之間快速且安全地傳輸資料。 透過此設定,內部部署資料閘道可以接收來自 Azure 的指示並複寫資料,而不需要內部部署網路直接公開本機資料資產。
- Azure Data Factory 管線會協調從資料擷取到資料載入的活動。 您可以排程管線活動、手動啟動活動,或自動觸發它們。
像是 Db2 zOS、Db2 for i 和 Db2 LUW 等內部部署資料庫會儲存資料。
管線會將執行工作的活動分組。 為了擷取資料,Data Factory 會根據內部部署資料表動態建立一個管線。 接著,您可以在 Azure 中複寫資料時使用大量平行實作。 但您也可以設定解決方案以符合您的需求:
- 完整複寫:您可以複寫整個資料庫,對目標 Azure 資料庫中的資料類型和欄位進行必要的修改。
- 部分、差異或累加式複寫:您可以使用 來源資料表中的浮水印資料行 來同步處理已更新的資料列與 Azure 資料庫。 這些資料行包含持續遞增的索引鍵,或指出資料表上次更新的時間戳記。
Data Factory 也會使用管線來執行下列轉換工作:
- 資料型別轉換
- 資料操作
- 資料格式設定
- 資料行衍生
- 資料扁平化
- 資料排序
- 資料篩選
自我裝載整合執行時間 (IR) 提供 Data Factory 用來執行和分派活動的環境。
Azure Data Lake 儲存體 Gen2 和 Azure Blob 儲存體提供資料預備的位置。 有時需要此步驟,才能轉換和合併多個來源的資料。
接下來會進行資料準備。 Data Factory 會使用 Azure Databricks、自訂活動和管線資料流程,以快速且有效地轉換資料。
Data Factory 會將資料載入關聯式和非關聯式 Azure 資料庫:
- Azure SQL
- 適用於 PostgreSQL 的 Azure 資料庫
- Azure Cosmos DB
- Azure Data Lake Storage
- 適用於 MariaDB 的 Azure 資料庫
- 適用於 MySQL 的 Azure 資料庫
在某些使用案例中,其他工具也可以載入資料。
其他工具也可以複寫和轉換資料:
- 適用于分散式關係資料庫架構的 Microsoft 服務(DRDA):這些 DRDA 服務可以連線到 Azure SQL 系列資料庫,並將內部部署資料庫保持在最新狀態。 這些服務會在內部部署虛擬機器(VM)或 Azure VM 上執行。
- Db2 的 SQL Server 移轉協助 (SSMA):此工具會將架構和資料從 IBM Db2 資料庫移轉至 Azure 資料庫。
- SQL Server Integration Services (SSIS):此平臺可以擷取、轉換及載入資料。
- 協力廠商工具:當解決方案需要近乎即時的複寫時,您可以使用協力廠商工具。 其中有些代理程式可在 Azure Marketplace 中使用 。
Azure Synapse Analytics 會管理資料,並將其提供給商業智慧和機器學習應用程式使用。
元件
解決方案會使用下列元件:
工具
適用于 DRDA 的 Microsoft 服務是主機整合伺服器 (HIS) 的 元件。 適用于 DRDA 的 Microsoft 服務是 DRDA 應用程式要求者 (AR) 用戶端所使用的應用程式伺服器 (AS)。 DRDA AR 用戶端的範例包括 IBM Db2 for z/OS 和 Db2 for i5/OS。 這些用戶端會使用 AS 來轉換 Db2 SQL 語句,並在 SQL Server 上執行它們。
SSMA for Db2 會自動從 Db2 移轉至 Microsoft 資料庫服務。 在 VM 上執行時,此工具會將 Db2 資料庫物件轉換成 SQL Server 資料庫物件,並在 SQL Server 中建立這些物件。 SSMA for Db2 接著會將資料從 Db2 遷移至下列服務:
- SQL Server 2012
- SQL Server 2014
- SQL Server 2016
- Windows 及 Linux 上的 SQL Server 2017
- Windows 和 Linux 上的 SQL Server 2019
- Azure SQL Database
Azure Synapse Analytics 是適用于資料倉儲和巨量資料系統的分析服務。 此工具使用 Spark 技術,並與 Power BI、Azure 機器學習 和其他 Azure 服務深入整合。
資料整合者
Azure Data Factory 是混合式資料整合服務。 您可以使用這個完全受控、無伺服器的解決方案來建立、排程及協調 ETL 和 ELT 工作流程。
Azure Synapse Analytics 是一項企業分析服務,可加速跨資料倉儲和巨量資料系統的深入解析時間。 Azure Synapse 彙集了最佳 SQL 技術(用於企業資料倉儲)、用於巨量資料的 Spark 技術、用於記錄和時間序列分析的資料總管、用於資料整合的管線和 ETL/ELT,以及與其他 Azure 服務深入整合,例如 Power BI、Azure Cosmos DB 和 Azure 機器學習。
SQL Server Integration Services (SSIS) 是建置企業級資料整合和轉換解決方案的平臺。 您可以使用 SSIS 來管理、複寫、清理和採礦資料。
Azure Databricks 是資料分析平臺。 根據 Apache Spark 開放原始碼分散式處理系統,Azure Databricks 已針對 Azure 雲端平臺進行優化。 在分析工作流程中,Azure Databricks 會從多個來源讀取資料,並使用 Spark 來提供深入解析。
資料存放區
Azure SQL 資料庫 是 Azure SQL 系列的一 部分,專為雲端所建置。 此服務提供完全受控且常綠平臺即服務的所有優點。 SQL 資料庫也提供 AI 支援的自動化功能,以優化效能和持久性。 無伺服器計算和 超大規模資料庫儲存體選項 會自動視需要調整資源。
SQL 受管理執行個體 是 Azure SQL 服務組合的一部分。 此智慧型、可擴充的雲端資料庫服務結合了最廣泛的 SQL Server 引擎相容性,以及完全受控且常青平臺即服務的所有優點。 透過SQL 受管理執行個體,您可以大規模地將現有的應用程式現代化。
Azure VM 上的 SQL Server 提供將 SQL Server 工作負載隨即轉移至雲端的方式,其程式碼相容性為 100%。 作為 Azure SQL 系列的一部分,Azure VM 上的 SQL Server 提供 SQL Server 的結合效能、安全性和分析,以及 Azure 的彈性和混合式連線能力。 使用 Azure VM 上的 SQL Server,您可以移轉現有的應用程式或建置新的應用程式。 您也可以存取最新的 SQL Server 更新和版本,包括 SQL Server 2019。
適用於 PostgreSQL 的 Azure 資料庫 是以開放原始 碼 PostgreSQL 資料庫引擎社群版本為基礎的完全受控關係資料庫服務。 透過這項服務,您可以專注于應用程式創新,而不是資料庫管理。 您也可以快速輕鬆地調整工作負載。
Azure Cosmos DB 是全域散發的多 模型 資料庫。 使用 Azure Cosmos DB,您的解決方案可以彈性且獨立地跨任意數目的地理區域調整輸送量和儲存體。 這個完全受控 的 NoSQL 資料庫服務保證世界上任何位置 909 個百分位數的單一位數毫秒延遲。
Data Lake 儲存體 是儲存其原生原始格式大量資料的儲存體存放庫。 Data Lake 存放區已針對調整為數 TB 和 PB 的資料進行優化。 資料通常來自多個異質來源,而且可能結構化、半結構化或非結構化。 Data Lake 儲存體 Gen2 結合 Data Lake 儲存體 Gen1 功能與 Blob 儲存體。 這個新一代 Data Lake 解決方案提供檔案系統語意、檔案層級安全性和規模。 但它也提供 Blob 儲存體的階層式儲存體、高可用性和災害復原功能。
適用於 MariaDB 的 Azure 資料庫是雲端式關係資料庫服務。 此服務是以 MariaDB 社群版本資料庫引擎為基礎 。
適用於 MySQL 的 Azure 資料庫是以開放原始碼 MySQL 資料庫引擎 社群版本為基礎的 完全受控關係資料庫服務。
Blob 儲存體 提供優化的雲端物件儲存體,可管理大量的非結構化資料。
網路
內部部署資料閘道 可作為將內部部署資料與雲端服務連線的橋接器。 一般而言,您會 在專用的內部部署 VM 上安裝閘道。 接著,雲端服務就可以安全地使用內部部署資料。
IR 是 Data Factory 用來跨不同網路環境整合資料的計算基礎結構。 Data Factory 會使用 自我裝載的 IR ,在雲端資料存放區和內部部署網路中的資料存放區之間複製資料。 您也可以使用 Azure Synapse Pipelines 。
案例詳細資料
資料可用性和完整性在大型主機和中型現代化中扮演著重要角色。 資料優先策略 有助於在移轉至 Azure 期間維持資料不變且可供使用。 為了避免在現代化期間影響應用程式,有時您需要快速複寫資料,或讓內部部署資料與 Azure 資料庫保持同步。
具體而言,此解決方案涵蓋:
- 擷取:連線從源資料庫擷取和擷取。
- 轉型:
- 預備:暫時以原始格式儲存資料,並準備進行轉換。
- 準備:使用符合目標資料庫需求的對應規則來轉換和運算元據。
- 載入:將資料插入目標資料庫。
潛在的使用案例
可受益于此解決方案的資料複寫和同步案例包括:
- 使用 Azure 來服務所有查詢通道的命令查詢責任隔離 (CQRS) 架構。
- 以平行的方式測試內部部署應用程式和重新裝載或重新設計應用程式的環境。
- 具有需要階段式補救或現代化之緊密結合應用程式的內部部署系統。
建議
當您使用 Data Factory 來擷取資料時,請採取步驟來 調整複製活動的 效能。
考量
這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework 。
考慮此架構時,請記住這些要點。
可靠性
可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性要素 概觀。
基礎結構管理,包括 可用性 ,會在 Azure 資料庫中自動化。
如需 Microsoft Service for DRDA 所提供的容錯移轉保護相關資訊,請參閱 共用和容錯移轉 。
您可以將內部部署資料閘道和 IR 叢集,以提供更高的可用性保證。
安全性
安全性可提供針對蓄意攻擊和濫用寶貴資料和系統的保證。 如需詳細資訊,請參閱 安全性要素 概觀。
利用 網路安全性群組 ,將服務的存取限制為僅需要運作的服務。
針對 PaaS(平臺即服務)服務使用 私人端點 。 使用服務防火牆來補充服務的安全性,這些服務可透過網際網路連線且無法連線。
請注意內部部署用戶端身分識別與 Azure 中的用戶端身分識別之間的差異。 您必須補償任何差異。
針對元件對元件資料流程使用受控識別。
請參閱 使用 Microsoft Service for DRDA 規劃及架構解決方案,以瞭解 Microsoft Service for DRDA 支援的用戶端連線類型。 用戶端連線會影響網路上交易、共用、容錯移轉、驗證和加密的性質。
成本最佳化
成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素 概觀。
定價模式會因元件服務而異。 檢閱可用元件服務的定價模式,以確保定價模型符合您的預算。
使用 Azure 定價計算機 來預估實作此解決方案的成本。
卓越營運
卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 營運卓越支柱 概觀。
基礎結構管理,包括 延展性 ,會在 Azure 資料庫中自動化。
您可以叢集內部部署資料閘道和 IR,以取得延展性。
效能效益
效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率要素概觀 。
下一步
- 如需詳細資訊,請連絡 Azure 資料工程師ing - 內部部署現代化 。
- 閱讀移 轉指南 。
相關資源
- [Azure 資料架構指南][Azure 資料架構指南]
- Azure 資料平臺端對端