【云驻共创】如何使用openGaussNUMA技术,实现金融核心数据库性能提升30%

举报
小小小夜游神 发表于 2021/07/09 21:18:16 2021/07/09
【摘要】  MogDB&openGaussNUMA新基建和新机遇——中国数据库源流和发展谈到数据库 ,云和恩墨创始人盖国强将其分为四个学派——学院派:始于高校和研究所的中国数据库,,直至今日,源自高校的极大多数据库公司仍然是国产数据库的重要力量。其中包括人大金仓,武汉达梦等。互联网派:互联网企业参与的数据库建设。他们通过自主研发或是借助开源,解决了自身的应用问题。并依托云平台,展开了云数据库的应用推广...

 MogDB&openGaussNUMA

新基建和新机遇——中国数据库源流和发展

谈到数据库 ,云和恩墨创始人盖国强将其分为四个学派——学院派:始于高校和研究所的中国数据库,,直至今日,源自高校的极大多数据库公司仍然是国产数据库的重要力量。其中包括人大金仓,武汉达梦等。互联网派:互联网企业参与的数据库建设。他们通过自主研发或是借助开源,解决了自身的应用问题。并依托云平台,展开了云数据库的应用推广。例如阿里巴巴的OceanBase、PolarDB、腾讯的TDSQL、TBase等,都成为了来之能用,用之则稳的核心武器。创业派:一支新兴的独立数据库创业企业力量。技术创业者和资本结合,在新时代催生了一系列的新兴数据库企业,这其中包括巨杉,PingCAP、偶数、星环、柏睿数据、星瑞格、易鲸捷等,创业核心多数来自于Oracle、IBM、Inter、HP、EMC等国际企业。科技派:参与到数据库核心公关中的头部科技企业,这其中包括华为、中兴、浪潮等,华为在2019年推出了DaussDB,中兴推出了GlodenDB,浪潮则推出了K-DB,深谙企业服务之道的头部科技企业的介入,让数据库和商业市场运作彻底消除了隔膜,迎来了加速奔跑的时代。

需求驱动 :原生演进和数据库进化

如此多的企业在创新在创造,那么数据库到底要解决什么问题,数据库的领域里为什么还有这么多待解决的问题。真正的创新都是以用户的需求来推动的,那么在用户使用数据库的过程中,都会面临什么样的挑战。有两点核心问题:互联网式的洪峰流量以及海量的高并发,例如,Oracle数据库,其系统里有2008个核心,4TB的内存,这是今天经常能见到的硬件的处理能力。但是在这种常见的数千核心,TB级别的内存的场景下,数据库如何能发挥出它真正的计算能力,仍是一个挑战.

凝望深渊:千核算力下的并发控制

在千核算力下,如何实现更好的并发控制。我们总希望提供更好的硬件,但硬件提供了,性能下降了。经常会看到一个数据库系统上,只有一核CPU在100%运转,而其他的核心则非常空闲,这就使整体性能无法展现的一个高效的状态。也就是说,服务器的处理核心数是数据库性能提升的巨大挑战。


关键创新:多核和并行技术的持续创新

面对这样的场景,openGauss做出了一些变化,它不断通过架构的重构,机制的优化,内核上的创新和引擎上的增强,来解决多核处理下的性能问题。openGauss有不少特性,例如它支持CSN快照,增量checkpoint,NUMA多核优化等,通过这些优化,使得中国数据库第一次具备了数据库和处理器之间的联合调优。这在以前是不可能的,但有了鲲鹏的处理器,才能做出这样的改变。比如,我们在CPU 元子级的处理上,比如CAS的指令级,在数据库的处理上会看到标准的处理步骤的4个指令完成,但通过指令级的优化,在鲲鹏处理器中,就优化成了1个,这样就提高了10%的性能。

 实践挑战:32位事务号回卷带来的业务停滞

在内核上,openGauss做出了几个重要的增强。例如,解决了32位事务号带来的回卷问题。即当32位事务号跑满余量时,整个数据库就会陷入停滞状态,必须重新回收事务号才能进行再次应用。这对于所有用户来说是一个灾难。

再如,在Oracle数据库中,之前是使用了48位做的CSN序列号(最早应用于中国电信),如果这个序列号用尽,那么整个数据库就“死掉了”,不能进行任何事物,并且不可回收。直到12.2版本才把CSN改成了64位,从而彻底解决了这项问题。

