你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于将 Oracle 数据仓库迁移到 Azure Synapse Analytics 的工具

本文是一个包含七部分内容的系列的第六部分,提供有关如何从 Oracle 迁移到 Azure Synapse Analytics 的指导。 本文重点介绍 Microsoft 和第三方工具的最佳做法。

数据仓库迁移工具

通过将现有数据仓库迁移到 Azure Synapse,可以受益于:

  • 全局安全、可缩放、低成本、云原生、即用即付的分析数据库。

  • Azure 上存在的丰富的 Microsoft 分析生态系统。 此生态系统包含一系列技术,有助于在数据仓库迁移后实现数据仓库现代化,并扩展分析功能以催生新价值。

来自 Microsoft 和第三方合作伙伴的多种工具可以帮助你将现有数据仓库迁移到 Azure Synapse。 本文讨论以下类型的工具:

  • Microsoft 数据和数据库迁移工具。

  • 第三方数据仓库自动化工具,用于自动执行和记录到 Azure Synapse 的迁移。

  • 第三方数据仓库迁移工具,用于将架构和数据迁移到 Azure Synapse。

  • 用于弥合现有数据仓库 DBMS 与 Azure Synapse 之间的 SQL 差异的第三方工具。

Microsoft 数据迁移工具

Microsoft 提供了多种工具,用于帮助你将现有数据仓库迁移到 Azure Synapse,例如:

下一部分更详细地讨论了这些工具。

SQL Server 迁移助手 (SSMA)

适用于 Oracle 的 SQL Server 迁移助手 (SSMA) 可以自动执行迁移过程的许多部分,某些情况下包括函数和程序代码迁移。 SSMA 支持 Azure Synapse 作为目标环境。

SSMA for Oracle 有助于将 Oracle 数据仓库或数据市场迁移到 Azure Synapse。 SSMA 旨在自动完成从现有 Oracle 环境迁移表、视图和数据的过程。

Microsoft Azure 数据工厂

数据工厂是一种完全托管、即用即付的混合数据集成服务,用于高度可缩放的 ETL 和 ELT 处理。 它使用 Apache Spark 在内存中并行处理和分析数据,以最大限度地提高吞吐量。

提示

数据工厂让你无需编写代码即可构建可缩放的数据集成管道。

数据工厂连接器支持与外部数据源和数据库的连接,并包含用于常见数据集成任务的模板。 基于浏览器的可视化前端 UI 使非程序员能够创建和运行管道来引入、转换和加载数据。 更有经验的程序员可以合并自定义代码,例如 Python 程序。

提示

数据工厂支持业务和 IT 专业人员之间的协作开发。

数据工厂也是一种业务流程工具,是自动化端到端迁移过程的最佳 Microsoft 工具。 自动化可降低迁移的风险、工作量和时间,并使迁移过程易于重复。 下图显示了数据工厂中的映射数据流。

显示数据工厂映射数据流的示例的屏幕截图。

下一屏幕截图显示了数据工厂中的整理数据流。

显示数据工厂整理数据流的示例的屏幕截图。

在数据工厂中,只需几次单击操作,即可开发简单或全面的 ETL 和 ELT 过程,而无需进行编码或维护。 ETL/ELT 过程包括引入、移动、准备、转换和处理数据。 可以在数据工厂中设计和管理计划和触发器,以生成自动数据集成和加载环境。 在数据工厂中,可以定义、管理和计划 PolyBase 批量数据加载过程。

提示

数据工厂包含有助于将数据和整个数据仓库迁移到 Azure 的工具。

可以使用数据工厂以安全一致的方式实现和管理包含本地、云、流式处理和 SaaS 数据的混合环境。 SaaS 数据可能来自 Salesforce 等应用程序。

整理数据流是数据工厂中的一项新功能。 该功能为那些希望无需编写代码即可采用可视化方式大规模发现、探索和准备数据的业务用户打开了数据工厂的大门。 整理数据流提供自助式数据准备,类似于 Microsoft Excel、Power Query 和 Microsoft Power BI 数据流。 业务用户可以通过具有下拉转换选项的电子表格样式 UI 准备和集成数据。

大规模数据迁移功能有助于使用数据工厂将数据从源迁移到 Azure SQL 目标。

建议使用数据工厂在 Azure Synapse 环境中实现数据集成和 ETL/ELT 过程,尤其是在需要重构现有旧过程时。

用于实现物理数据传输的 Microsoft 服务

