全部产品
阿里云办公

产品功能

更新时间:2018-05-31 14:16:05

Advanced Database & Application Migration(简称 ADAM) 包含完整的迁移系统,分别在项目前期、应用迁移阶段和割接上线阶断提供相应的平台来帮助客户完成端到端的迁移过程。

在项目前期,评估平台将解答如下几个问题:

  1. 不知道选择什么类型的云数据库?
  2. 需要多少台云数据库、什么规格配置?
  3. 不知道原数据库哪些表迁移到哪个云数据库实例上,需要做哪些修改?

Advanced Database & Application Migration(简称 ADAM) 评估平台包括两个部分:数据采集器和智能分析工具。

  • 数据采集器

    数据采集器负责收集并汇总 Oracle 数据库信息,包含环境、对象、SQL、空间、性能和事务六方面信息,全面覆盖数据库实际运行状况。同时,针对数据冗余、信息安全问题,对采集结果中 SQL 数据进行脱敏、去重、一致性校验等处理,保证采集结果的准确性。

    数据采集器提供了命令行界面与可视化界面双版本:命令界面提供稳定的异步采集功能,持续收集 SQL 数据,并将结果打包存盘;可视化界面在命令界面提供所有功能的基础上,又增加采集结果查看、上传数据包等功能,进一步简化用户操作流程。

  • 智能分析工具

    智能分析工具负责将 Oracle 数据库中待迁移的表划分为多个表组,每个表组部署在单实例云数据库上。智能分析工具基于评估工具采集器上传的数据进行分析、表组划分和规格计算,基本功能包括:

    • 表组划分:将待迁移的表划分为多个表组,每个表组部署在不同的云数据库实例上。支持自动智能划分、按 Schema 划分等多种方式,同时支持对划分结果手动调整。智能划分时,充分考虑到表及关联数据库对象对性能和容量的需求。

      对其中性能容量较小的表组自动/手动合并;对超过阈值的超大表组进行拆分,拆分的原则是使得跨表组的 SQL、View 等对象最少或权值最小,减小改造的复杂度和工作量。

    • 云数据库类型建议:智能分析工具可以帮助用户选择合适类型的数据库,例如:有些复杂的 View, SQL 采用 ADS 服务会取得较好的性能,有些读写分离、分库分表的应用采用DRDS比较合适。

    • 云数据库规格计算:计算出每一个表组对应的云数据库规格,提供 CPU 核数,内存大小,磁盘大小等指标,满足用户的性能需求。

    智能分析工具通过自动化和手动相结合的方式,提供迁移建议方案,方便客户对迁移工作量和成本进行预估。

在项目开始迁移后,迁移平台将负责解决如下问题:

在真正的迁移工作开始后,受限于迁移人员对待迁移系统的了解程度和迁移工作的经验,迁移工作中的各个环节都会碰到各种困难,包括:

  1. 如何将源库结构和数据同步到目标端?
  2. 待迁移系统中哪些地方需要修改,如何修改?
  3. 修改后是否达到了迁移的要求,如何评估修改是否准确无误?

迁移平台的开发是为了最大程度上的帮助迁移人员顺利的迁移系统,迁移工具可以从待迁移系统到迁移后的目标系统提供端到端的迁移指引。迁移工具主要包含三个核心的子模块:

  • 兼容性分析模块:对 Oracle 对象在目标库上进行综合评估并给出专家建议。
  • 模式转换模块:完成 Oracle 对象在目标库上的转换。
  • 应用迁移模块:协助迁移人员完成整个应用的迁移过程。

兼容性分析模块

兼容性分析模块基于阿里巴巴内部多年去 O 沉淀的宝贵经验,对指定的 Oracle 对象集合在迁移的多种目标库上给出对应的修改建议。

兼容性分析模块包括对 Oracle 特性的匹配和 Oracle 使用场景的匹配。

  • 特性匹配主要指识别出对象使用了哪些 Oracle 的特性,并给出在目标库上对应的解决方案。

  • 场景匹配是针对一些特定的使用场景,通常是可能影响到性能的一些使用方式,评估这些使用方式在目标库上是否能够很好地支持,如果需要调整的话给出调整的解决方案。