关键创新:64位事务号的增强和CSN快照

而如今的openGauss解决了这项问题,使其实现了无尽的状态。64位事务号的增强,不仅解决了事务号回卷的问题,使得数据库可以持续运行,还实现了静态快照,也提高了查询的速度,从而提供了更高可用性的企业级服务。

实践挑战:事务绿率和日志写的核心瓶颈

这是一个Oracle的案例中的示范,是一个金融级客户的核心。从以下数据中我们不难发现,它最显著的是等待log filesync,即日志同步。它的等待时间达到了16000秒,而数据库总时长为18000秒,load的时长还不到1。而且就单核来看,它的日志写也已经达到了100%。这使得日志处理成为了核心瓶颈。

核心优化:CLOG Partition并行提高性能

为了解决这种所有数据库面临的问题,openGauss数据库将日志pageno均分到多个共享内存的缓冲池中,由线程局部对象的数组ClogCtidate来记录(Clog日志为事务提交日志,用来加速通过日志判断事务状态的过程),同时同步增加共享内存中的缓冲对象及对应的全局锁。

MogDB:最易用的openGauss商业版

OpenGauss开源之后,云和恩墨就率先推出了openGauss发行版。其理念是想打造一个最易用的openGauss商用版。一个数据库只有优秀的内核是不够的。云和恩墨想要围绕openGauss的内核来打造一个丰富的周边的生态。使用户能够将内核在其商用环境里应用好,出现问题时能及时得到解决,帮助用户切实的把openGauss应用起来。

MogDB:云和恩墨发行版的特性

一个商业级的数据库应当具备的四个特点:高可靠,高性能,易用性,兼容性。例如其中的高性能,openGauss在四路服务器上已经达到了230万的TPMC,只是一个非常卓越的指标,和当年的11g版本的oracle在多路服务器上达到的性能指标是相当的。

 高度的异构兼容性与闪回特性

除了传统的对象和语法兼容外,云和恩墨正在开发的闪回特性。众所周知,flashback是Oracle里一个重要的创新,即当我们发生误操作后,可以通过一个flashback的查询将数据找回来,现如今已经在openGauss中得到实现。

丰富的企业级特性

如今云和恩墨所做的,包括围绕openGauss的内核,将日常使用过程中的所需要的全线工具全部打造出来。其中包括数据库的迁移工具,测试工具,监控工具,以及数据恢复工具。这些工具研发出来以后,在内核和外部都会分步骤的进行开源。

1.自治的高可用切换

目前在所有的商业案例中,用户最看重的是当数据库出现问题的时候,如何实现自治的高可用切换。基于此需求,云和恩墨开发了Gauss-GSHA高可用切换组件。它所做的就是判断各种异常的场景,当数据库发生异常时,在备库里重新进行选择和自动切换,而在主备切换指令后10秒内,备机就可以接管业务。

2.自治的备份恢复管理

现实应用中,如果数据没有备份而碰到数据库崩溃的情况,那将是一个灾难。由此诞生的GSBRM则实现了自动化的数据库备份恢复管理,备份管理组件不仅可以对内网的数据进行备份,还可以将备份和公有云联通来使用公有云的远程存储。

极致性能—MogDB金融场景tmpC里程碑

在MogDB的基准测试中,openGauss在X86环境中实现了52w的TPMC,而在鲲鹏两路服务器中因为与其实现了联合调优,实现了156w的TPMC ,是X86环境的3倍。

成功案例-单机和分布式架构实践

在邮储银行的客户的场景里,借助一些分布式的中间件,实现了分布式的架构,替换了传统的商业数据库。

MogDB民生银行实践获超级用户大奖

民生银行去年已经将其几个业务上线到openGauss的数据库上,openGauss和MogDB为其也提供不少的核心价值。例如:1国产开源,迭代速度特别快;2架构简单,支持混合负载,适合替换传统数据库;3与pg生态兼容性好,厂商的的支持力度强;4由于源于国产商用数据库内核,稳定性强。由此民政银行联合MogDB实行了2020的推广计划。

云和恩墨+华为:优势和展望

国产数据库已经开始进入百花齐放和高速发展的蓬勃期,虽然将会经历一个漫长的阶段,但是不论国际风云如何变换,中国数据库一定会崛起。云和恩墨和华为一定会为大家提供一个新的数据库产业的解决方案。

视频链接:https://live.huawei.com/hdc2021/meeting/cn/8258.html

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。