以下部分讨论 Microsoft 为帮助客户进行数据传输而提供的一系列产品和服务。 这种脱机数据移动能让最终用户显著减少迁移停机时间。

Azure ExpressRoute

Azure ExpressRoute 可在 Azure 数据中心与本地环境或共同租用环境中的基础结构之间创建专用连接。 ExpressRoute 连接并不经过公共 Internet。与典型的 Internet 连接相比,它的可靠性更高、速度更快且延迟更低。 在某些情况下,使用 ExpressRoute 连接在本地系统和 Azure 之间传输数据可以带来显著的成本效益。

AzCopy

AzCopy 是一种命令行实用工具,它通过标准 Internet 连接将文件复制到 Azure Blob 存储。 在仓库迁移项目中,可以使用 AzCopy 上传已提取、压缩的带分隔符的文本文件,然后再使用 PolyBase 将其加载到 Azure Synapse 中。 AzCopy 可以上传单个文件、文件选择或文件夹。 如果导出的文件为 Parquet 格式,请改用原生 Parquet 读取器。

Azure Data Box

Azure Data Box 是一项 Microsoft 服务,它提供一种专有的物理存储设备,你可将迁移数据复制到其中。 然后将设备运送到 Azure 数据中心,以便将数据上传到云存储。 对于数据量很大(例如数十或数百 TB)或者网络带宽并非随时可用的情况,此服务可能具有成本效益。 Azure Data Box 通常用于将大量历史数据一次性加载到 Azure Synapse 中。

Azure Data Box Gateway

Azure Data Box Gateway 是一种驻留在本地的虚拟化云存储网关设备,将图像、媒体和其他数据发送到 Azure。 使用 Data Box Gateway 进行一次性迁移任务或正在进行的增量数据上传。

用于数据引入的 Microsoft 服务

以下部分讨论 Microsoft 为帮助客户进行数据引入而提供的产品和服务。

COPY INTO

COPY INTO 语句为以高吞吐量方式将数据引入 Azure Synapse 提供了最大的灵活性。 有关 COPY INTO 功能的详细信息,请参阅 COPY (Transact-SQL)

PolyBase

PolyBase 是将数据批量加载到 Azure Synapse 的最快、最可缩放的方法。 PolyBase 使用 Azure Synapse 的大规模并行处理 (MPP) 体系结构来并行加载数据,以实现最大的吞吐量。 PolyBase 可以从 Azure Blob 存储中的平面文件读取数据,也可以通过连接器直接从外部数据源和其他关系数据库中读取数据。

提示

PolyBase 可以将数据从 Azure Blob 存储并行加载到 Azure Synapse。

PolyBase 还可以直接从使用 gzip 压缩的文件中读取,以减少加载过程中数据的物理量。 PolyBase 支持常用数据格式,例如带分隔符的文本、ORC 和 Parquet。

提示

可从数据工厂调用作为迁移管道一部分的 PolyBase。

PolyBase 与数据工厂紧密集成,以支持数据加载 ETL/ELT 过程的快速开发。 可通过可视化 UI 计划数据加载过程,从而使工作效率高于手写代码的工作效率且出现的错误少于手写代码导致的错误。 Microsoft 建议使用 PolyBase 将数据引入 Azure Synapse,特别是用于海量数据引入。

PolyBase 使用 CREATE TABLE ASINSERT...SELECT 语句来加载数据。 CREATE TABLE AS 可最大程度地减少日志记录以实现最高吞吐量。 数据加载的最有效输入格式是已压缩的带分隔符的文本文件。 为了最大程度地提高吞吐量,请将大型输入文件拆分为多个较小的文件,并以并行方式加载这些文件。 若要以最快的速度加载到临时表,请将目标表定义为 HEAP 类型并使用轮循机制分布。

PolyBase 存在一些限制,它要求数据行长度小于 1 兆字节,并且不支持 JSON 和 XML 等固定宽度的嵌套格式。

用于 Oracle 迁移的 Microsoft 工具

适用于 Oracle 的 SQL Server 迁移助手 (SSMA) 有助于将旧式本地数据仓库平台迁移到 Azure Synapse。

适用于 Oracle 迁移的 Microsoft 合作伙伴

Microsoft 合作伙伴提供工具、服务和专业知识,有助于将旧式本地数据仓库平台迁移到 Azure Synapse。

后续步骤

若要详细了解如何实现新式数据仓库,请参阅本系列中的下一篇文章:超越 Oracle 迁移,在 Microsoft Azure 中实现新式数据仓库