SACC 2019:达梦数据库推进实践与思考

2019年10月31日~11月2日,由 IT168 旗下 ITPUB 企业社区平台主办的第十一届中国系统架构师大会(SACC2019)在北京成功召开。本届大会继续沿用四大主线并行的演讲模式,设置业务系统架构设计、大数据平台架构设计、数字化转型实践和开源架构设计四大主线,为广大参会者提供了一场最具价值的技术交流盛会,深得参会者好评。

达梦公司北京公司副总经理(技术负责人) 郭一兵

武汉达梦数据库有限公司(以下简称“达梦公司”)作为国产数据库领域的推动者,在本届大会中进行了精彩议题分享,演讲嘉宾是来自达梦公司北京公司副总经理(技术负责人)郭一兵,其拥有十年以上数据库研发、产品规划、架构设计和咨询解决方案等丰富经验。拥有多个超大型业务系统去IOE化、数十个国家部委级数据库项目建设经验,带领团队实现了达梦数据库在国家电网、中国神华、中国铁建、中国民航等重大行业的核心生产系统中的广泛应用。目前致力于达梦数据库核心技术研究及达梦数据库的推广工作。

摘要:

提到达梦,相信很多人都会有所了解。作为中国数据库自主原创路线的坚定践行者,达梦公司产品已成功应用于金融、社保、民航、电力等众多行业。本次的分享从达梦数据库的关键技术演进过程出发,对国产数据库的技术发展和推进经验进行了总结,重点突出新一代自研数据库DM8及分布式数据库的相关内容,并对国产数据库未来的发展方向进行了相关展望,以下为郭一兵的演讲实录:

大家好,今天我给大家介绍一下达梦数据库推进的实践与思考。

首先我先简单介绍一下我们达梦公司的情况和产品。然后说一下技术的路线发展,再重点介绍一下DM8,也就是我们今年推出的一个新产品。

达梦公司是做国产数据库的,企业愿景是坚持原始创新、实现产业报国。这是我们公司的四个历程:

70年代末,华中科技大学的冯裕才教授带领一些学生研究数据库的理论,当时更多的是兴趣爱好;到1989年,在华中科技大学成立研究所,开始了产品的研究;到2000年我们由研究所进化成商业公司,进行了成果的转化,一直到2012年,在这个过程中国家持续对我们进行支持;到2013年之后,我们通过市场运作模式,进行全面市场化竞争。

接下来是我们产品的发展历史,从1992年依托华中科技大学成立研究所,到发布DM1、DM2、DM3,这些其实是一个产品的不断升级迭代。

后期又有DM4、DM5、DM6,中间有一段时间是在2000年之后,是开源数据库的兴起时期,对原来达梦的数据库产生了很大的冲击,对此,达梦坚定走自主研发路线,并不断提升自身能力,推出了满足市场需求的产品。2012年我们推出了DM7,当时Oracle作为事实上的数据库标准,依据于市场需求, DM7功能实现全面对标Oracle。

今年我们推出DM8,DM8在DM7的基础上进行了性能优化,在功能方面主要增加了透明分布式,因为分布式现在在金融领域的应用越来越多,我们也逐步向金融行业进行推广。

达梦数据库的理念是重视细节,简单实用。比如用过Oracle数据库,都觉得它是一个重型的数据库。达梦数据库的功能很全,也可以完全对标Oracle,同时使用起来非常简单。

根据市场需求,我们在持续改进、勇于创新,不断完善产品性能,目前已支持事务型、分析型和分布式数据库。

目前,关系数据库现在最高版本是DM8,达梦公司初期产品就是关系型数据库,后期我们也将产品线进行了扩展,以数据为核心,提供一些工具,包括数据同步平台等等,可以说,达梦是一个以数据为核心提供全产品线的的服务商。

下面和大家介绍下我们的技术发展路线。

通过上面的技术路线可以看出,早期达梦数据库都是单机运行,逐步发展到现在的分布式集群架构。详细地回顾发展路线,达梦数据库首先支持了高可用的主备架构,之后包括读写分离架构、MPP并行计算架构,后期是提供了DSC,就是共享存储集群,到最后的是分布式集群的架构,整体随着版本的提升我们所能提供的高可用方案越来越全面,我下面来一一介绍一下:

