博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云如何打破Oracle迁移上云的壁垒
阅读量:5947 次
发布时间:2019-06-19

本文共 3532 字,大约阅读时间需要 11 分钟。

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

数十款阿里云产品限时折扣中,,领券开始云上实践吧!
以下是精彩视频内容整理:

Oracle数据库迁移方案

_1

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

_2

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

_3

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

    _4

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的比较

_5

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

_6

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

_7

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

_8

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

_9

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

_10

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

_11

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

_12

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

阿里云PostgreSQL生态系统

_13

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

_14

同时用户也可以保留原有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混合分区

_15

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

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


本文由云栖志愿者小组毛鹤整理,百见编辑。

更多精彩请关注:
云数据库POLARDB:
云数据库 HBase 版:
云数据库RDS PPAS 版:

转载地址:http://pydxx.baihongyu.com/

你可能感兴趣的文章
MySQL数据库
查看>>
Mysql 监视工具
查看>>
SSH详解
查看>>
ASM概述
查看>>
【290】Python 函数
查看>>
godaddy域名转发(域名跳转)设置教程
查看>>
silverlight学习布局之:布局stackpanel
查看>>
理解并自定义HttpHandler
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
JavaScript标准库系列——RegExp对象(三)
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
oracle中create table with as和insert into with as语句
查看>>
kafka连接异常
查看>>
11g废弃的Hint - BYPASS_UJVC
查看>>
为什么工业控制系统需要安全防护?
查看>>
Mongodb部署记录[3]-主从搭建
查看>>
hive sql操作
查看>>
tomcat 深度优化
查看>>
127 - "Accordian" Patience
查看>>
阿里云CentOS7安装Oracle11GR2
查看>>