注册
【与达梦同行】oracle迁移到DM背后不为人知的故事(产品解读)
技术分享/ 文章详情 /

【与达梦同行】oracle迁移到DM背后不为人知的故事(产品解读)

Jensen 2022/12/07 3029 4 1

意外之喜

今年遇到一个项目,客户需要把系统从原来的oracle环境迁移到达梦环境。
我们怀着忐忑的心情入场帮忙了。
原本已经做好了奋战日夜的准备。结果迁移的过程却是出乎意料的顺利和快速。
不仅节省了项目上的许多时间,也很轻松的赢得了客户的肯定和赞扬。
这是出乎我的意料的。
本着刨根问题的学术精神,我对达梦如此“好用”的原因进行了深挖。
却没想到,越挖越惊。

激流勇进

众所周知,内核基础是评判一个数据库好坏的指标之一。
我想它同样也是能够诠释达梦为何如此“好用”的原因之一。
达梦从始至终都是走的完全自主研发的路径。
在上世纪八九十年代国内数据库技术普遍比较薄弱的情况下,达梦没有引用开源代码,没有购买授权代码,而是选择了自主研发每一行代码。
其艰苦朴素,追求至善至美的科研精神实在令人钦佩。
路难走是因为在走上坡路,达梦走出来了。
正因为坚定不移的完全自主研发,所以达梦拥有相当强大的自研能力,对产品迭代的稳定性和对产品方向的决定都有强大的把控能力。
也正是因为如此强大的把控能力,使得达梦和oracle兼容性很强。
甚至在某些oracle迁移场景下能够做到不改变原有应用一行源代码。
这是客户的福音,也是我们的福音。
所以,怎能不好用,怎能不顺利,怎能不快速。
达梦从历史的洪流中脱颖而出,达梦的精神,达梦的现状,达梦的前程,不禁让我想到一个词
激流勇进。

无微不至

都说达梦跟oracle兼容性很强,那么到底强到什么程度,到底它底层都做了些什么?
这还得从这我们次迁移说起。

数据层

我们知道oracle有标量类型,比如时间日期、字符串、数字等等。
除此之外oracle还有很重要混合类型,变长数组、引用表、引用游标等等。
这是oracle PL/SQL比较重要的高级特性。
我们迁移用的工具是达梦自带的DTS。
DTS支持数据快速装载,字段类型的完全兼容节省了我们很多的时间。
图片.png

接口层

oracle是有自己的原生接口的,比如OCI、OO4O、OOCI。
图片.png
有很多客户会倾向于跟数据库直连,使用oracle的原生接口来追求一些在性能或者其他可控方面的要求。
达梦能跟oracle原生接口完全兼容就提供了很大的便利。

语法层

这一层级更多dba所接触到的层级了。
达梦几乎包含了oracle的数据库对象。
包括数据类型、动态视图、序列、函数、PL/SQL等等
图片.png
可以说在很大程度上降低了我们的迁移成本。
同时也降低了开发人员的学习成本。

逻辑层

我们知道一个OCM或者OCP在几年的工作积累当中,可能会积累几十上百个脚本用于数据库平时的运维。
那么达梦呢是有自己的一套数据字典的,但是它会在上面封装成oracle的数据字典。
比如动态视图v$等等。
这样就可以使DBA们保留自己原有的使用习惯。
图片.png

物理层

数据库底层的数据结构、资源规划、单机多实例等都跟oracle相兼容。
图片.png
从这些层面上可以看出,达梦做到的兼容不仅仅是体现在应用程序和功能上。
它还降低了用户的学习成本、迁移成本、运维成本。
使用户的投入资源、投入周期都变的可控。
它替客户考虑到了方方面面,可以说是无微不至。

扶摇直上

达梦跟oracle的强兼容性不仅在迁移的时候体现出了优势,还体现在了其他的方方面面。
这里举两个例子。

柔性替代方案

达梦跟oracle可以互为主备。
用户在使用达梦替换oracle的时候可能会担心,万一替换的过程中出现问题怎么办。
那么这种解决方案就能很好的解决这种担忧
可以先让达梦作为备库运行一段时间。
在比对过数据没有问题之后,再让达梦切换成主库,oracle为备库。
再比对没有问题之后,就全部切换成达梦。
图片.png
在此过程中,万一出现问题可以随时切换回原有的oracle系统,这是用户比较能接受的方式。

DMDSC集群

达梦DSC集群对标的是oracle的RAC集群。
从行业上来说,可能像比方说金融类的客户可能对数据库有更高的性能和高可用方面的要求。
这是就需要像oracle的RAC这样的技术。
达梦也同样可以实现这样的技术,就是DSC集群。
图片.png
DSC支持完整单机功能,对用户透明。
采用了缓存交换技术、,能够实现负载均衡,并且可以做到应用故障切换和动态恢复等。

达梦提供丰富的解决方案满足用户多种场景需求,在市场上已成扶摇直上之势。

鹏程万里

达梦用心做科研立志于将产品尽善尽美。
相信达梦的未来一定是鹏程万里。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服