你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
此示例体系结构概述了在现代化期间将数据复制和同步到 Azure 的实施计划。 它描述了数据存储、工具和服务等技术方面。
建筑
下载此体系结构的 Visio 文件。
Workflow
以下工作流与上图相对应:
大型机和中型机系统会定期更新本地应用程序数据库。 为了保持一致性,此解决方案将最新数据与 Azure 数据库同步。 同步过程包括以下步骤。
Azure 数据工厂动态管道协调从数据提取到数据加载的活动。 您可以计划管道活动、手动启动管道活动或自动触发管道活动。
管道对执行任务的活动进行分组。 为了提取数据,Azure 数据工厂会为每个本地表动态创建一个管道。 然后,在 Azure 中复制数据时,可以使用大规模并行实现。 您还可以配置解决方案以满足您的要求:
完全复制: 您可以复制整个数据库,并对目标 Azure 数据库中的数据类型和字段进行必要的修改。
部分复制、差异复制或增量复制: 您可以使用源表中的水印列将更新的行同步到 Azure 数据库。 这些列包含持续递增的键或指示表上次更新的时间戳。
Azure 数据工厂还使用管道执行以下转换任务:
- 数据类型转换
- 数据处理
- 数据格式
- 列派生
- 数据平展
- 数据排序
- 数据筛选
Db2 zOS、Db2 for i 和 Db2 LUW 等本地数据库存储应用程序数据。
自承载集成运行时 (IR) 提供 Azure 数据工厂用于运行和调度活动的环境。
Azure Data Lake Storage Gen2 和 Azure Blob 存储暂存数据。 有时需要此步骤来转换和合并来自多个源的数据。
对于数据准备,Azure 数据工厂使用 Azure Databricks、自定义活动和管道数据流来快速有效地转换数据。
Azure 数据工厂将数据加载到以下关系和非关系 Azure 数据库中:
- Azure SQL
- Azure Database for PostgreSQL
- Azure Cosmos DB
- Azure Data Lake Storage
- Azure Database for MySQL
SQL Server Integration Services (SSIS) 提取、转换和加载数据。
本地数据网关是本地安装的 Windows 客户端应用程序,充当本地本地数据源和 Azure 服务之间的桥梁。
Microsoft Fabric 中的数据管道是执行从 Db2 到 Azure 存储和数据库的数据引入的活动的逻辑分组。
如果解决方案需要近乎实时的复制,则可以使用非 Microsoft 工具。
组件
本节介绍在数据现代化、同步和集成期间可以使用的其他工具。
数据集成商
Azure 数据工厂 是混合数据集成服务。 您可以使用这种完全托管的无服务器解决方案来创建、计划和编排提取、转换和加载 (ETL) 工作流以及提取、加载和转换 (ELT) 工作流。
Microsoft Fabric是一个企业分析平台,可加快从数据工程、数据仓库、数据集成、实时分析和商业智能中获得见解的速度。 它作为 SaaS 解决方案提供,并在 OneLake 中集中存储。 Microsoft Fabric结合了以下技术和服务:
SQL 技术适用于企业数据仓库可在Fabric Data Warehouse中使用,这是一种基于开放 Delta 格式的托管事务(ACID)仓库。
大规模数据工程和机器学习 由具有内置 Spark 功能 的数据工程(Lakehouse + 笔记本) 提供。
近实时由实时智能使用 Eventhouse (KQL) 和 Eventstream处理。
ETL/ELT 工作流通过 Fabric 中的 Data Factory 实现,包括 pipelines、数据流 Gen2 和一组广泛的 连接器,并支持混合/本地网关。
Fabric与Power BI以及Azure服务(如Azure Cosmos DB和Azure机器学习)实现了原生集成。
SSIS 是一个用于构建企业级数据集成和转换解决方案的平台。 您可以使用 SSIS 来管理、复制、清理和挖掘数据。
Azure Databricks 是一个数据分析平台。 它基于 Apache Spark 开源分布式处理系统,并针对 Azure 云平台进行了优化。 在分析工作流中,Azure Databricks 从多个源读取数据,并使用 Spark 提供见解。
数据存储
Azure SQL 数据库 是 Azure SQL 系列的一部分,专为云而构建。 此服务提供了完全托管且自动更新的平台即服务(PaaS)所带来的优势。 SQL 数据库还提供 AI 驱动的自动化功能,可优化性能和持久性。 无服务器计算和 超大规模存储选项 可按需自动扩展资源。
Azure SQL 托管实例 是 Azure SQL 服务组合的一部分。 这种智能且可扩展的云数据库服务将最广泛的 SQL Server 引擎兼容性与完全托管的常青 PaaS 的所有优势相结合。 使用 SQL 托管实例大规模实现现有应用的现代化。
Azure 虚拟机上的 SQL Server 提供了一种将 SQL Server 工作负载直接迁移到云的方法,并且具有完全的代码兼容性。 作为 Azure SQL 系列的一部分,Azure 虚拟机上的 SQL Server 提供 SQL Server 的组合性能、安全性和分析,以及 Azure 的灵活性和混合连接。 使用 Azure 虚拟机上的 SQL Server 迁移现有应用或构建新应用。 您还可以访问最新的 SQL Server 更新和版本,包括 SQL Server 2019。
Azure Database for PostgreSQL 是一种完全托管的关系数据库服务,它基于开源 PostgreSQL 数据库引擎的社区版本。 使用此服务可以专注于应用程序创新,而不是数据库管理。 还可以根据需要缩放工作负荷。
Azure Cosmos DB 是一个全球分布式 的多模型 数据库。 使用 Azure Cosmos DB 确保解决方案可以跨任意数量的地理区域弹性且独立地缩放吞吐量和存储。 这项完全托管的 NoSQL 数据库服务可保证全球任何地方的个位数毫秒延迟在第 99 个百分位内。
Data Lake Storage 是一个存储库,它以本机原始格式保存大量数据。 Data Lake Store 经过优化,可扩展到 TB 和 PB 级数据。 数据通常来自多个异构来源,可以是结构化、半结构化或非结构化的。 Data Lake Storage Gen2 将 Data Lake Storage Gen1 功能与 Blob 存储相结合。 这种下一代数据湖解决方案提供文件系统语义、文件级安全性和规模。 它还提供 Blob 存储的分层存储、高可用性和灾难恢复功能。
Azure Database for MySQL 是一种完全托管的关系数据库服务,它基于 开源 MySQL 数据库引擎的社区版本。
其他工具
适用于分布式关系数据库体系结构 (DRDA) 的 Microsoft 服务 是 Host Integration Server 的一个组件。 Microsoft 服务 for DRDA 是 DRDA 应用程序请求者 (AR) 客户端使用的应用程序服务器。 DRDA AR 客户端的示例包括 IBM Db2 for z/OS 和 Db2 for i5/OS。 这些客户机使用应用程序服务器来转换 Db2 SQL 语句并在 SQL Server 上运行它们。
适用于 Db2 的 SQL Server 迁移助手自动从 Db2 迁移到Microsoft数据库服务。 此工具在虚拟机上运行。 它将 Db2 数据库对象转换为 SQL Server 数据库对象,并在 SQL 中创建这些对象。
方案详细信息
数据可用性和完整性在大型机和中型机现代化中至关重要。 数据优先策略 有助于在迁移到 Azure 期间保持数据完整和可用。 为了防止在现代化过程中出现中断,有时需要快速复制数据或使本地数据与 Azure 数据库保持同步。
具体而言,该解决方案涵盖:
提取:连接到源数据库并从中提取数据。
转型:
暂存:以原始格式临时存储数据,并准备进行转换。
准备:使用满足目标数据库要求的映射规则转换和处理数据。
加载中:将数据插入目标数据库。
可能的用例
可从此解决方案中受益的数据复制和同步方案包括:
命令查询责任分离体系结构,使用 Azure 为所有查询通道提供服务。
并行测试本地应用程序以及重新托管或重新设计的应用程序的环境。
具有需要分阶段修复或现代化的紧密耦合应用程序的本地系统。
建议
您可以将以下建议应用于大多数场景。 除非有优先于这些建议的特定要求,否则请遵循这些建议。
使用 Azure 数据工厂提取数据时,请采取措施 来优化复制活动的性能。 使用Microsoft Fabric数据工厂提取数据时,请应用建议的做法来优化管道性能,例如优化并行度、批大小和连接器设置。 有关指导,请参阅 Fabric 数据工厂管道概述和 Fabric 连接器概述。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改进工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure Well-Architected Framework。
可靠性
可靠性有助于确保应用程序能够履行对客户的承诺。 有关详细信息,请参阅可靠性设计评审核对清单。
基础结构管理(包括 可用性)在 Azure 数据库中自动进行。
有关用于 DRDA 故障转移保护的 Microsoft 服务的信息,请参阅 池化和故障转移。
您可以对本地数据网关和 IR 进行集群化,以提供更高的可用性保证。
安全性
安全性提供了防止故意攻击和误用您宝贵数据及系统的保障。 有关详细信息,请参阅可靠性设计审查检查表。
使用 网络安全组 将访问权限限制为仅访问每个服务所需的功能。
将 专用终结点 用于 PaaS 服务。 使用可通过 Internet 访问和无法访问的服务防火墙来补充服务的安全性。
使用托管身份用于组件间的数据流。
有关 Microsoft 服务 for DRDA 支持的客户端连接类型的信息,请参阅 使用 Microsoft 服务 for DRDA 规划和构建解决方案。 客户端连接会影响网络上事务、池化、故障转移、身份验证和加密的性质。
成本优化
成本优化侧重于减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅成本优化设计评审核对清单。
定价模式因组件服务而异。 查看可用组件服务的定价模型,以确保它们符合您的预算。
要估计此解决方案的实现成本,请使用 Azure 定价计算器。
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅设计卓越运营的审查清单。
基础结构管理(包括 可伸缩性)在 Azure 数据库中自动执行。
通过将逻辑实例与活动-活动模式下的多台本地服务器相关联,可以横向扩展自托管 IR。
性能效率
性能效率是指工作负荷能够高效地缩放以满足用户需求。 有关详细信息,请参阅性能效率设计评审核对清单。
如果您的实现使用大量带宽进行初始复制或正在进行的更改数据复制,请考虑将 Azure ExpressRoute 作为大规模选项。
为您的场景选择正确的 IR 配置 。
贡献者:
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- 罗德里戈·罗德里格斯 |高级云解决方案架构师 AI 和 Quantum
若要查看非公开的领英个人资料,请登录领英。
后续步骤
- 有关详细信息,请联系 Azure 数据工程 - 本地现代化 。
- 阅读 迁移指南。