2018第九届中国数据库技术大会,阿里云数据库产品专家萧少聪带来以阿里云如何打破Oracle迁移上云的壁垒为题的演讲。Oracle是指“数据库管理系统”,面对Oracle迁移上云的壁垒,阿里云如何能够打破它呢?本文提出了Oracle 到云数据库PPAS迁移的方案,这种迁移方案为什么比Oracle到 MySQL系列的迁移容易推动呢?答案即将揭晓。

直播视频回顾
PPT下载请点击
以下是精彩视频内容整理:

Oracle数据库迁移方案

数据业务架构中都会有服务器、应用及数据库系统和存储系统三大块,服务器与存储系统上云是相对容易解决的,但在解决应用及数据库系统方面是有些难度的。于是,阿里云给出了上面的解决方案。在这个解决方案中,用户可以通过不同的方式,将数据库迁移到云上,我们可以继续在ECS中运行Oracle,也可以迁移到MySQL。当然也可以将应用及数据库系统迁移到云数据库PPAS版,借助其高度兼容Oracle的能力,降低用户迁移上云的难度,并降低系统长期运维的复杂性。

阿里云不仅有同城容灾、自动备份、时间点恢复等这些部分会为云的用户去提供。阿里云数据库还会加入高可用的HA,它一般需要两个或两个以上的节点,进行复杂配置。而在阿里云,用户仅需点一下按钮就可以有高可用的HA,而且这样的HA集群不单可以在同一数据中心上构建,同时也支持同城双中心异地容灾,同样一键部署完成。同时,阿里云还为用户提供ADAM(Advanced Database & Application Migration “亚当”)工具,以协助用户借助PPAS的Oracle兼容性进行快速迁移。那么接下来怎样去迁移的各步骤应该如何进行呢?

将ADAM采集器安装在Oracle上面,ADMA将起到三个方面的作用:

  • ADAM起到采集的作用,它将采集Oracle上的表、视图、存储过程等数据库结构定义的信息,它会收集脱敏后的SQL (DML/Trans),它还会采集数据库运行的状态信息,比如CPU/SGA/表容量等等。
  • ADAM起到源库保护的作用,ADAM在只读模式下不会产生脏数据。ADAM在自动切片时,将进行单线程远程访问,因此消耗源库负载极小。每个切片采集前,均判断源库负载是否超阈值。ADAM在专用守候线程中,会定期检查源库负责,超阈值时将自动暂定采集。
  • ADAM起到信息保护作用,ADAM会保护主机名称、IP等敏感信息,ADAM会自动完成一级脱敏,ADAM还选择完成二级脱敏,将所有表名称、字段名称进行加密,密钥文件将由客户保管。

Oracle迁移到PPAS相对迁移到其他数据库更为平滑,因为有许多兼容的地方。Oracle数据库到PPAS快速上云的过程中应做到兼容SQL、存储过程、包、DBMS等,因此适合复杂事务事业务的迁移。云数据库PPAS版,提供最高 3TB的本地高性能存储(据悉这一空间有机会在年内突破到10TB以上)。如果业务数据超过本地存储容量大小,则可以通过OSS存储做外部表处理,如历史数据就可以存放到OSS外部表中,这些信息并不常使用,但对于数据分析很重要。因此我们可以通过阿里云HybridDB for PostgreSQL,从OSS中直接获取数据进行业务分析。HybridDB for PostgreSQL是基于开源Greenplum Database分布式MPP数据库的阿里云自有发布版,可实现业务实时分析,计算节点、空间横向扩展到PB级、特定场景下百亿记录order by < 10ms*,支持行列混合、CUBE、ROLLUP、MADlib学习等。

Oracle 数据库到 MySQL、PPAS的比较

为什么Oracle 数据库到 MySQL系列的迁移难以推动呢?原因是Oracle 数据库到 MySQL系列的迁移会导致ISV及企业迁移风险增大,在整个迁移过程中代码、存储过程以及构架需做出大的改动,这会导致研发重新学习、DBA重新学习、代码的语法重写甚至业务构架重写,最终造成业务风险增大、人力成本变高以及产品成本变高。

而Oracle 数据库到云数据库PPAS版是相对容易推动的,在推动过程中提高了Oracle迁移上云的成功率。研发可继续写Oracle语法从而降低迁移难度及工作量,阿里云可自动运维提高DBA SQL优化能力,代码的语法几乎不需改动,ADAM协助得以精准分析。

