暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【海量在峰会】数据库技术主题演讲:解析Vastbase查询加速器如何激发数据库潜在性能

海量数据 2023-05-17
1174


在技术盛会“鲲鹏开发者峰会2023”召开的第二日,海量数据携手各行业CIO、CTO、信息技术部门负责人、开发者及其他数据行业从业人员开办伙伴专场分论坛,以海量数据库内核技术创新、数据库人才建设新进展、企业数字化转型新成果等为主要议题,吸引高朋满座,共话数智时代建设的远大前程。


海量数据解决方案部总监白玥在论坛上以数据库核心技术会友,围绕海量数据核心数据库产品Vastbase的查询加速器,向与会嘉宾展示海量数据库贡献的方案是如何激发数据库潜在性能的。


1

经典SQL执行框架下存在的问题


白玥指出,基于社区版openGauss现有的缓存机制和SQL执行框架,当业务场景中涉及到热点数据、复杂查询等,会出现性能瓶颈、并发峰值以及资源过度消耗等问题,而Vastbase数据库针对这些问题不断进行内核优化,最终实现了提升响应速度、降低服务器负载等优化目标。


基于经典的SQL执行框架,面向特定的业务场景,可能会存在什么样的问题?从客户端发送SQL语句到返回结果给客户端,大概会经过三个关键阶段:


01

对SQL语句进行查询解析,解析器会进行词法、语法解析、语义分析,并生成一棵查询树;

02

进行查询优化,优化器会基于查询树进行查询重写,然后再根据代价模型生成自下而上效率最高、代价最小的一棵计划树;

03

执行器根据执行计划对相应的数据进行读取、计算、删除、更新等操作,最后以返回正确的结果给客户端。

当并发峰值出现,执行器在执行SQL时需要不断地和存储引擎交互,并读取磁盘文件中的数据,这样一来就会产生大量的计算和IO消耗。


2

Vastbase 查询加速器

基于上述场景和问题,Vastbase是基于openGauss自主开发的企业级关系型数据库,新增了基于结果集的缓存。在Vastbase中,对SQL执行结果缓存是放在后端线程使用的内存中,而且所有的后端线程共用一套缓存数据,并且共用一张缓存表,对于DQL事务可以直接调用缓存结果,对于DML事务会触发缓存失效机制。当用户面向AP型场景,读远大于写,方案价值会得到最大化利用


当Vastbase引用了查询缓存,对于SQL的执行仍然会保有全部的流程,并会在每一个阶段完成是否命中缓存的判断,同时通过叠加result_cache算子,在执行器阶段直接调用缓存结果集,反馈给客户端,这样可以大大避免计算、表扫描等有开销的操作,既保证了整个流程的完整性,同时又能提高效率


3

技术特点以及优化效果


根据白玥的介绍,Vastbase查询缓存方案的一大特点是保留了SQL执行的所有流程很大程度上加强了整体的规范性和扩展性


Vastbase设计的方案是基于Parser匹配来判断是否可以调用查询缓存,这样做的目的是让SQL的执行更加规范和完整,比如说对于不同的SQL形态,MySQL中基于文本匹配的缓存方案就无法成功匹配,但是在Vastbase里,只要最终生成的查询树是一样的,依然可以调用缓存结果集。


Vastbase的缓存方案采用了全局缓存,进而取代了多版本缓存方案,能够减少对于内存的占用以及对缓存失效判断的复杂性。


与此同时,当有多个会话同时执行同样的查询、访问相同数据时,Vastbase通过引用计数、锁、缓存状态等,严格做好并发控制和管理。此外,为了保障结果的准确性,海量数据的研发人员还针对内核的事务机制做了深入研究和分析,尤其是在事务提交阶段,做了细粒度的切分,可以精准地控制缓存失效的时机


尾声



在分享接近尾声时,白玥表示海量数据对于数据库的探索和攻关远远不只于此,作为专注研发国产数据库的业内领军企业,海量数据诚挚地期待大家持续关注,共同见证产品的创新突破。




文案撰写|冀昱樵

图文编辑|冀昱樵

视觉设计 | 尹荣慧

内容审核|市场营销部


于海量数据

北京海量数据技术股份有限公司(股票代码:603138.SH)成立于2007年,是国内首家以数据库为主营业务的主板上市企业。公司十余年来秉承“专注做好数据库”的初心,始终致力于数据库产品的研发、销售和服务。核心产品海量数据库Vastbase系列、数据库一体机Vastcube系列,全栈国产化,应用满足度高,目前广泛应用于政务、制造、金融、通信、能源、交通等多个重点行业,已成为国产企业级数据库的首选之一。



文章转载自海量数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论