达梦最早支持的集群架构是主备集群,当时在国家电网智能电网调度项目时,用户提出来的需求,我们当时攻关解决了这个问题,就是主机将重做日志传到备机来保证一致性,也可以自动进行切换。其对标的是Oracle的Dataguard。我们通过这种方式,包括自动使用切换也好,实时复制也好,系统整体可用性可以达到较高的水平。

另外,2012年,国产数据库厂商面临着一个问题,国产数据库要和国产CPU、国产平台进行适配,之前的都是基于x86进行适配的。而国产CPU存在包括主频、内存、带宽等一些问题。

基于国产CPU在电子政务领域进行使用,大多数业务场景都是读多写少,在这样的场景模式下,我们提供了一个读写分离的方式,主机是可以写的,备机是只读方式打开。基于刚才提到的主备集群发展来的架构,它会在接口驱动层自动会将SQL语句进行分发。如果是读SQL语句就分到备机上,如果是写SQL语句就分到主机上。

实际上是把读事务的读事务给充分的并行起来了,当然这套解决方案不能解决所有的场景,但是对于读多写少的场景它的有效性还是非常高的。

我们在一些部委和央企的实际使用,如果是单节点200个并发,登陆就已经超过五秒,而对项目验收来说,他要求500个并发不超过五秒,所以只能通过读写分离的方式来提升性能,替国产CPU分担压力。如果是基于x86的,我们用单机就可以把这个问题解决,但对于国产CPU的我们必须用读写分离的方式。

另外我们还提出了并行计算的方式,在2011年大数据兴起,数据量基本上达到TB级别,现在就更大了,可能是达到PB级别。数据量对于单条复杂SQL语句并行执行来说,其他的集群都很难解决,达梦提出了MPP+列存储的方式,来将一条SQL语句充分并行起来,提高执行是金;同时也支持MPP+行存储的方式,行存表可以快速转入列存,行存表和列存表进行进行关联查询,实现了行存和列存真正进行融合。

如果是纯列存,频繁的进行插入和更新是非常不合适的,性能也很差,但是基于列存我们做了行列融合,先给表创建一个影子表,是行存表,如果你对列存表进行更新时,先更新到行存影子表里,然后在后台进行合并,把行存表的信息合并到列存表上。如果查询,能够做到对没有合并完的数据会进行必要的综合,返回给用户,会保证数据的一致性。

  达梦公司MPP可以做到高频的插入和并发精确查询,也可以进行大规模数据集上的统计分析。另外我们MPP是支持事务ACID的,就是事务的强一致性。所以在一些案例中还是可以满足一些需求的,比如说市场监督管理总局的某系统,就是大量使用了达梦MPP集群,系统主要是查询,同时必须能够处理事务,所以只能说是达梦这种MPP集群可以满足用户需求。

另外一个架构发展就是共享存储集群,Oracle现在主推的是他的RAC共享存储集群,几乎所有的用户在用Oracle进行事务处理时,肯定选择RAC方案。

这可能是国产数据库的一块心病,因为我们大部分国产数据库厂商无法实现技术突破,被认为是在高端集群上国产数据库和国外主流商业数据库最大的一个差距。达梦经过多年的研发,我们突破了此类技术, 推出了达梦的共享集群DSC。

从2011年我们就开始做,但真正成熟是在2018年。因为他不是那么容易做出来的。2016年时,一些案例中跟合作好的一些伙伴也陆续进行了大量使用,所以我们认为2018年它已经成熟。可能有一些人也听说过大家总是在宣传他们的RAC,但是迟迟没有拿出来。但达梦现在首推的方案就是共享存储集群。

另外我们在今年发布了DM8,其中提出了分布式架构,现在的一些友商,他们提出的都是一些分库分表集群,类似于MySQL这种方式。这种方式有个问题是通用性很差,例如我的应用系统很可能需要根据你的数据库进行修改。之前可能大量的SQL语句、存储过程需要修改,甚至触发器都无法使用,针对这些问题我们提出了达梦的解决方案。

