巅峰对话在线研讨 Q&A:Oracle Database 21c vs openGauss 2.0新特性解读和架构演进
2021年11月11日,墨天轮《巅峰对话》栏目邀请到了两位数据库领域的巅峰人物:云和恩墨创始人李国良教授,为大家带来了在线研讨《Oracle Database 21c vs openGauss 2.0新特性解读和架构演进》,并对数据库技术演进和生态发展进行深入探讨。
两位老师一共围绕10个特性作了深入、独到的解读,强强联手、共创了一场精彩的技术盛宴。当天的直播间吸引了2600余人次观看,朋友们的提问互动也十分积极热情,小编整理了其中的代表性问题,请老师为大家解答。同时还在附上了本次直播课的视频回放、PPT课件下载供大家下载、回顾。
??直播资源
- 学习视频:https://www.modb.pro/video/5471
- 课程资料:https://www.modb.pro/doc/49883
??问答汇总
Q1:openGauss在向量化引擎结合SIMD上有哪些特性?看开源出来的里面仅有计算Crc时才调用SIMD函数
李国良老师:openGauss在SIMD方面有一系列向量化优化机制,使用了大多数SIMD指令进行编译优化(例如sonichashagg和sonichashjoin)。可以参看openGauss向量化优化代码了解详情。
https://gitee.com/opengauss/openGauss-server/tree/master/src/gausskernel/runtime/vecexecutor
Q2:Oracle在自治数据库上有很多创新,请问OpenGauss这方面有什么进展吗?
李国良老师:openGauss一直引领DB4AI和AI4DB的发展。从首个版本开始就在不断的开源和丰富AI这块的能力。其中AI4DB包括智能索引推荐、系统CPU趋势预测分析、慢SQL诊断、智能参数调优等功能,未来还会进一步开放包括系统诊断、异常访问检测、代价自治估计相关能力;在DB4AI方面,打造了库内AI能力,性能比库外AI提升了5-10倍,而且实现了数据不搬迁、一站式智能AI分析能力。
Q3:请问 Oracle 21c的内存持久化是怎么样的?
盖国强老师:Oracle目前的内存持久化还只是在X8M以后版本的一体机中作为二级缓存提供,目前还没有在普通的数据库中提供这个功能。
Q4:openGauss账本数据库一主两备,支持逻辑备库吗?
李国良老师:目前openGuass的账本数据库不与特定的部署形态绑定,支持逻辑备库。后面还会开源基于多方的防篡改数据库能力。<
Q5:openGauss的1主2备,1主1备1联级,DCF(全称是Distributed Consensus Framework,即分布式一致性共识框架 )的优缺点是什么?
李国良老师:社区版本openGauss1主2备,1主1备1级联备均只支持HA机制,通过quorum协议保证数据的一致性,但是当发生故障后依赖于外层对接的集群管理组件来选主;DCF不依赖于外部的第三方冲裁节点,实现DN节点的自选主,对于一个完整的故障恢复流程来说,可显著降低系统复杂度并提升RTO能力。
Q6:DCF是不是分布式库?开源的openGauss没有这个特性吧?
李国良老师:开源社区2.1版本已经支持是针对单分片来说的,不同的备节点分配不同的职责,实现故障下的自主选主。
Q7:刚在Oracle 19.12版本数据库上测试那个不可改变表。报错:
ERROR at line 1: ORA-00406: COMPATIBLE parameter needs to be 19.11.0.0.0 or greater ORA-00722: Feature "Immutable table"
compatible string 19.0.0
修改compatible 到19.11能实现吗?
盖国强老师:可以的,修改初始化参数compatible到19.11或19.12,重启后就可以。需要注意该参数只能调大,不能调小。具体可以看我的文章:
《Oracle 21c 新特性:不可变表 Immutable tables 提高安全》
Q8:MOT使用起来和普通表有什么不同?
李国良老师:openGauss为了将MOT存储引擎集成到openGauss中,使用和扩展了现有的外部数据封装(FDW)机制,因此在建表的时候MOT表体现为一个外表,如下所示:create FOREIGN table test(x int) [server mot_server];
后续使用和普通表没有差别,但是由于MOT表是存储在内存中的,因此整体的查询性能高。
Q9:自定义函数是不是也可以完成封装功能,SQL宏是不是主要是性能考虑?
李国良老师:主要是业务的便捷性和高效性。
Q10:开启AI智能基数估计对数据库性能有什么影响吗?
李国良老师:在openGauss中,AI预测分成两种形态,其中AI4DB是在系统外部进行评估预测,对数据库性能没有太多的影响,AI4DB Kernel则是在数据库内部基于语义及数据进行处理,会影响系统的负载,在线调优、智能基数估计等功能属于这一类,这个时候需要为此类任务分配单独的资源。
Q11:现在openGauss中统计信息(使用AI智能估计)的收集能不能自动完成吗?需要人工参与吗?
李国良老师:AI基数估计模块内嵌至系统内部,收集和估计任务均可以自动完成,无需人工参与。
Q12:openGauss除了要紧随Oracle的功能实现外,还在为方便故障处置方面做了不少工作啊,会不会有丢失性能呢?
李国良老师:openGauss为了增强诊断能力,采集了很多指标信息,对数据库性能有微小影响。但针对标准TPCC性能测试,目前openGauss的性能在市场上具有很强的竞争力。
Q13:使用Prometheus采集openGauss哪些表可以获取慢SQL等AI4DB监测相关信息?
李国良老师:慢sql采集是基于statement_history系统表来实现的,表中记录了慢sql语句脱敏后信息。
Q14:MySQL的innodb_dedicated_server参数,openGauss有类似的吗?
李国良老师:MySQL的该参数主要是用于配置pool大小或者log大小,核心还是在可以占用全部资源的情况下设置innodb的能力。openGauss通过开启enable_MOT来启用相关能力,然后pool size或者log size可以通过其他渠道设置。
Q15:openGauss中慢sql解决方法中有类似于Oracle中的手动滞留内存中,以解决磁盘读或全表扫描慢的方法吗?
李国良老师:不同于Oracle的内存格式,openGauss的总体思路是把采集的信息拿到外面的训练平台,基于决策树或者随机森林算法,分析和挖掘全表扫码或者磁盘读等慢sql根因。
Q16:Oracle自动索引期间对系统的影响是什么?
盖国强老师:Oracle推荐自动索引创建的环境是一个没有索引的“干净”的环境,这也就意味着所有的查询都要以全表扫描的方式执行并由数据库来评估索引,如果系统IO能力不足,基本上不太可能跑得动负载,这也是Oracle目前只把这个功能开放在一体机上的一个原因。如果想要用这个功能,还是建议在测试环境把索引校准后,在正式环境手工部署。
Q17:基于opengauss的国产商业数据库有哪些呢?比较优秀的是?
李国良老师:目前基于openGauss的国产商业数据库有很多,比如云和恩墨,海量数据,深信服,优炫,超图,人大金仓,神通,有蓉,东华龙腾,沃趣等。每个产品都有自己的特色,可以查看相关的产品说明。
Q18:Oracle 21c统一审计的缺点有哪些?
盖国强老师:如果不考虑bug和产品成熟度的话,统一审计带来安全方面的强大功能而其负面影响主要来自性能方面,对性能的影响却决于审计的粒度,审计的粒度约细,显然带来的额外的成本越高。如果是一些频繁的查询操作都要进行审计,那么系统的负载可能会成倍的增加,因为原本的查询压力已经被转成DML压力了。
Q19:审计的最令人头疼的不是存储问题,而是审计对数据库系统性能的影响,如何平衡性能和审计,两位老师如何指导?
李国良老师:目前openGauss及Oracle都发布了统一审计的能力,统一审计的优势就是可以只针对自己所希望审计的行为进行监控,从而降低整体的审计的日志量,在性能和审计之间寻找平衡,提高审计效率。
Q20:隐私计算现在也是很热的领域,请问李老师:全密态数据库,是否可以用在隐私计算上呢?
李国良老师:可以,本身全密态数据库就是基于密码学思想的,同态加密算法是当前全密态数据库的核心技术之一,同态加密也同样适用于隐私计算领域,例如,基于Paillier加密系统,提出了一种面向智能电网的隐私保护的数据聚合方案,该方案能够保护用户隐私并抵抗多种攻击。
Q21:随着多租户越来越多,停机的挑战越来越大,Oracle什么时候能支持动态调整SGA?类似 MySQL/SQL Server 等都可以动态调整内存大小。
盖国强老师:Oracle从9i开始一直都支持动态调整SGA,到了11g开始支持SGA和PGA之间相互调整。我相信楼主的问题应该说的是SGA_MAX_SIZE的值,这个值的限制本质上是来自操作系统而不是数据库本身,在Oracle中可以将SGA_MAX_SIZE设置到相对合理的大小,而不不必后续重启再去调整。在我们维护的众多案例中,因为调整SGA需要重启的需求其实很少见。
Q22:现在数据库中的AI算法,是每套数据库有自己的算法运行还是运行的现成AI模型?如果AI模型升级了需要怎么操作?升级数据库版本?
李国良老师:大部分的数据库AI能力还是集成已有的AI模型来处理,AI模型被整合成算法库,如果AI模型升级更新算法库即可,或者可以升级与之适配的数据库。
Q23:openGauss是商业的还是类似MySQL开源免费的?
李国良老师:openGauss本身是完全开源的,开源协议采用Mulan PSL v2,基于openGauss开源数据库很多数据库厂商发布了商业版本的数据库。
Q24:openGgauss目前支持什么操作系统?
李国良老师:openGauss目前官方支持的操作系统包括openEuler和Centos,但是社区我们的开发者也适配了包括Ubantu,麒麟等在内的操作系统。详细可参见openGauss官方网页信息:
https://opengauss.org/zh/download.html
Q25:openGauss会跟着PostgreSQL新版本一起更新吗?
李国良老师:openGauss是独立演进的开源数据库,并不会跟着PG一起更新。
Q26:openGuass以前对服务器要求挺高的。 同样的服务器会卡死,但是hive就不会。现在有多大改善了?
李国良老师:目前openGauss内核团队已经对数据库资源的利用进行优化,相信在很快社区版本就会得到了改善。
Q27:Oracle的自动化索引的使用场景有哪些? 可以直接部署在OLTP大型数据生产环境吗?开启后创建自动索引时会影响系统吗?
盖国强老师:目前的自动索引功能还是用在OLAP上,Oracle针对OLTP的自动化产品还未发布,更确切的说服应该是目前还仅支持一体机的环境,由于一体机的硬性要求,实际使用的目前还不是很多。
Q28:基于PostgreSQL的数据库都有哪些呢?
李国良老师:目前市面上基于PG的数据库有很多,如polarDB for PG,GreenPlum等。
Q29:openGauss 的安装方式有没有计划推出界面向导模式,同时如果能在Windows中运行那就更给力了。
李国良老师:感谢您的建议,目前openGauss正在对接类似的界面工具,相信不久将来就可以跟大家见面了。
Q30:请问如何看待国内正在加快去IOE的进程这个问题,谢谢!
李国良老师:去IOE是当前国产数据库发展的一个较好的时机,基于当前国内市场的场景应用,国产数据库可以快速的打磨,不断催熟稳定,同时从大的宏观层面上来讲,也是国家基础软件安全的重要一环。
Q31:目前opengauss不支持Oracle rac这种集群模式,用什么代替?opengauss以后会有类似rac这种模式的支持么?
李国良老师:openGauss将会在明年发布共享存储的解决方案。
Q32:openGauss在对标Oracle性能方面都做了哪些努力,同场景下能达到Oracle的什么标准呢?
李国良老师:openGauss具有自己的独立的演进思路,围绕着高性能、高安全、高可靠、高智能等核心领域打造自己的核心竞争力。在这个过程中,openGauss也会汲取不同数据产品的优点和部分设计思路,满足不同业务场景的需求。
Q33:opengauss在大数据方面目前有成熟的案例吗?
李国良老师:基于openGauss内核,华为云发布了DWS解决方案,目前已应用在了各个大数据分析领域。
Q34:openGauss和Oracle在应用场景上有区别吗?
李国良老师:openGauss和Oracle都属于关系型数据库,在应用场景下根据业务场景的不同会各有优劣势,openGauss更适合对高并发、高性能要求比较多的业务场景。
??直播福利名单
为了感谢大家对本次活动的支持,我们送出了Gauss松鼠会定制保温杯、墨天轮秋冬卫衣……,并且为所有积极参与提问的用户都送出了20 墨值的奖励,从中挑选了3位幸运用户送出李国良教授亲笔签名的《openGauss数据库源码解析》一本。在直播间中参与连线的两位用户则可以分别获得由盖国强老师亲笔签名的《数据安全警示录》一本。具体的中奖名单可点击??【巅峰对话直播福利名单新鲜出炉!】查看
还没有领取奖励的朋友也请尽快联系请获奖用户联系墨天轮小助手的微信(小墨:modb666),抱走你的礼品哦~
查看原文:https://www.modb.pro/db/165295
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