兼容性分析模块作为支持评估工具和迁移工具的核心模块,其本身也可以单独运行直接处理迁移人员查询请求,给出评估结果。

模式转换模块

模式转换模块提供表以及其它对象从 Oracle 到目标库的自动转换能力。通过使用模式转换模块,客户可以将所支持的转换对象直接转换为目标库上对应的对象或转换成 Java 代码。目前模式转换模块支持将表结构在目标库上自动创建,未来可以支持更多其它对象自动转换为目标库上适当形式的对象。

应用迁移模块

应用迁移模块的核心是为系统迁移人员提供一个辅助迁移环境,加快迁移过程。在迁移过程中,

  1. 实时收集待迁移应用的数据库请求,将代码调用栈返回给用户,帮助用户定位代码中需要改动的位置。
  2. 实时收集待迁移应用的数据库访问 SQL,通过兼容性分析并将分析结果实时反馈给用户,指导用户按照正确的方式进行代码的迁移工作。
  3. 实时收集待迁移应用的数据库访问返回数据和性能数据,与原应用进行比对,保证迁移工作在功能和性能上可以和原应用一致。
  4. 可以同时连接多个目标数据源,当迁移目标数据库为多个时,有动态 SQL 路由能力,可以根据访问的对象将请求路由到正确的目标数据源中,迁移过程中应用不需要显式的连接多个数据源,降低迁移工作复杂性。

    类似于调试器,实时提供修改建议,让开发人员实时修改并实时验证。让开发人员在开发测试环境中可以方便的进行迁移和验证工作,在业务系统所有测试案例通过 AMS 测试后,即可宣告迁移工作完成,为迁移工作给出了标准。

PLSQL 转 Java 模块(P2J)

ADAM-PLSQL 转 Java 服务通过 ADAM PLSQL 转Java工具(以下简称 P2J 工具)和专家服务的组合,可以将以 Oracle 为数据库的客户业务系统中的 PLSQL 对象代码转换为 Java 语言代码,最终可以编译通过并执行以完成 PLSQL 代码相同的功能。

服务流程

  1. 客户在提出 P2J 服务申请前,必须先通过 ADAM 数据库采集工具收取要转换的数据库的数据并上传到阿里云 ADAM 平台。详情请参见下载 ADAM 客户端

  2. 登录 ADAM 控制台,在项目页面中的 PLSQL 转 Java 菜单或向 ADAM 团队提出转换申请。

    注意:申请时,需要留下 PLSQL 转 Java 负责人的联系方式。

  3. ADAM 团队收到申请后,在 1-3 个工作日内进行 PLSQL 转 Java 操作并和您沟通。

  4. ADAM 团队会将转换结果的一部分作为 Demo 发送给客户,确认转换后的代码是否符合客户的预期。

  5. 如果客户认可转换结果并希望得到全部转换后的代码,则需提供对应的测试库,并安排相关技术人员配合 ADAM P2J 服务专家测试转换后代码。

    测试可以在客户的实际环境中完成,也可以远程完成,过程需要 3~5 天。

  6. 测试结束后,ADAM 团队会将所有转换后代码正式提交给客户。

在项目割接上线阶段,数据清洗平台提供以下服务:

面向实施阶段,提供数据迁移和 ETL 服务。支持源数据库的数据按照一定映射规则,以及过滤和清洗条件,全量+增量地将数据迁移到多种目标存储(包括:RDS、DRDS、ADS 等)。源端存储目前主要支持 Oracle,未来计划对更多的源存储类型做支持,例如:DB2、SQL Server 等。主要包含:

  • 数据迁移服务的创建流程

    可定制所需步骤(结构迁移、全量迁移、增量同步、数据校验),可添加数据清洗逻辑,支持源和目标的映射关系。

  • 支持数据的清洗、加工

    允许在数据迁移流程里面,添加代码脚本,进行数据的过滤、清洗、加工等逻辑。比如某一 blob 字段同步到 OSS 存储。

  • 支持单表的数据块拆分成多个迁移任务,并行运行,加快迁移速度。

  • 多种数据校验的能力

    包含:统计校验、全量数据校验、抽样数据校验、增量数据校验等校验功能,全面保障迁移的可靠性。

本文导读目录