其实是分布式DSC的方式,各个节点也可以读写。首先是分了三层:计算层、日志层和存储层,每一层都是独立服务器。计算层的各个节点都可以读写,实际上是个DSC,但是他们对存储层都可以访问到,其实存储层对计算层是共享存储集群,每个节点都可以访问存储层所有节点。

通过这种方式,计算和存储分离的方式解决了分布式自动扩展的问题,计算节点和存储都可以自动扩展。传统的方式或共享存储方式都达不到这个水平,但说我们来说是可以实现的。

另外日志节点,负责将重做日志应用到存储层,会对数据进行分区,同时来完成数据的多副本,分布式的主要特点都能满足。他的优点是对业务系统的兼容性非常好。因为之前所用的所有SQL语句在这个系统上不需要进行修改,这是我们的最大的一个优势,我们把历史的一些积累应用系统,和我们现在的创新点结合起来,这是我们提供的一个分布式数据库。

接下来介绍一下DM8,它对原来的功能进行了增强,比如说达梦数据库兼容性比较好,我们对国际标准、对兼容业界的测试标准(Oracle)都进行了全面的兼容,包括他所能提供的系统包以及视图,都能进行全面兼容。这样就做到了保护用户的原有投资,基于Oracle开发的系统移植到达梦上不需要修改代码。对于用户来说原有的代码完全可以在达梦上进行使用。移植过程成本费基本为零,也非常容易做到。

首先我们对面向对象的过程语言存储过程进行了改进,优化了调优和调试功能,现在通过各种方式可以达到像调试C语言或Java语言的水平,相对来说对存储过程的运维或开发会比较得心应手。

其次我们DM8对优化器方面也做了很好的兼容,传统关系数据库最难的一点就是优化器,像开源数据库和Oracle的差距也非常大。

达梦数据库在这方面也做了很深入的研发。像我们DM8在兼容性方面是兼容机器生成的复杂SQL,因为现在我们在一些应用系统中有一些机器生成的SQL语句特别长,可能达到上万行。所以这种SQL语句是机器生成的SQL语句,人看起来是非常恐怖的,对于数据库来说也不好对付。像这一类复杂的上万行一条的SQL语句的分析,我们也做了针对性的优化。

我们也提供了一个虚拟机,DM7也有,我们在虚拟机上来完成SQL语句和面向对象语言的支撑,包括我们数据库设计核心的工作日志、回滚段,分区进行了全面的改进和优化,它的性能更好,并发性也更好,稳定性也更好。

这是我们性能提升的标准。TPC-C的标准是100万,是在单台两路CPU上的测试结果,16G的内存、300G的SAS磁盘。另外我们在TPC-H的基准测试可以达到17分钟,这两个指标在国产数据库中是非常领先。

同时DM8也提供了更加完善的运维管理工具,这部分是达梦数据库之前相对的一个弱点,诸如Oracle在这方面做的相对完善,DM8已经把短板补齐了。

我们提供了一个图形化界面,对曾经发生的一些瓶颈、等待等一些问题都可以进行记录,同时给用户提供报警。也可以对目前状况提出建议,如果出现某种问题,可能的分析原因在哪里,它会自动对一些运维、经验不太丰富的人员提供综合考虑的建议。

此外DM8也在挖掘硬件的潜力,现在CPU的核数越来越多,如何去支撑多业务扩展以及TB级别的内存,包括一些固态硬盘。现在越来越多的应用系统是用在固态硬盘,非常好的服务器上。另外国产CPU也在不断的进行持续进步,我们要利用性能的提升来改进达梦数据库的性能。

DM8架构新的趋势,一个是行业融合,提出了HTAP的方式,就是通过高级日志的方式来实现。

我们写一份数据,我们会把实际情况存储两份数据,一份是以传统的行存储组织,一份是以列存储组织。这样的话,你对这个表如果要进行分析,我们直接在列引擎上查就可以。如果要进行频繁的查询操作,我们在行引擎上查,但是它是一个表,它会自动地进行分发。根据发来的SQL语句会判定是事务型语句还是分析型语句,进行自动的分发,这是DM8的一个能力。

