版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle兼容性需求业界需求公有云已经进入了深水区, 需要更多地深入线下的存储和计算场景当今政治环境下, 迫切的去O 需求阿里兼容性需求向导公有云和线下业务积累A DA M 兼容性筛选目录兼容性的考虑架构的兼容性Oracle迁往POLARDB的考量语法兼容性的实现剖析兼容性的考虑工具和生态:兼容DBA、开发者等相关人员的使用习惯;SQL语法:对应用而言需要改造成本接近于零;性能:避免性能退化;成本:可以将成本做到极低;Architecture of POLARDBRDMAPolarStore/SANParserExtensionOptimizerPLPGSQLPostgreSQLlibpqj
2、dbcClientSDKRDMAASMPackagePLSQLParserOptimizerOraclepgAdminpsqlDMSOEMsqlplusOCIojdbcClientSDK操作界面应用开发架构兼容HighlyCompatiblewithOracle安全可靠DMSEvaluationTestingMigrationCostBenchmarkDTS兼容性测试全量迁移性能压测增量迁移 真实业务SQL测试数据回流Elasticity存储按使用量计费 计算和存储可弹性扩 展Database MigrationCycleADAM兼容性评估 性能评估ManagementDMS&Console生
3、命周期管理账户管理,备份管理SQL审计,日志管理PerformancePerformance Insight慢SQL分析 全链路诊断SQL Timing分析ADAM数据库和应用迁移(Advanced Database & Application Migration, 以下简称ADAM),是阿 里云结合阿里巴巴多年内部业务系统数据库和应用异构迁移的经验,自主研发的、迁移ORACLE数 据库和应用上云的企业级迁云产品和解决方案,能帮助企业最大限度降低ORACLE数据库和应用迁 移上云的风险、技术难度和实施周期。评估系统改造系统迁移系统画像系统 客观ORACLE数据库画 像 自动发现业务系统架构,
4、确定边界 识别关键用法 评估技术可行性 评估实施工作量 自动生成解决方案 自动兼容性转换 自动规格计算 结构、数据迁移 校验、治理 离线+在线、可扩展 SQL翻译工具 数据库改造工具 应用改造工具 PLSQL2JAVA改造工具采集系统 采集Oracle 采集应用 安全、脱敏语法兼容性实现方法的选型原则语法优先插件优先Rewrite优先慎重增加执行算子兼顾新旧版本的兼容语法兼容性的实现方法PL + Extension内核修改Re w r i t e增加执行算子内核修改 + Extension控制流程PL+ExtensionAnyData创建方法使用方式C R E A T E T Y P E S
5、Y S . A n y D a t a A S O B J E C T (d t T y p e N a m e V A R C H A R 2 , d t V a l u e C L O B ,/ * 获取数据类型函数 * /M E M B E R F U N C T I O N G e t T y p e N a m e ( s e l f I N A n y D a t a) R E T U R N V A R C H A R 2 D E T E R M I N I S T I C ,/ * I N T 类型到A n y D a t a 类型的转换函数 * / S T A T I C F
6、 U N C T I O N C o n v e r t I n t e g e r (n u m I N I N T E G E R) R E T U R N A n y D a t a ,/ * 访问函数 f o r A n y D a t a * /M E M B E R F U N C T I O N A c c e s s I n t e g e r ( s e l f I N A n y D a t a) R E T U R N I N T E G E R ,/ * 其他类型的转换函数、访问函数 * / ) ;C R E A T E E X T E N S I O N p o l
7、a r _ a n y d a t a ; C R E A T E T A B L E t 1 ( c 1 S Y S . A n y D a t a ) ;I N S E R T I N T O t 1V A L U E S ( A n y D a t a . C o n v e r t I n t e g e r ( 1 2 ) ) ; I N S E R T I N T O t 1V A L U E S ( A n y D a t a . C o n v e r t V a r c h a r ( T e s t A n y D a t a ) ) ;S E L E C TS Y S .
8、 A n y D a t a . G e t T y p e N a m e ( c 1 ) t y p e n a m e , ( C A S E S Y S . A n y D a t a . G e t T y p e N a m e ( c 1 )W H E N S Y S . I N T E G E R T H E NS Y S . A n y D a t a . A c c e s s N u m b e r ( c 1 ) : : v a r c h a r 2 W H E N S Y S . V A R C H A R T H E NS Y S . A n y D a t a
9、. A c c e s s V a r c h a r ( c 1 ) : : v a r c h a r 2 E N D ) c tF R O M t 1 ;RewritePivotselect * from SalesOrder pivot(sum(sales) for product in (A, B);RewritePivotImp_cols,- for each agg_func(CASE WHEN for_col=in_val THEN agg_param END)- 未出现在Pivot clause中的 列Imp_cols,增加执行算子UnPivotS E L E C T *F
10、R O M P i v o t _ S a l e s O r d e rU N P I V O T ( t o t a l _ s a l e s F O R p r o d u c t I N ( A a s P _ A , B a s P _ B , C a s P _ C ) ) ;增加执行算子UnPivotS E L E C T *F R O M p i v o t _ S a l e s O r d e r U N P I V O T ( t o t a l _ s a l e sF O R p r o d u c tI N ( a a s P _ A , B a s P _ B
11、, C a s P _ C ) ) ;s e l e c t s . s h o p , t . *f r o m p i v o t _ s a l e s o r d e r sc r o s s j o i n l a t e ra l ( va l u e s ( P _ A , s . a ) ,( P _ B , s . b ) ,( P _ C , s . c ) a s t ( p r o d u c t , t o t a l _ s a l e s ) w h e r e t .t o t a l _ s a l e s i s n o t n u l l ; ;High
12、CostRewrite+ExtensionConnectBy98100102101103104S E L E C T *F R O M e m p l o y e eS TA R T W I T H E N O = 1 0 0 C O N N E C T BY P R I O R e n o = m n o ;Replace 104ERROR: CONNECT BY loop in user data.Rewrite+ExtensionConnectBy,ARRAY AS recursionpath,Array_append(prior.recursionpath, ) AS recursio
13、npatrecursiveRewrite+ExtensionConnectByJoinquals: prior. = ANDpolar_cyclechecker_notice( = ANY (prior.recursionpath)- - E X T E N S I O N :C R E A T E O R R E P L A C E F U N C T I O Np g _ c a t a l o g . p o l a r _ c y c l e c h e c k e r _ n o t i c e r ( n e e d _ r e p o r t B O O L E A N )R E
14、 T U R N S b o o l e a n A S $ $ B E G I NI F n e e d _ r e p o r t T H E NR A I S E C O N N E C T B Y l o o p i n u s e r d a t a . ; E N D I F ;R E T U R N T R U E ; E N D ;$ $ L A N G U A G E p l p g s q l I M M U T A B L E ;控制流程SavePointinprocedure/ P G _ T R Y ( ) ;/ / f o r e a c h ( s , s t m
15、 t s )/ / b e g i ne x e c _ s t m t s ;/ / ( 1 )/ / P L s t m t/ e x e c _ s t m t ;( 2 ) s p l _ e x e c _ f u n c t i o n/ / e x e c _ s t m t _ c o m m i t e x e c _ s t m t _ r o l l b a c ke x e c _ s t m t _ s a v e p o i n te x e c _ s t m t _ r o l l b a c k _ t o e x e c _ s t m t _ o t h e re x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粉笔板项目运营指导方案
- 人工授精用动物精液产品供应链分析
- 真空吸尘器用滤尘器商业机会挖掘与战略布局策略研究报告
- 俯卧撑支架产业链招商引资的调研报告
- 书籍封面的平面设计行业相关项目经营管理报告
- 卡祖笛产品供应链分析
- 自行车车闸项目运营指导方案
- 装饰用木条市场分析及投资价值研究报告
- 医用箭毒产品供应链分析
- 生产加工用香精油市场发展前景分析及供需格局研究预测报告
- 湖南儿童塑胶跑道施工方案
- 足球-正面头顶球教案
- 小学道德与法治-天下兴亡匹夫有责的爱国情怀教学设计学情分析教材分析课后反思
- 2023-2024学年安徽省县中联盟高二上学期10月联考物理试卷和答案
- 高中历史学科课堂教学评价量表(试用)
- 广东省通用安装工程综合定额(2018)Excel版
- 《高铁乘务安全管理及应急处置》课程教案-崔艺琳编写
- 数据仓库与大数据分析平台构建方案
- 五年级上册科学水的作用课件
- 服装家居服成品检验标准
- 社会历史的本质高中政治统编版必修四哲学与文化
评论
0/150
提交评论