Rocket® 数据复制和同步 (RDRS)(即之前的 tcVISION)是 Rocket Software 开发的数据复制解决方案。 RDRS 为大型机数据复制、数据同步、数据迁移和变更数据捕获 (CDC) 到多个 Azure 数据平台服务提供了 IBM 大型机集成解决方案。
体系结构
下载此体系结构的 Visio 文件。
工作流
RDRS 数据复制解决方案支持许多大型机数据库的 CDC,包括 IBM Db2、IBM 信息管理系统 (IMS) DB、Adabas for Software AG、CA Datacom 和 Computer Associates 集成数据管理系统 (CA IDMS)。 RDRS 提供基于日志的 CDC 代理,以捕获记录级别的变更数据。 此基于日志的 CDC 对生产源数据库产生的开销微不足道。
RDRS 支持从虚拟存储访问方法 (VSAM) 文件进行 CDC。
任务在大型机上启动。 在大型机上创建的启动任务 (STC) 属于 RDRS 软件安装过程的一部分。 两个重要 STC 是:
- 捕获代理,用于捕获源中的变更数据。
- 应用代理,它使用数据库管理系统 (DBMS) 特定的 API,以便有效地将更改的数据写入目标。
注意
对于 Db2 z/OS,RDRS 还通过不需要 STC 的 Db2 用户定义类型 (UDT) 提供无代理 CDC 解决方案。
开放平台管理器 (OPM) 充当复制服务器。 此服务器包含用于自动数据映射的实用工具,可以为源和目标生成元数据。 它还包含从源中提取数据的规则集。 服务器会转换并处理目标系统的数据,并将数据写入目标。 可在 Linux、Unix 和 Windows 操作系统中安装此组件。
RDRS 仪表板提供对数据交换进程的管理、审查、操作、控制和监视。 RDRS 命令行实用工具可自动执行数据交换过程并管理数据同步过程中的无人参与操作。
RDRS 应用代理使用特定于 DBMS 的 API。 这些 API 结合 CDC 技术,在源到目标 Azure 数据服务(即数据库和文件)上高效地实现实时数据变更。
RDRS 支持将变更数据直接流式传输到 Azure 事件中心 或 Kafka。 然后,虚拟机 (VM) 中的 Azure 逻辑应用、函数或自定义解决方案会处理这些事件。
RDRS 支持的 Azure 数据平台目标包括 Azure SQL 数据库、Azure Database for PostgreSQL、Azure Database for MySQL 和 MySQL、Azure Cosmos DB、Azure Data Lake Storage 等。
进入 Azure 数据平台的数据由允许查看这些数据的 Azure 服务或其他平台使用。 示例包括 Power BI、Azure Synapse Analytics 或自定义应用程序。
RDRS 可以从 Azure 数据库平台(如 SQL 数据库、Azure Database for MySQL、Azure Database for PostgreSQL 或 Data Lake Storage)进行反向同步捕获变更,并将其写回大型机数据层。
大型机数据库备份和卸载文件将复制到具有 RDRS 的 Azure VM 进行大容量加载处理。
RDRS 大容量加载通过使用大型机源数据来执行初始目标数据库加载。 可以直接从大型机数据存储或大型机备份或卸载文件来读取源数据。 大容量加载支持自动转换大型机数据类型,比如扩展二进制编码十进制交换代码 (EBCDIC) 打包字段。 为了获得最佳性能,请使用备份或卸载数据,而不是直接读取大型机数据库。 不应该直接读取数据库,因为将卸载或备份数据移动到必要的 RDRS Azure VM 并使用本地数据库加载器可以最大限度地减少网络输入/输出 (I/O),同时缩短加载时间。
组件
该解决方案使用以下组件。
网络和标识组件
- Azure ExpressRoute:使用 ExpressRoute 可通过连接服务提供商所处理的专用连接将本地网络扩展到 Microsoft 云。 可以使用 ExpressRoute 与 Microsoft Azure 和 Microsoft 365 等云服务建立连接。
- Azure VPN 网关:Azure VPN 网关是一种特定类型的虚拟网络网关,通过公共 Internet 在 Azure 虚拟网络和本地位置之间发送加密的流量。
- Microsoft Entra ID:Microsoft Entra ID 是一项身份验证和访问控制管理服务,可以与本地目录同步。
应用程序组件
- 逻辑应用:逻辑应用可帮助创建自动化的重复性任务与过程,并按计划运行。 可以调用 Azure 内部和外部的服务(例如 HTTP 或 HTTPS 终结点)、将消息发送到 Azure 存储和 Azure 服务总线等 Azure 服务,或者将文件上传到文件共享。
- Azure Functions:Azure Functions 可用于运行小段代码(即所谓的函数),而无需担心应用程序基础结构。 在使用 Functions 时,云基础结构可以提供应用程序保持规模化运行所需的所有最新状态的服务器。
- Azure 虚拟机:Azure VM 是按需可缩放的计算资源。 Azure VM 可以灵活地实现虚拟化,并消除了物理硬件的维护需求。 Azure VM 可在 Windows 和 Linux 系统上运行。
存储组件
- 存储:存储提供非托管存储解决方案,如 Azure Blob 存储、Azure 表存储、Azure 队列存储和 Azure 文件。 Azure 文件尤其适用于重新设计的大型机解决方案,并可通过托管 SQL 存储提供有效的附加功能。
- Azure SQL:Azure SQL 是 Azure 为 SQL Server 提供的完全托管平台即服务 (PaaS)。 关系型数据可与其他 Azure 组件(如 Azure SQL 托管实例、Azure SQL VM、Azure Database for PostgreSQL、Azure Database for MariaDB 和 Azure Database for MySQL)一起迁移并高效使用。
- Azure Cosmos DB:Azure Cosmos DB 是一种非 SQL 产品,可用于从大型机迁移出非表格数据。
监视组件
- Azure Monitor:Azure Monitor 提供了一个全面的解决方案,用于从云和本地环境收集、分析和处理遥测数据。
- Application Insights:Application Insights 可对应用程序遥测进行分析和展示。
- Azure Monitor 日志:Azure Monitor 日志是 Azure Monitor 的一项功能,用于从受监视的资源收集并整理日志和性能数据。 可以将多个来源的数据(例如 Azure 服务的平台日志、VM 代理的日志和性能数据以及应用程序的使用情况和性能数据)整合到一个工作区中,以便使用能够快速分析数百万条记录的复杂查询语言进行综合分析。
- 日志分析:日志分析是 Azure 门户中的一个工具。 可以使用日志查询从 Azure Monitor 日志中收集的数据中获取见解。 日志分析使用功能强大的查询语言,因此可以连接多个表中的数据、聚合大型数据集,并使用最少的代码执行复杂的操作。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。 要估计此解决方案的实现成本,请使用 Azure 定价计算器。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性设计评审核对清单。
- 在部署在不同可用性区域的 Azure 虚拟机上设置 RDRS OPM 以提供高可用性。 在出现故障时,会激活备用 RDRS OPM,它会将其 IP 地址发送给 RDRS 大型机管理器。 然后,大型机会与新的 RDRS OPM 通信,后者通过使用逻辑工作单元 (LUW) 和重新启动文件的组合,继续在下一个逻辑重新启动点进行处理。
- 设计支持区域冗余的 Azure 数据库服务,以便在出现故障或计划维护窗口时,它们可以故障切换到辅助节点。
- 使用 Azure Monitor 和 Application Insights 来监控 Azure 资源的运行状况。 可以设置警报进行主动管理。
伸缩性
- 通过运行多个并行复制流,为 CDC 处理设置 RDRS 缩放。 首先,分析逻辑事务中包含的文件。 这些文件必须按顺序一起处理。 RDRS CDC 流程可确保每个逻辑事务的完整性。 例如,不参与常见事务的表集可以通过创建多个处理脚本来切分为并行任务。
- RDRS 可以在提供水平可伸缩性的单个 Azure VM 或多个 Azure VM 上同时运行并行并发大容量加载处理。 按任意间隔或按行筛选方式将处理过程拆分为多个任务,对大型表格执行快速批量加载操作。 行筛选可以使用键、分区键、日期和其他筛选器。
- SQL 数据库无服务器计算层基于工作负荷提供自动缩放选项。 可以通过使用自动化来纵向扩展和缩减其他 Azure 数据库,从而满足工作负荷需求。
- 有关详细信息,请参阅 Azure 中的自动缩放最佳做法。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表。
- 使用 Microsoft Entra ID 来控制 RDRS 的身份验证和访问。
- 使用传输层安全性 (TLS) 加密 RDRS 产品(大型机到 Azure)之间的数据传输。
- 使用 ExpressRoute 或站点到站点 VPN 在本地环境与 Azure 之间建立专用且高效的连接。
- 使用 Microsoft Entra ID 对 Azure 资源进行身份验证,并使用基于角色的访问控制 (RBAC) 管理权限。
- 使用 Azure 中的数据库服务支持各种安全选项,如静态数据加密 (TDE)、传输过程中的数据加密 (TLS) 和处理过程中的数据加密,因此数据将始终加密。
- 有关如何设计安全解决方案的指导,请参阅 Azure 安全性文档。
- 要了解安全基线,请参阅 Azure 安全基线。
方案详细信息
大型机是处理大量事务的服务器。 大型机应用程序每天都要生成和使用大量数据。 公共云提供了弹性、成本优化、易用性和易集成性。 许多 x86 和大型机应用程序都正在向云迁移,因此组织必须制定完善的大型机到云数据集成和迁移战略。
此方案通过使用 Rocket Software 提供的 RDRS 将 IBM Z(大型机)数据层与 Azure 云数据平台集成到一起。
可能的用例
此解决方案非常适合将大规模数据迁移到 Azure 数据平台。 以下用例可以考虑本方案:
- 大型机数据层的完整迁移:在此用例中,客户希望将所有 Db2、IMS、IDMS、文件和其他数据等从大型机移到 Azure 数据平台。
- 大型机和基于 Azure 的应用程序共存:在此用例中,客户要求支持大型机和 Azure 数据平台之间的双向同步。
- 存档:在此用例中,客户希望存储用于审核和合规性目的的数据,但不想经常访问此数据。 Azure 存储提供用于存储存档数据的低成本解决方案。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Sandip Khandelwal | 高级工程架构师
其他参与者:
- Liz Casey | 高级内容开发人员
若要查看非公开领英个人资料,请登录领英。
后续步骤
- 培训:在 Azure 中构建数据平台
- 请联系 Azure 数据工程师团队。
- Azure 数据库迁移指南
- 培训:设计 SQL Server 迁移策略
- 迁移指南:SQL Server 到 Azure SQL 数据库