DM8集群设计的理念是同源性,我刚才说的所有包括关系型数据库、分析型数据库、分布式数据库,主备集群、读写分离集群、共享存储集群还有MMP集群其实是一个产品,我们内部只有一个产品线,我们只用一个产品可以满足所有的场景。这个理念和Oracle是一致的。

我们提出了数据守护与读写分离的集群,每个点实际上是一个DSC集群,主DSC可以读写,但备机以只读方式打开,但它不是单机的,它是一个DSC集群,这个集群也可以实现故障自动切换、实时归档。可以实现读写分离的集群,可以自动把对方把一些读事务分到备机。

DM8对大规模并行处理MPP也进行了增强,一个是在优化器上,另外我们之前发现我们的通讯代价是比较大的,我们也会对这一层进一步的优化。

达梦公司会根据软硬件技术,发展一些新的东西,我们把一些SSD、大的一些内存结合起来完善我们的一些优势。实际上是共享存储的一些优势,多点读写、完整的数据库特性,这是达梦数据库最大的两个特点。

数据共享集群,我们在DM7主推的是两个节点,我们在DM8的时候我们已经扩展至八个节点,未来我们可能会扩展到更大,就是32个节点。因为分布式集群的扩展性比传统的架构要好很多,我们实际测试的时候它能够承受这么大的压力,所以我们现在主推是最多可以扩展到八个节点。另外我们也可以支持同城跨机房多活部署,就是我们的DSC的各个节点可以跨机房部署,机房之内可能有几十公里的距离。如果一个机房发生意外,另一个机房仍能对外提供服务。

达梦数据库透明分布式集群,是综合了分库分表,像KV集中写入KV键值数据库等数据库的优势,结合我们的优势来实现我们透明分布式的技术。

方式也可以进行扩展,这个方式的优点是鱼与熊掌兼得,一是要有分布式数据库的优点,比如可扩展性、多副本、数据的分区、避免热点这些方式我们都可以支持,另外是以前开发的一些SQL语句、应用程序,他有大量的SQL语句重组过程我们也可以继承,使用上没有大的问题,应用程序以及基于传统数据库的开发移植到分布式数据库上不需要大的修改,这是达梦最大的一个业务优点。

上图展示的是DM8的融合架构,是把分布式架构、TDD架构和达梦分布式的统一存储,包括DSC架构和RWC架构在分布式存储的统一。另外DM8要把MPP架构融合进来,像分库分表在未来也会支持。现在达梦公司主推的是DSC分布式架构,或者读写分离架构。

化繁为简,合而为一。是达梦数据库的自身优点,只用一个产品可以将所有的场景都可以兼容,因为数据库最难的一点是通用性,数据库一套产品要满足相当多的产品,我们不会把它做成多个产品。如果是一个产品,可以对我们人员、资源投入进行集中。

最后进行简单的总结。数据库国产化的关键:

一是复杂应用如何进行有效的移植,达梦数据库会向Oracle进行全面的兼容,基于Oracle开发的应用程序移植到达梦不需要修改程序。像Oracle的接口我们也进行了完整的兼容,不需要再对接口进行修改。把接口处Oracle的驱动换成我们的驱动,修改下连接串和头文件并重新编译,就可以从原来连接Oracle的数据库连接到达梦数据库,这个方式移植成本为零。

数据库国产化的发展关键是什么呢?,用户对达梦数据库存有疑虑,例如我基于你上线总是害怕会宕机或出现严重故障。针对这样的疑虑,达梦公司提出了解决方案,原来Oracle的数据库不用扔掉,可作为备机来使用,建议用户通过一个实时同步工具——DMHS,是达梦公司的一个独立工具,是异构数据库,它可以将达梦数据实时同步到Oracle库上。

达梦数据库通过软件工程化实现的方式来柔性迁移,从国外数据库迁移到达梦数据库上,用户不需要大量的修改,用户虽然换成了国产数据库,但他仍然会感觉是原来的国外商业数据库,设计理念、使用习惯都是一样的,这会是一个平滑的过渡,对用户来说是可以接受的,也节省了用户的成本。

此外对于达梦来讲,无论是架构的演进、产品的策略,我们都是以用户需求为引导,未来,我们依然会以用户和市场的需求为导向,打造满足时代需要的产品!我今天的分享到这里就结束了,谢谢大家!

