应用评估用于衡量应用与数据库整体迁移改造的情况,可以展示应用需要改造的地方,并给出改造建议。
前提条件
全部应用采集包都已创建应用画像。
背景信息
迁移数据库和应用的过程中存在以下几个难点问题:
-
难以估算应用改造的工作量。
-
难以制定详情地迁移数据库的计划。
-
应用长时间未维护,迁移后难以改造应用。
新建应用评估
-
填写基本信息,选择需要评估的目标库以及目标库版本。
-
选择需要评估的应用画像,支持多选。
说明只有全部的应用画像关联数据库评估状态是完成,才可以创建应用评估。
-
选择已经完成的数据库评估项目。
整体评估结果
评估结果是应用评估的核心内容,分为整体、迁移分组、应用节点三个纬度。
首次进入评估结果,展示的是整体信息,即应用与数据库的聚合评估结果。用于衡量应用与数据库整体迁移改造情况。
-
架构列表:ADAM通过数据库与应用的关系,结合智能算法,将整体架构做了分组。迁移分组是一个迁移单位的最小子集,即迁移任何一个迁移分组不会影响到其他迁移分组外的数据依赖。
说明应用之间调用关系不在考虑范围。
-
迁移评分:ADAM对迁移与改造难度进行的量化打分,分数越高说明迁移改部分的应用改造成本越低。
说明迁移评分受采集数据完备性影响,请结合业务实际情况综合考虑迁移成本。
-
整体兼容度: 衡量应用SQL与数据库对象的兼容性情况。
说明数据库采集SQL受数据库系统本身影响,兼容度不作为评估参考。
-
架构蓝图: 通过拓扑图的形式,直观展示各迁移分组的情况。

迁移分组评估结果
迁移分组是迁移数据库包含的应用的最小子集,迁移单个应用分组不会对其他分组的数据库节点产生数据依赖。
迁移分组包括应用节点以及数据库节点。单击应用节点可以查看单个应用节点的评估改造内容。
单应用评估主要分为应用依赖,SQL兼容性,应用改造点三部分:
-
应用依赖:展示目标应用节点依赖的数据库情况,粒度到Schema。应用依赖:展示应用的外部依赖关系拓扑图,呈现应用节点与其依赖的数据库节点之间的连接关系。同时提供应用依赖数据库详情表格,包含序号、数据库画像ID、数据库名称、涉及的Schema等字段信息。
-
SQL兼容性:展示应用SQL的兼容性情况,并提供每一条SQL具体转换规则与改造位置。目前提供了评估概要信息和兼容性详情。SQL兼容性弹窗的评估概要页签中,左侧兼容比例饼图展示各兼容状态的SQL数量,右侧不兼容SQL操作比例饼图按操作类型展示不兼容分布,下方表格按操作类型(UPDATE、INSERT、SELECT)分别统计兼容、修改后兼容、不兼容的SQL条数。在SQL兼容性弹窗中,切换至兼容性详情页签,可通过兼容性选择筛选器过滤结果。表格展示每条SQL的详细信息,包括ID、Schema、SQL类型、是否兼容、源SQL、目标SQL和调用栈,其中是否兼容列标识三种状态:兼容、修改后兼容和不兼容。
-
兼容: 应用无需改造,可以直接使用在目标数据库上;
-
修改后兼容:ADAM提供转换后SQL,直接在应用中替换,即可兼容目标数据库。
-
不兼容: 无法运行在目标数据库上的SQL,需要根据改造建议,修改应用代码或者SQL。
-
-
应用改造点:展示应用需要改造的地方,并给出改造建议。 目前提供了改造点摘要信息和改造点详情。在应用改造点弹窗的改造点摘要页签中,改造等级比例为 L1:106、L2:1、L3:3,共 110 个改造点,绝大多数为 L1 级别。主要规则包括:规则 44047(58 条,将 round 函数第一个参数转换成 NUMERIC 类型)、规则 44111(42 条)、规则 44017(4 条)、规则 43059(3 条)、规则 44016(2 条)、规则 43050(1 条)。在应用改造点弹窗中,选择改造点详情Tab,可通过顶部改造点下拉框进行筛选。详情表格包含SQL_ID、规则ID、改造提示、源SQL、目标SQL、调用栈等列。常见改造提示包括:
remove from dual(规则34087)、column name is reserved in PostgreSQL(规则33027)、convert ROWID to CTID(规则34088)、rownum to limit(规则34086)等。源SQL、目标SQL和调用栈列均提供查看链接,可查看具体SQL内容及调用位置。