为什么说PPAS兼容Oralce会更好呢?由上图可以看到MySOL与Oracle的交集面积比PostgreSQL与Oracle的交集面积都很小,这并不能达到预期的效果。期望中云数据库PASS版效果应当是Oracle的面积与PostgreSQL的面积几乎达到重合。
为什么会需要这么多的兼容部分呢?因为这样才能让企业的开发团队、原有的开发成果以及已有的应用快速的放到云上面去。例如,如果开发商开发的软件都是线下的,但客户要求上云,到云上面又需要用到互联网思维,那么原有的存储模式都需要改动,为了维护云的架构线上、线下的结构都需要改动,这样会需要大量的人力成本。如果有一个功能直接兼容Oracle 的语法,这个时候放到云上面去会减少整体的负担。

云数据库PPAS 到Oracle兼容的数据类型有许多种,例如,BLOB、CLOB、DATE等等。它们各自又有各自的别名与类型,例如 BLOB 的别名是LONG RAW,其类型是二进制数据。

ADAM可以协助用户Oracle数据库通过全量以及增量进行上云迁移,如果Oracle数据量很大,这里可能需要一个星期甚至一个月才能传输完。这时就可以通过高速连接以及高速通道增加带宽,不需要通过Internet,防止传输错的数据,同时也不会影响生产库。 通过ADAM平台Oracle数据到云数据库还会提供30天的回流机制,为用户提供迁移割接过程的最大保障。

云数据库PPAS不仅是高可用,还支持同城容灾,在不增加任何费用成本的情况下,用户可以选择使用单可用区集群,或是使用多可用区(同城容灾)集群,以提供更有保障的企业级容灾需求保护。

云数据库PPAS 不只是自动备份,还送50%免费备份空间。例如用户购买实例存储空间为1TB,将直接赠送500GB免费备份空间。

云数据库PPAS云化管理是按时间点进行实例克隆的,实例克隆功能将于2018年7月提供,并支持长达730天数据备份,当前只提供临时实例。

阿里云PostgreSQL生态系统

Oracle的应用可以迁移到云数据库PPAS版,PPAS通过高性能本地存储空间,以存储热点OLTP业务数据。历史信息存储到外部的OSS上面,OSS上面的数据可以直接被HybridDB for PostgreSQL读取使用,也就是说OLTP可以进行业务处理,OLAP可以直接通过基于开源Greenplum Database分布式MPP架构的阿里云数据仓库服务HybridDB for PostgreSQL进行。

同时用户也可以保留原有Oracle系统,只将分析业务转为使用HybridDB for PostgreSQL,其 OLAP性能优势如下如下:

  • 通过HDB PG承接OLAP业务。
  • Oracle生产库无需调整。
  • HDB PG提供高性能MPP。
  • HDB PG支持20+ Oracle函数。
  • HDB PG可扩展到PB。
  • 支持IoT所需的JSON/GIS/IP。
  • 基于OSS实现与PPAS/PG下的OLTP及OLAP打通。

HybridDB for PostgreSQL混合分区

储存可分为三种储存,分别为行式存储、列式存储以及OSS暖存储,这三种存储的介绍如下:

  • 行式存储不仅对于需要查询某行详细信息的性能好,而且对于需要进行update及delete操作的数据集性能更好,并且还可以通过Index索引优化查询性能。
  • 列式存储可以获得更高的压缩比、节省存储空间、灵活地设定每行不同的压缩比基于gzip以及进行分析操作时列存模型减少等优点。
  • OSS暖存储器通过OSS存放不经常使用的历史归档数据,实现“暖存储”支持直接查询,无需重新进行导入并支持CSV、gzip格式。

萧少聪:花名铁庵,Postgres中国用户会创始人之一,2015-2018届轮任主席。阿里云高级数据库产品专家,主要负责云数据库RDS及PostgreSQL产品线。拥有多年开发、架构设计及项目管理经验,协助中国众多企业实现Oracle数据库到Postgres系列数据库的迁移。

数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!

本文作者:云迹九州