Image placeholder
IT头条
未设置
  48人点赞

没有讨论,发表一下自己的看法吧

推荐文章
SACC 2019:云闪付APP架构优化实践之路

中国银联科技事业部架构师 程朝程朝2011年加入中国银联,拥有三年应用开发设计经验,三年MySQL与Redis内核开发设计经验,三年应用架构设计经验;擅长分布式系统设计,有丰富的系统设计与调优经验,现

SACC2019:爱奇艺的大数据中台战略(附演讲实录)

  孙斌爱奇艺高级总监主要负责爱奇艺的大数据中台、商业智能、内容智能制作等业务。在互联网产品设计和研发方面有十多年经验,曾就职于微软、hulu、雅虎等公司。摘要:爱奇艺的业务已经从单一的视频业务发展为

DTCC2019:陌陌直播推荐的0到1

作为社交+直播行业的领军者,陌陌直播依托于开放式社交平台所承担的职责不同于社交和短视频推荐,需要在内容分发、社交匹配和营收目标上进行综合考虑。如何进行多目标分发的问题抽象和预估建模,以及针对业务的独特

盘点2019:对国产数据库的一点观察和总结

“想,都是问题,做,才有答案”—–华东师范大学副校长、CCF数据库专委会副主任周傲英。之所以开篇引用周教授这句话,是因为笔者觉得,这短短10个字,是对国产数据库发展的最好诠释。中国能否翻越数据库这座大

直击DTCC2019现场:数据库智能化运维探索与实践

5月10日,第十届中国数据库技术大会(DTCC2019)正在火热进行中。作为本届大会讨论的焦点之一,“数据库智能运维”专场人气爆棚,来自京东物流、腾讯、字节跳动、京东商城、便利峰的行业专家出席现场,他

借力中国数据库技术大会 达梦DM8数据库新品正式发布

5月8日—10日,第十届中国数据库技术大会(DTCC2019)如约而至。本届大会以“数据风云,十年变迁”为主题,设定2大主会场及21个技术专场,邀请了来自国内外互联网、金融、教育等行业百余位技术专家,

HPC CHINA 2019:面向E级计算时代的HPC/AI协同设计

蓝天飘白云,牧场奶茶香。蒙古大营雄风在,琴声传远方。骑马又滑沙,豪饮河套王。敖包相会歌一曲,笑发少年狂。中国一年一度高性能计算领域的盛会——全国高性能计算学术年会(HPCCHINA2019)在内蒙古呼

DTCC2019 :“数据架构设计实践专场”等您来!

  2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京新云南大酒店召开。本次大会将以“数据风云,十年变迁”为主题,邀请百

Oracle ADW业务数据平台点亮DTCC2019数据库技术大会!

数字大脑、互联网+、智能+、人工智能、边缘计算……信息技术领域好像从不缺少概念,但无论世界如何变化,数据是一切业务的核心。要想有效管理、分析和挖掘数据带来的价值,数据库一定是必需品。2019年5月8日

华为斥资1.5亿启动金种子计划, ITPUB联合推进数据库生态建设!

9月19日,主题为“鲲鹏聚数,‘芯’融合数据基础设施,使能数字经济”峰会在上海世博展览馆召开。期间,鲲鹏智能数据产业联盟-数据库产业推进组,举行成立仪式!数据库产业推进组,主要由华为牵头,联合产、学、

嗨!你的 2019 晒好封存了吗?快来看程序老兵的 2019 吧!

时间过得真是太快快快了,2019还剩下最后几个小时了。回望即将过去的这一年,老兵哥做了不少事情,有计划内的,也有计划外的,当然还有不少事情没做。赶在最后时刻晒一晒我的2019年,希望从成绩荣誉中获得一

一篇文章看懂,存储虚拟化在不同用例中的实践与优势

存储虚拟化是一种对物理存储资源进行抽象的技术,使其看起来像是一个集中的资源。虚拟化掩盖了管理内存、网络、服务器和存储中资源的复杂性。存储虚拟化运行在多个存储设备上,使它们看起来就像一个单一的存储池。这

