此示例体系结构概述了在向 Azure 现代化过程中复制和同步数据的实施计划。 它讨论数据存储、工具和服务等技术问题。
体系结构
下载此体系结构的 Visio 文件。
工作流
大型机和中型机系统会定期更新内部应用程序数据库。 为了保持一致性,解决方案将最新数据与 Azure 数据库同步。 同步过程涉及以下步骤:
Azure 数据工厂动态管道可协调从数据提取到数据加载的各种活动。 可以计划管道活动、手动启动或自动触发它们。
管道将执行任务的活动分组。 为了提取数据,数据工厂会为每个本地表动态地创建一个管道。 然后,可以在 Azure 中复制数据时使用大规模并行实现。 还可以对解决方案进行配置,以满足你的要求:
- 完全复制:复制整个数据库,并对目标 Azure 数据库中的数据类型和字段进行必要的修改。
- 部分复制、增量复制:可以使用源表中的水印列与 Azure 数据库同步更新的行。 这些列要么包含一个连续递增的键,要么包含一个表示该表最后一次更新的时间戳。
数据工厂还使用管道转换以下任务:
- 数据类型转换
- 数据操作
- 数据格式设置
- 列派生
- 数据平展
- 数据排序
- 数据筛选
本地数据库(如 Db2 zOS、Db2 for i 和 Db2 LUW)存储应用程序数据。
自托管集成运行时 (SHIR) 提供数据工厂用于运行和调度活动的环境。
Azure Data Lake Storage Gen2 和 Azure Blob 存储为数据暂存提供位置。 有时需要通过这一步骤来转换和合并来自多个来源的数据。
在数据准备方面,数据工厂使用 Azure Databricks、自定义活动和管道数据流来快速有效地转换数据。
数据工厂将数据加载到以下关系和非关系 Azure 数据库:
- Azure SQL
- Azure Database for PostgreSQL
- Azure Cosmos DB
- Azure Data Lake Storage
- Azure Database for MySQL
SQL Server Integration Services (SSIS):此平台可以提取、转换和加载数据。
非 Microsoft 工具:当解决方案需要近乎实时的复制时,可以使用非 Microsoft 工具。
组件
本部分将介绍在数据现代化、同步和集成过程中可以使用的其他工具。
工具
适用于分布式关系数据库体系结构(DRDA)的 Microsoft 服务是主机集成服务器 (HIS) 的一个组件。 Microsoft Service for DRDA 是 DRDA 应用程序请求程序 (AR) 客户端使用的应用程序服务器。 DRDA AR 客户端的示例包括适用于 z/OS 的 IBM Db2 和适用于 i5/OS 的 Db2。 这些客户端使用此应用程序服务器来转换 Db2 SQL 语句,并在 SQL Server 上运行它们。
适用于 Db2 的 SQL Server Migration Assistant (SSMA) 自动执行从 Db2 到 Microsoft 数据库服务的迁移。 该工具在虚拟机 (VM) 上运行时,可将 Db2 数据库对象转换为 SQL Server 数据库对象,并在 SQL Server 中创建这些对象。 然后,用于 Db2 的 SSMA 将数据从 Db2 迁移到以下服务:
- SQL Server 2012
- SQL Server 2014
- SQL Server 2016
- Windows 和 Linux 上的 SQL Server 2017
- Windows 和 Linux 上的 SQL Server 2019
- Azure SQL 数据库
Azure Synapse Analytics 是用于数据仓库和大数据系统的分析服务。 此工具使用 Spark 技术,并与 Power BI、Azure 机器学习和其他 Azure 服务深度集成。
数据集成服务
数据工厂是混合数据集成服务。 可以使用这个完全托管的无服务器解决方案来创建、计划和协调提取、转换和加载 (ETL) 工作流以及提取、加载和转换 ELT 工作流。
Azure Synapse Analytics 是一项企业分析服务,可以缩短在数据仓库和大数据系统中生成见解所需的时间。 Azure Synapse Analytics 汇集了以下技术和服务的优点:
- 在企业数据仓库中使用的 SQL 技术。
- 用于大数据的 Spark 技术。
- Azure 数据资源管理器,用于日志和时序分析。
- 用于数据集成、ETL 和 ELT 工作流的 Azure Pipelines。
- 与 Power BI、Azure Cosmos DB 和机器学习等其他 Azure 服务深度集成。
SSIS 是一个用于构建企业级数据集成和转换解决方案的平台。 可以使用 SSIS 来管理、复制、清理和挖掘数据。
Azure Databricks 是一个数据分析平台。 它基于 Apache Spark 开源分布式处理系统,并针对 Azure 云平台进行了优化。 在分析工作流中,Azure Databricks 从多个源读取数据,并使用 Spark 提供见解。
数据存储
SQL 数据库是 Azure SQL 系列的一部分,专为云而构建。 此服务提供了全面管理和持续平台即服务 (PaaS) 的优势。 SQL 数据库还包含由 AI 提供支持的自动化功能,这些功能可优化性能和持续性。 无服务器计算和超大规模存储选项可按需自动缩放资源。
Azure SQL 托管实例是 Azure SQL 服务组合的一部分。 这种智能化、可缩放的云数据库服务将最广泛的 SQL Server 引擎兼容性与全面管理的持续 PaaS 的所有优势结合在一起。 借助 SQL 托管实例,可以大规模实现现有应用的现代化。
Azure 虚拟机上的 SQL Server 提供了一种将 SQL Server 工作负荷提升和转移到云中的方法,并实现了 100% 的代码兼容性。 作为 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 存储经过优化,数据规模可以达到数 TB 甚至数 PB。 这些数据通常来自多个异类源,可以是结构化的、半结构化的或非结构化的。 Data Lake Storage Gen2 结合了 Data Lake Storage Gen1 功能与 Blob 存储。 这一下一代数据湖解决方案提供文件系统语义、文件级安全性和缩放功能。 它还提供 Blob 存储的分层存储、高可用性和灾难恢复功能。
Azure Database for MySQL 是基于社区版开源 MySQL 数据库引擎的完全托管的关系数据库服务。
Blob 存储提供优化的云对象存储,用于管理大量非结构化数据。
方案详细信息
数据可用性和完整性对大型机和中型机的现代化至关重要。 数据优先策略有助于在向 Azure 迁移的过程中保持数据的完整性和可用性。 为防止现代化过程中出现中断,有时需要快速复制数据或保持本地数据与 Azure 数据库同步。
具体来说,此解决方案涉及:
- 提取:连接到源数据库并从中提取数据。
- 转换:
- 暂存:临时以原始格式存储数据,并准备数据以进行转换。
- 准备:使用满足目标数据库要求的映射规则来转换和操控数据。
- 加载:将数据插入目标数据库。
可能的用例
可从此解决方案中受益的数据复制和同步方案包括:
- 可使用 Azure 来服务所有查询通道的命令和查询责任分离 (CQRS) 体系结构。
- 可并行测试本地应用程序和重新托管/重新设计的应用程序的环境。
- 具有需要分阶段修正或现代化的紧密耦合应用程序的本地系统。
建议
使用数据工厂提取数据时,请优化复制活动的性能。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
在考虑这种体系结构时,请记住以下几点。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。
基础结构管理(包括可用性)在 Azure 数据库中自动完成。
有关 Microsoft Service for DRDA 故障转移保护的信息,请参阅池和故障转移。
可以对本地数据网关和集成运行时 (IR) 进行群集,以提供更高的可用性保证。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
使用网络安全组将访问权限限制在每个服务运行所需的范围内。
为 PaaS 服务使用专用终结点。 使用可通过和无法通过 Internet 访问的服务防火墙来对服务的安全性加以补充。
对组件到组件的数据流使用托管标识。
请参阅使用 Microsoft Service for DRDA 规划和构建解决方案,了解 Microsoft Service for DRDA 支持的客户端连接类型。 客户端连接会影响网络上的事务、池、故障转移、身份验证和加密的性质。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
定价模型因组件服务而异。 查看现有组件服务的定价模式,确保符合预算。
要估计此解决方案的实现成本,请使用 Azure 定价计算器。
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述。
性能效率
性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率要素概述。
如果实施时使用大量带宽用于初始复制或持续复制更改的数据,请考虑使用 Azure ExpressRoute 进行大规模操作。
选择适合自己情况的 IR 配置。
后续步骤
- 有关详细信息,请参考 Azure 数据工程 - 本地现代化。
- 阅读迁移指南。