Apache®、Spark 和火焰徽标是 Apache Software Foundation 在美国和/或其他国家/地区的商标或注册商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。
本文介绍大型机和中型机数据源的端到端现代化计划。
体系结构
下载此体系结构的 Visio 文件。
数据流
以下数据流概述了实现大型机数据层现代化的过程。 它与上图相对应。
大型机和中型系统将数据存储在数据源中,例如文件系统(虚拟存储访问方法(VSAM)、平面文件、LTFS)、关系数据库(Db2 for z/OS、Db2 for IBM i、Db2 for Linux UNIX 和 Windows),或非关系数据库 IMS(信息管理系统)、ADABAS、IDMS(集成数据库管理系统)。
对象转换过程会从源对象中提取对象定义。 然后,将定义转换为目标数据存储中的相应对象。
- 适用于 Db2 的 SQL Server 迁移助手 (SSMA) 将架构和数据从 IBM Db2 数据库迁移到 Azure 数据库。
-
主机文件的托管数据提供程序通过以下方式转换对象:
- 分析 COBOL 和 RPG 记录布局或 copybook。
- 将 copybook 映射到 .NET 应用程序使用的 C# 对象。
- 利用 Db2toAzurePostgreSQL 工具将数据库对象从 Db2 迁移到 Azure Database for PostgreSQL。
- 第三方工具对非关系数据库、文件系统和其他数据存储执行自动对象转换。
引入并转换数据。 大型机和中型机系统将其文件系统数据以 EBCDIC 编码格式存储在以下文件格式中:
COBOL、PL/I 和汇编语言 copybook 定义了这些文件的数据结构。
a. FTP 将具有单一布局的大型机和中型机文件系统数据集以及二进制格式的解包字段和相应的副本传输到 Azure。
b. 数据转换是通过使用主机集成服务器的主机文件组件开发自定义程序来实现的,或者通过使用 Azure 逻辑应用中 IBM 主机文件的内置连接器来实现的。
Spark Notebook 转换器是使用开源 Spark 框架开发的,与 Spark 环境(如 Microsoft Fabric、Azure Synapse Analytics 和 Databricks)兼容。
c. 迁移关系数据库数据。
IBM 大型机和中型机系统将数据存储在关系数据库中,例如:
这些服务会迁移数据库数据:
- 数据工厂使用 Db2 连接器从这些数据库中提取并集成数据。
- SQL Server Integration Services 处理各种数据 ETL 任务。
- Microsoft Fabric 数据工厂利用 IBM Db2 连接器迁移 Db2 数据。
d. 迁移非关系数据库数据。
IBM 大型机和中型机系统将数据存储在非关系数据库中,例如:
第三方产品集成这些数据库中的数据。
数据工厂和 AzCopy 等 Azure 服务将数据加载到 Azure 数据库和 Azure 数据存储中。 也可使用第三方解决方案和自定义加载解决方案加载数据。
Azure 提供各种数据库服务,包括 Azure SQL 数据库等完全托管的关系数据库,以及 Azure Cosmos DB 等 NoSQL 选项。 这些服务旨在实现可伸缩性、灵活性和全球分发。
Azure 还提供一系列存储解决方案,包括用于非结构化数据的 Azure Blob 存储,以及用于完全托管文件共享的 Azure 文件存储。
Azure 服务将现代化数据层用于计算、分析、存储和网络。
客户端应用程序也使用现代化数据层。
组件
数据存储
该体系结构讨论了将数据迁移到可缩放、安全的云存储和托管数据库,以便在 Azure 中实现灵活的智能数据管理。
- SQL 数据库属于 Azure SQL 系列。 专为云设计,提供完全托管且常绿的平台即服务的所有优势。 SQL 数据库还包含由 AI 提供支持的自动化功能,这些功能可优化性能和持续性。 无服务器计算和超大规模存储选项可按需自动缩放资源。
- Azure Database for PostgreSQL 是基于开源 PostgreSQL 数据库引擎的社区版的完全托管的关系数据库服务。
- Azure Cosmos DB 是全球分布的多模型NoSQL 数据库。
- Azure Database for MySQL 是基于开源 MySQL 数据库引擎的社区版的完全托管的关系数据库服务。
- SQL 托管实例是一种可缩放的智能云数据库服务;它提供完全托管且经久不衰的平台即服务的所有优势。 SQL 托管实例与最新的 SQL Server Enterprise 版数据库引擎几乎 100% 兼容。 它还提供用于解决常见安全问题的本机虚拟网络实现。
- Azure Data Lake Storage 是一个存储库,可以按原生的原始格式存储大量的数据。 Data Lake 存储经过优化,数据规模可以达到数 TB 甚至数 PB。 这些数据通常来自多个异类源。 数据可能是结构化的、半结构化的或非结构化的。
- Microsoft Fabric 中的 SQL 数据库是基于 Azure SQL 数据库的开发人员友好事务数据库,可用于在 Fabric 中轻松创建作数据库。 Fabric 中的 SQL 数据库使用与 Azure SQL 数据库相同的 SQL 数据库引擎。
- Microsoft Fabric Lakehouse 是一个数据体系结构平台,用于在单个位置存储、管理和分析结构化和非结构化数据。
计算
- 数据工厂通过使用集成运行时 (IR) 集成不同网络环境中的数据,IR 是计算基础结构。 数据工厂通过使用自承载 IR 在云数据存储和本地网络中的数据存储之间复制数据。
- 本地数据网关 是本地安装的 Windows 客户端应用程序,充当本地本地数据源与 Microsoft 云中的服务之间的桥梁。
- Azure 虚拟机提供按需、可缩放的计算资源。 Azure 虚拟机 (VM) 可以灵活地实现虚拟化,但消除了物理硬件的维护需求。 Azure VM 可以选择操作系统,包括 Windows 和 Linux。
数据集成商
此体系结构概述了可以根据大型机源数据和目标数据库使用的各种 Azure 本机迁移工具。
- Azure 数据工厂是混合数据集成服务。 在此解决方案中,Azure 数据工厂使用本机 connetors 从 Db2 sorce Azure 数据库目标迁移数据,但设置最少。
- AzCopy 是一个命令行实用工具,用于将 Blob 或文件移入和移出存储帐户。
-
SQL Server Integration Services 是用于创建企业级数据集成和数据转换解决方案的平台。 可使用该平台通过以下方法解决复杂的业务问题:
- 复制或下载文件。
- 加载数据仓库。
- 清理和挖掘数据。
- 管理 SQL Server 对象和数据。
- 使用 Host Integration Server 技术和工具,可将现有 IBM 主机系统、程序、消息和数据与 Azure 应用程序相集成。 主机文件客户端组件为从 EBCDIC 转换为 ASCII 的数据提供了灵活性。 例如,可以从已转换的数据生成 JSON/XML。
- Azure Synapse Analytics 汇集了数据集成、企业数据仓库和大数据分析。 此体系结构中使用的 Azure Synapse 转换解决方案基于 Apache Spark,非常适合用于大型机数据集工作负载转换。 它支持各种大型机数据结构和目标,并且只需极少的编码工作。
- Microsoft Fabric 是一个企业就绪的端到端分析平台。 它统一数据移动、数据处理、引入、转换、实时事件路由和报表生成。 它支持这些功能,包括数据工程、数据工厂、数据科学、Real-Time 分析、数据仓库和数据库等集成服务。
其他工具
- 适用于 Db2 的 SQL Server 迁移助手自动执行从 Db2 到 Microsoft 数据库服务的迁移。 在 VM 上运行时,此工具将 Db2 数据库对象转换为 SQL Server 数据库对象,并在 SQL Server 中创建这些对象。
-
主机文件的数据提供程序是 Host Integration Server 的组件,使用脱机、SNA 或 TCP/IP 连接。
- 使用脱机连接,数据提供程序读取和写入本地二进制文件中的记录。
- 使用 SNA 和 TCP/IP 连接,数据提供程序读取和写入存储在远程 z/OS(IBM Z 系列大型机)数据集或远程 i5/OS(IBM AS/400 和 iSeries 系统)物理文件中的记录。 只有 i5/OS 系统使用 TCP/IP。
- Azure 服务提供环境、工具和流程,用于在公有云中开发和缩放新应用程序。
方案详细信息
与大型机和中型机系统相比,新式数据存储解决方案(如 Azure 数据平台)提供更高的可伸缩性和性能。 通过实现系统现代化,可利用这些优势。 但是,更新技术、基础结构和做法很复杂。 此过程涉及对业务和工程活动的详尽调查。 实现系统现代化时,数据管理是一个考虑因素。 还需要查看数据可视化和集成。
要成功实现现代化,需要使用数据优先策略。 使用此方法时,需重点关注数据而不是新系统。 数据管理不再仅是现代化清单上的一项。 相反,数据成为核心。 协调的、以质量为导向的数据解决方案取代了分散的、管理不善的数据解决方案。
该解决方案以数据优先的方法使用 Azure 数据平台组件。 具体来说,解决方案包括:
- 对象转换。 将源数据存储中的对象定义转换为目标数据存储中的对应对象。
- 数据引入。 连接到源数据存储并提取数据。
- 数据转换。 将提取的数据转换为适当的目标数据存储结构。
- 数据存储。 将数据从源数据存储加载到目标数据存储,包括初始加载和持续加载。
可能的用例
使用大型机和中型机系统的组织可以从此解决方案中受益,尤其是在希望实现以下目标时:
- 将任务关键型工作负载现代化。
- 获取商业智能以改善运营并取得竞争优势。
- 消除与大型机和中型机数据存储相关的高成本和严格性。
注意事项
这些注意事项实现 Azure Well-Architected 框架的支柱,这是一组指导原则,可用于提高工作负荷的质量。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅 安全的设计评审清单。
- 请注意本地客户端标识与 Azure 中的客户端标识之间的差异。 需要补偿任何差异。
- 对组件到组件的数据流使用托管标识。
- 使用主机文件的数据提供程序转换数据时,请按照主机文件的数据提供程序安全性和保护中的建议操作。
成本优化
成本优化是研究减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅 成本优化的设计评审清单。
- SQL Server 迁移助手是一种免费的受支持工具,可简化从 Db2 到 SQL Server、SQL 数据库和 SQL 托管实例的数据库迁移。 SQL Server 迁移助手自动执行迁移的所有方面,包括迁移评估分析、架构和 SQL 语句转换以及数据迁移。
- 基于 Spark 的 Azure Synapse 解决方案是在开源库的基础之上构建的。 它消除了许可转换工具的财务负担。
- 要估计此解决方案的实现成本,请使用 Azure 定价计算器。
性能效率
性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅 性能效率的设计评审清单。
- 性能效率的关键支柱是性能管理、容量计划、可伸缩性以及选择适当的性能模式。
- 可以通过在主动-主动模式中将逻辑实例与多个本地计算机相关联来扩展自承载 IR。
- Azure SQL 数据库提供动态缩放数据库的功能。 在无服务器层中,它可以自动缩放计算资源。 弹性池,允许数据库共享池中的资源,只能手动缩放。
使用主机文件客户端的数据提供程序转换数据时,请启用连接池以减少连接启动时间。 使用数据工厂提取数据时,请优化复制活动的性能。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Ashish Khandelwal | 首席工程体系结构经理
其他参与者:
- Nithish Aruldoss | 工程架构师
要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
请参阅 Azure 数据库迁移指南。 请联系 Azure 数据工程 - 大型机 中型机现代化了解详细信息。
请参阅以下文章: