ADAM+PPAS助⼒企业IT系统⾼高效云化

在云时代的今天,企业数据库面临着复杂的选择,数据库异构迁移往往达不到预期效果,樊文凯想大家分享了ADAM数据库和应⽤用迁移(Advanced Database & ApplicationMigration, 以下简称ADAM),ADAM是阿里云结合阿里巴巴多年年内部业务系统数据库和应⽤用异构迁移的经验(去IOE),⾃自主研发的、迁移ORACLE数据库和应⽤用⾄至阿⾥里里云相关云产品的专业产品,分享了ADAMA的结构、高性能、数据库割接、智能分析、所用的生态工具等,典型的数据库中出现的痛点。
展开查看详情

1.ADAM+PPAS助⼒力力企业IT系统⾼高效云化 阿⾥里里云-⻜飞天⼋八部-ADAM 樊⽂文凯(唐修)

2.基于IOE架构的数据库,功能非常强大 Oracle 企业的很多应用,仅用了oracle 很少的功能

3.云时代:企业数据库面临复杂产品选择

4.数据库异构迁移——痛点 项目 方案 测试 应用 性能 项目 调研 准备 搭建 测试 测试 割接 ü ⽬目标选择 ü 性能把控 ü 测试周期 ü 数据治理理

5.数据库异构迁移结果 工作预期结果 VS 实际工作可能结果

6.迁移核心问题——方法论+产品(ADAM) 1 3 评估 实施 2 4 验证 优化

7. Advanced Database & Application Migration (简称 ADAM, 亚当) 数据库和应⽤用迁移(Advanced Database & Application Migration, 以下简称ADAM),是阿⾥里里云结合阿⾥里里巴巴多年年内部业 务系统数据库和应⽤用异构迁移的经验(去IOE),⾃自主研发的、迁 移ORACLE数据库和应⽤用⾄至阿⾥里里云相关云产品的专业产品。

8.ADAM 核心能力 数据库和应⽤用精准 ⽬目标数据库和应⽤用 智能评估⽬目标数据 画像 兼容性评估 库规格、容量量 PL/SQL转Java 数据库和应⽤用迁移 系统优化

9.ADAM产品服务模式 ADAM SaaS, 部署在阿⾥公共云(全球) 包括评估/转换/分析等核⼼能⼒ 1,如果在线,则直接调⽤用(HTTPS) 2,如果离线,则离线⽂文件包导⼊入 ADAM Studio 部署在客户IDC机房,易操作的UI 关键能⼒由ADAM SaaS提供

10.ADAM产品迁云流程 数据 智能 业务 迁移 系统 采集 分析 改造 实施 优化 ADAM采集工具 ADAM SaaS ADAM studio ADAM stuido ADAM SaaS+studio ADAM数据库采集工 ADAM solution 业务代码改造 数据库和应用割接 ADAM SaaS 具 report 数据库测试数据准备 studio DBA ADAM应用采集工具

11.ADAM数据采集 采集内容: l  表、视图、存储过程等数据库结构定义信息 l  脱敏敏后的SQL (DML/Trans) ADAM l  数据库运⾏行行状态信息,⽐比如CPU/SGA/表容量量 采集器器 等等 源库保护: JDBC ü 只读模式,不不会产⽣生脏数据 ü ⾃自动切⽚片,单线程远程访问,消耗源库负载极⼩小 ü 每个切⽚片采集前,均判断源库负载是否超阈值 ü 专⽤用守候线程,定期检查源库负载,超阈值⾃自动暂 定采集,待数据库负载低于阈值时再次继续采集 Oracle / RAC 信息保护: u 业务数据,主机名称、IP等敏敏感信息,不不采集 u ⾃自动完成数据脱敏敏,所有SQL中Value值替换为问号 u 数据⼆二级、三级脱敏敏

12.SaaS智能分析 可行性分析 效果评测 源库&应用画像 规格计算

13.DB-APPs关系

14.数据库智能分析 可⾏性&规格计算&解决⽅案 ü 用户选择合适的目标数据库,例如PPAS, ADS + SaaS分析系统 MySQL等 oracle ü 用户选择需要计算的Schema和表,⽅案仅根据选择 对象计算结果 ü ADAM智能分析 方案一 方案二 方案三 PPAS DRDS ADS PostgreSQL PPAS MySQL MySQL PostgreSQL

15.ADAM产品报告-案例

16.ADAM产品报告-案例 兼容性分析报告: Table Viwe Procedure Function Package ……

17.业务系统改造 业务系统改造 业务系 统改造 l  使用ADAM studio 构建数据库测试环 境 l  基于测试环境改造 业务系统 功能性 能测试 功能测试 基于新数据库不断测试业务系 统功能、性能

18.ADAM产品生态工具 PLSQL转Java SQL溯源 SQL翻译 Oracle 互联网 DB 企业级数据迁移 SQL对比测试

19.SQL溯源工具

20.SQL翻译

21.PL/SQL 转Java ADAM应用迁移包括 SQL改造(在业务应用程序中,数百条到数千条) PLSQL改造(在数据库中,数万行到数十万行) 迁移前应用架构 迁移后应用架构 业务逻辑 SQL代码 业务逻辑 SQL代码 业务应用(Java代码) 数据 理程序(PLSQL) PLSQL转JAVA(P2J) 数据 理程序(JAVA) 业务应用(Java代码) 数据 数据 Oracle Ali-DB

22.PLSQL转JAVA难点 • PLSQL语⾔功能庞⼤ • PLSQL是类⾯向对象语⾔,语法⾮常灵活,类型边界弱。 • Oracle数据库为了迎合应⽤开发的需要,开发了⼤量程序包来简化业务应⽤开发,如11G有约250个程序包 和类型,⽂档长达6000页以上。 • 现有的业务应⽤中基于PLSQL实现的业务逻辑代码量很⼤ • ⼤部分已经接触的客户中,仅单个应⽤系统都是数⼗万⾏的PLSQL代码 • PLSQL语⾔和Java语⾔并不⾼度匹配导致 • 需要即懂Java又懂PLSQL的技术⼈员 • ⼿⼯转换周期长 • 耗费⼈员成本⾼ • 没有标准化,质量参差不齐,受制于转换⼈员⽔平 所以需要⼀款能够实现将PLSQL⾃动转换为Java代码的产品!

23.ADAM studio数据库割接 全量数据,在线/离线 OSS! Oracle ADAM Oracle / RAC Golden Gate studio ADAM 云数据库 本地或远程 增量数据,长达30天 dataworks

24.ADAM产品知识数据库 PPAS Hybrid DB FOR PG Oracle9i MySQL Oracle10g PostgreSQL Oracle11g ADS DRDS 自动生成 数据库、应用画像 1,实际使用的Oracle 可行性报告 2,目标库的特点 方案报告 3,应用特点 兼容性报告

25.系统优化—风险SQL识别 Solution report SQL SQL 互联网 Oracle DB

26.阿里云POLARDB-O产品生态 定位: 定位: 定位: 百万级QPS +小型OLAP 千万级QPS+中型OLAP 实时PB级OLAP分析 POLARDB HDB MySQL PG 集群版 PG 全栈 ES 统 一 分布式,共享块存储 Graph 技 ... ... 术 OSS 海量对象存储 (打通所有产品) 栈 全栈 定位: POLARDB Oacle兼容性+多模混合场景(UDF+时空+搜+图+流,HTAP 全栈) Oracle 双机版(PPAS) 百万级QPS +小型OLAP

27. 相同的JDBC驱动 数据库迁云选型建议 相同的类型及语法 ADAM评估及迁移保护 暖数据 随时可SELECT PL/SQL TP+AP共享存储 RDS for 外部表 HybridDB for •  新业务重构 •  已有业务迁移 PPAS HybridDB for 弱事务要求 强事务一致性 PostgreSQL HybridDB for •  •  Oracle •  OSS PostgreSQL HybridDB for •  无状态架构 •  多表JOIN 存储 外部表 PostgreSQL HybridDB for •  分库分表 •  复杂SQL PostgreSQL HybridDB for RDS for 外部表 PostgreSQL HybridDB for •  无限扩展能力 •  GIS地理信息 PostgreSQL PostgreSQL PostgreSQL ⽆无PL/SQL 1、快速上云 DTS/CDP数据同步 3、业务实时分析 OLTP业务 专业OLAP处理理 阿里云 4、部份重构 限制3TB存储 ⽆无限制 计算节点、空间横向扩展到PB级 2、空间扩展 全分布式架构 ⾼高性能分布式MPP分析架构 ⽀支持轻量量级OLAP 存放历史信息 百亿记录order by < 10ms*、⾏行行列列混合、 递归、窗⼝口、钻取 或不不常⽤用信息 CUBE、ROLLUP、MADlib学习等

28.云数据库PPAS版,Oracle迁移上云首选 Oracle同构搬迁 PPAS+ADAM迁移(百TB级业务重点考虑) MySQL模型重构(适合面向PB级业务) 云化管理增强 简单 IaaS 提升 DBaaS云数据库管理 DBaaS云数据库管理 Oracle同构搬迁 PPAS+ADAM迁移(百TB级业务重点考虑) MySQL模型重构(适合面向PB级业务) 是否改造 不需 少量 大量 云化管理增强 简单 IaaS 提升 DBaaS云数据库管理 DBaaS云数据库管理 是否改造 不需 •  热数据:OLTP纵向扩展 少量60C/470GB/3TB SSD 大量 •  暖数据:OSS对象存储 基于外部表无限扩展 横向扩展 自行部署管理 • •  热数据:OLTP纵向扩展 全分布式分库分表,无状态最终一致性 BI分析:OLAP横向扩展 60C/470GB/3TB OSS实时流转 百TB实时 SSD •  分析暖数据:OSS对象存储 基于外部表无限扩展 横向扩展 自行部署管理 全分布式分库分表,无状态最终一致性 •  BI分析:OLAP横向扩展 OSS实时流转 百TB实时 分析 迁移难度 无 容易,兼容Oracle数据类型, 语法, PL/SQL存储过程 难,大量改写 迁移难度 无 容易,兼容Oracle数据类型, 语法, PL/SQL存储过程 难,大量改写 迁移耗时 一般2周完成 一般6-8周完成(部份业务可能只需替换驱动即可) 6个月或以上 迁移耗时 一般2周完成 一般6-8周完成(部份业务可能只需替换驱动即可) 6个月或以上 人力成本 ¥ ¥¥¥(研发人员可沿用Oracle语法继续开发) ¥¥¥¥¥¥¥¥¥¥¥¥ 人力成本 ¥ ¥¥¥(研发人员可沿用Oracle语法继续开发) ¥¥¥¥¥¥¥¥¥¥¥¥ 软件成本 ¥¥¥¥¥¥¥¥¥¥¥¥ ¥¥¥ ¥¥¥ 软件成本 ¥¥¥¥¥¥¥¥¥¥¥¥ ¥¥¥ ¥¥¥ •  符合云计算及自主可控,降低License合规成本 纯互联网架构,可长期横向发展 上云收益 资源规格灵活调整 •  事务智能优化,提高DBA效率,分析100倍性能 OLTP、OLAP、离线计算无展扩展 •  3TB热数据,OSS暧数据,百TB实时分析

29.云数据库PPAS - 提高Oracle迁移上云成功率 •  Oracle -> 云数据库PPAS 语法几乎不改 •  研发:可继续写Oracle语法 降低迁移难度及工作量 研发及DBA切换到 PostgreSQL •  DBA:阿里云自动运维 DBA逐步学习 人力成本 降低风险点 提高DBA SQL优化能力 业务风险 •  代码:几乎不用修改 研发快速迁移 ADAM协助精准分析 产品成本 Oracle PPAS(兼容Oracle语法) PostgreSQL