技术开发 频道

阿里云如何打破Oracle 迁移上云的壁垒

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

  Oracle数据库迁移方案

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

  ·ADAM起到采集的作用,它将采集Oracle上的表、视图、存储过程等数据库结构定义的信息,它会收集脱敏后的SQL (DML/Trans),它还会采集数据库运行的状态信息,比如CPU/SGA/表容量等等。

  ·ADAM起到源库保护的作用,ADAM在只读模式下不会产生脏数据。ADAM在自动切片时,将进行单线程远程访问,因此消耗源库负载极小。每个切片采集前,均判断源库负载是否超阈值。ADAM在专用守候线程中,会定期检查源库负责,超阈值时将自动暂定采集。

  ·ADAM起到信息保护作用,ADAM会保护主机名称、IP等敏感信息,ADAM会自动完成一级脱敏,ADAM还选择完成二级脱敏,将所有表名称、字段名称进行加密,密钥文件将由客户保管。

阿里云如何打破Oracle 迁移上云的壁垒

  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 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

  为什么说PPAS兼容Oralce会更好呢?由上图可以看到MySOL与Oracle的交集面积比PostgreSQL与Oracle的交集面积都很小,这并不能达到预期的效果。期望中云数据库PASS版效果应当是Oracle的面积与PostgreSQL的面积几乎达到重合。

  为什么会需要这么多的兼容部分呢?因为这样才能让企业的开发团队、原有的开发成果以及已有的应用快速的放到云上面去。例如,如果开发商开发的软件都是线下的,但客户要求上云,到云上面又需要用到互联网思维,那么原有的存储模式都需要改动,为了维护云的架构线上、线下的结构都需要改动,这样会需要大量的人力成本。如果有一个功能直接兼容Oracle 的语法,这个时候放到云上面去会减少整体的负担。

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

  阿里云PostgreSQL生态系统

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

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

阿里云如何打破Oracle 迁移上云的壁垒

  储存可分为三种储存,分别为行式存储、列式存储以及OSS暖存储。

  ·行式存储不仅对于需要查询某行详细信息的性能好,而且对于需要进行update及delete操作的数据集性能更好,并且还可以通过Index索引优化查询性能。

  ·列式存储可以获得更高的压缩比、节省存储空间、灵活地设定每行不同的压缩比基于gzip以及进行分析操作时列存模型减少等优点。

  ·OSS暖存储器通过OSS存放不经常使用的历史归档数据,实现“暖存储”支持直接查询,无需重新进行导入并支持CSV、gzip格式。

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

0
相关文章