阿里云如何打破Oracle迁移上云的壁垒的更多相关文章

  1. 阿里云PolarDB发布重大更新 支持Oracle等数据库一键迁移上云

    5月21日,阿里云PolarDB发布重大更新,提供传统数据库一键迁移上云能力,可以帮助企业将线下的MySQL.PostgreSQL和Oracle等数据库轻松上云,最快数小时内迁移完成.据估算,云上成本 ...

  2. 阿里云祝顺民(江鹤):云原生SDWAN加速企业上云 引领未来智能网络

    第二届中国SD-WAN峰会于11月16日在北京盛大开幕,阿里云以黄金赞助商之名隆重参与.作为全球前三,亚太第一的云计算厂商,阿里云一直引领云网技术的演进及应用落地.过去一年,阿里云发布以云为中心的云原 ...

  3. 矩池云助力科研算力免费上"云",让 AI 教学简单起来

    矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验,和高性价比的GPU集群资源.而且对同学们比较友好,会经常做一些大折扣的活动,最近双十一,全场所有的RTX 2070.Platin ...

  4. 揭秘!2周实现上云上市,阿里云SaaS上云工具包如何打造新云梯?

    提到“上云”,很多人会理解成上IaaS,比如买一些计算.存储和网络云产品,把自己的应用系统部署上去.这的确是通常意义的上云.但对SaaS而言,需要从产品.商业.服务,三个维度考虑SaaS伙伴和客户的痛 ...

  5. 阿里云发布新版SaaS上云工具包,全面助力SaaS上云

    9月26日,在云栖大会SaaS加速器专场上,阿里云发布了新版的SaaS上云工具包(SaaS Launch Kit),发布了API网关的新功能,以及推出了全新升级的能力中心. SaaS上云工具包,顾名思 ...

  6. 阿里云产品介绍(二):云服务器ECS的孪生兄弟们

    上一篇介绍的云服务器ECS,是阿里云最基础的产品,也是每一个云计算厂商最基础的产品,俗称爆款.除了标准的云服务器,阿里云也不停的在推出面向特殊业务场地的云服务器,可以说是ECS的孪生兄弟们. 这一篇就 ...

  7. 阿里云吴天议:云原生SDWAN 应用 构建智能化云原生SDWAN生态

    2019年11月16日 SDWAN 大会在北京正式召开.阿里云网络资深产品专家吴天议先生继阿里云网络研究员祝顺民先生发表了对云原生SDWAN的进化与展望之后(原文请见https://bit.ly/2K ...

  8. 应用上云新模式,Aliware 全家桶亮相杭州云栖大会

    全面上云带来的变化,不仅是上云企业数量上的攀升,也是企业对云的使用方式的转变,越来越多的企业用户不仅将云作为一种弹性资源,更是开始在云上部署架构和应用,借助 Serverless 等技术,开发人员只需 ...

  9. 干货 | RDS For SQL Server单库上云

    数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一 ...

随机推荐

  1. 《Python Data Structures》Week5 Dictionary 课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week5 Dictionary 9.1 Dictionaries 字 ...

  2. Window下,在TEMP路径下生成一个临时文件名

    BOOL GetFullTempFileName(const TCHAR* strPrefix, std::wstring& strFullName) { TCHAR strTempFolde ...

  3. Iview 启动报错 TypeError [ERR_INVALID_CALLBACK]: Callback must be a function

    解决 fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {}); 替换为 fs.write(fd, buf, 0, ...

  4. python 正则表达式 re.match

    #coding:utf-8 import re #匹配内容:单词+空格+单词+任意字符 #\w 单词字符[A-Za-z0-9_] #(?P<name>...) 分组,除了原有的编号外在指定 ...

  5. Trailing Zeroes (III) LightOJ - 1138 不找规律-理智推断-二分

    其实有几个尾零代表10的几次方但是10=2*510^n=2^n*5^n2增长的远比5快,所以只用考虑N!中有几个5就行了 代码看别人的: https://blog.csdn.net/qq_422797 ...

  6. powerdisigner

  7. Python - pycharm 代码自动补全

    有很多人说是代码补全功能未打开,的确,代码补全功能确实要打开才能用,打开方法 file---->power save mode,把这个前面的√号去掉即可

  8. Version Controlling with Git in Visual Studio Code and Azure DevOps

    Overview Azure DevOps supports two types of version control, Git and Team Foundation Version Control ...

  9. python学习笔记(10):面向对象

    一.类和实例 1.类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 2.对象:通过类定义的数据结构实例.对象包括两个数据成员( ...

  10. linux学习笔记(1):

    一.Linux系统简介 1.什么是linux Linux是一个免费的.多用户.多任务的操作系统,其运行方式.功能和UNIX系统很相似,但Linux系统的稳定性.安全性与网络功能是许多商业操作系统所无法 ...