大咖齐聚DTCC2019,共论云数据库前景

2019年5月8日,由IT168旗下ITPUB企业社区平台主办的第十届数据库技术大会(DTCC2019),在北京新云南皇冠酒店正式开场。本届大会以“数据风云十年变迁”为主题,百余位行业专家就热点技术话

(PPT 下载,来了!)DTCC2019 中国数据库技术大会见证实录

2019年5月8日-10日,DTCC2019第十届中国数据库技术大会历时3天,圆满收官。作为国内顶级的数据领域技术盛会,共有23个技术场次,邀请超过125名专家,包括来自阿里、京东、苏宁、滴滴出行、百

DTCC2019数据库技术评选结果全面揭晓,四大类别奖项新鲜出炉!

数据风云,十年变迁,而DTCC是一切变革的见证者。作为数据库领域顶尖级的盛会,DTCC已经成功举办了九届,今年是第十届。继承往届会议规模大、涉及话题更前沿、演讲内容更深入等特点之外,DTCC2019数

国产自研数据库DM8发布 看冯裕才的四十年“达梦”之路

5月8日下午,借助第十届中国数据库技术大会(DTCC2019),国内知名数据库管理系统和大数据平台软件及解决方案提供商、武汉达梦数据库有限公司(以下简称“达梦”)发布了新一代数据库产品–DM8。这一天

2019数据库趋势研究:谁是最受青睐的数据库?

哪些数据库在2019年最受青睐?本文向DeveloperWeek的数百名业内人士咨询了当前NoSQL与SQL的使用情况,得到了有关MySQL、MongoDB、PostgreSQL、Redis和其他方面

2019数据库趋势研究:谁是最受青睐的数据库?

哪些数据库在2019年最受青睐?本文向DeveloperWeek的数百名业内人士咨询了当前NoSQL与SQL的使用情况,得到了有关MySQL、MongoDB、PostgreSQL、Redis和其他方面

DTCC2019 爱奇艺实时数据传输服务

数据库间实时数据传输服务可简化业务系统的数据架构,使其专注于业务开发。DBIO是爱奇艺研发的数据库间实时数据传输服务,用于同异构数据库间实时复制与数据变更捕获,是业务系统数据共享的核心通道。作者:郭磊

探秘ASC19:首次设置的“超级团队对抗赛”究竟是什么?

4月21日,2019ASC世界大学生超级计算机竞赛(ASC19)总决赛在大连理工大学正式拉开帷幕。根据赛程,在4月23日正式竞赛之前,所有参赛队伍的主要任务是完成竞赛系统的搭建与调试,力求在3000瓦

准独角兽雷鸟科技出席SACC2019,讲述AI在场景互联网下的创新革命

10月31日至11月2日,由IT168旗下ITPUB企业社区平台主办的第十一届中国系统架构师大会(SACC2019)在北京召开。作为国内最具价值的技术交流盛会,也少不了今年热门的智慧大屏话题。据了解,

来SACC2019共论“数字转型 架构演进”之道

2019已经过半,第十一届中国系统架构师大会SACC2019的脚步也越来越近了,十年来中国系统架构师大会SACC一直紧跟系统架构关键技术热点,成为架构师、CTO、CIO以及各研发人员学习交流的前沿阵地

再见,2019!你好,2020!

今天,是2019年的最后一天。虽有不舍,但终归还是得说再见!明天又会翻开新一年的篇章,希望各位在新的一年都能升职加薪迎娶白富美,走上人生巅峰。19年某月某日突发奇想,想用公众号分享一下这些年学到的技术

送别2019,期待2020!

概述2019年时间过得很快。有欢笑、有离别、有压力、有收获。关于工作项目发生了变动,团队也发生了变动,不过总体是成长的,在这感谢领导的关照、信任!下半年开始学习Go语言,并用Go进行搭建项目,也算是刚

2019年8月数据库流行度排行:双星闪耀 MySQL 成月度最大赢家

炎炎夏日,DB-Engines的8月榜单已经发布,本月积分MySQL获得了最显著的增长,较上月增加了24分,Oracle获得了18分的增长,Oracle公司的两个王牌产品,闪耀8月。以下是前10名的榜