全部产品
云市场

产品功能

更新时间:2020-01-08 21:02:12

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

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

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

ADAM评估平台包括两个部分:数据采集器和智能分析工具。

  • 数据采集器

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

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

  • 智能分析平台

    智能分析平台的目标是根据从Oracle采集到的源库数据,给出最适合的目标库方案。智能分析平台包括源库画像、目标库方案建议、迁移计划生成、兼容分析计算、PLSQL转Java方案、目标方案成本评估等能力:

    • 源库画像:源库画像通过对数据库采集器采集到的源库数据进行分析,给出多个维度的评估分析,包括对源库性能、容量、Oracle特性、外部连接(DB Link)和对象全景查询。其中对象全景分析对Oracle对象提供关联关系、特征标识等信息。

    • 应用画像:应用画像通过对采集到的应用数据或应用的WAR包进行分析,提供多维度的评估分析,包括对应用的软件栈、系统信息、对象详情、SQL和调用栈等的评估分析。应用画像包括静态分析和动态分析,其中动态分析依赖对应用数据的采集,而静态分析可以直接对Java应用的WAR包进行分析,定位应用对数据库对象的访问点。

    • 联合画像:联合画像通过对用户选择的多个数据库画像和应用画像进行分析,了解系统各部件间的拓扑连接关系,从而帮助客户确认系统迁移的影响范围。

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

    • 评估对象兼容性:针对不同的目标数据库及版本,ADAM提供对Oracle数据库对象和目标数据库之间的兼容性分析和改造的建议。兼容性级别分为完全兼容、修改后兼容、不兼容三种。其中修改后兼容的方案由ADAM智能分析引擎自动化提供并写入迁移计划。

    • PLSQL转Java:PLSQL转Java提供自动将Oracle的PLSQL对象(函数、过程、包等)转换为Java程序的能力。对于PLSQL能力较弱的目标库该方案提供了不错的解决方案,需要该方案的客户可以联系ADAM技术团队。

    • 生成迁移计划:根据评估分析的结果生成从Oracle库到目标数据库的迁移计划,使用ADAM Studio线下迁移工具可以利用迁移计划将源库的Schema快速迁移到目标数据库,其中迁移计划包含的ADAM智能转换结果将保证最大兼容度。

    • 目标方案成本计算:根据评估分析结果给出目标方案的云资源成本,方便客户进行迁移到目标库的成本分析。

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

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

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

  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存储。

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

  • 多种数据校验的能力

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