数据库技术是信息科技领域的最为重要的技术之一。随着科技的不断进步,数据库技术得到了迅速的发展,应用范围也越来越广泛。
与此同时,在数据量持续高速增长的情况下,企业对数据库也提出了更高的要求,例如数据存储越来越多,对数据库的性能要求越来越高;企业在数据迁移过程中,对数据库的兼容性、安全合规性提出了新要求;应用场景多样化也需要数据库有更强的适应能力等。而目前大火的分布式数据库,虽说可以实现对单个系统的总容量提升,但不能解决投入成本与业务容量收益的比例,即单位事务给客户带来的利润(事务利润)。
如何继续提升数据库的性能?
回归数据库的技术本原,数据库的单机性能重回聚光灯下。正如本原数据技术合伙人张程伟所说:“就像高速路一样,可以不停地拓车道,但如果能把单通道的车速翻倍,那其实是更难却更有效的方向” 。本原数据的初心正是如此,也就是回归数据库技术的最本质的东西。
本原数据技术合伙人张程伟
提升单机性能,难而有道
“无论数据库跑在哪里,不管是线下还是云上,不管是私有云还是公有云,不管是分布式还是集中式,终归都需要一个内核在一台机器上跑起来。所以说,一个强大的单机内核是技术创新的重点,是数据库技术的本原。”本原数据技术合伙人金毅在2023数据技术嘉年华上这样感慨道。
本原数据技术合伙人金毅
经历了数十年的发展,数据库技术解决的问题已覆盖方方面面,积淀形成了相对成熟完整的体系结构。除了提供数据存储的功能外,数据库系统还需要满足丰富的数据管理的需求,所以数据库的性能,不能止步于此,还应该继续提升单机性能,只有单机性能上去了,分布式或者其他数据库技术,也才能再上一个台阶。
而衡量一个技术在数据库内核当中是否是成功的运用,有一个非常简单的标准——在固定的数据计算负载前提下,能够为客户提供最低成本的方案,就是最好的技术。把成本投入和给客户提供的事务所带来的收益利润进行整合,本原数据就引入了“事务利润”的概念:越低成本投入获得越高事务处理能力,为客户带来更高业务容量就会带来更高的事务利润。只有事务利润空间有了,作为数据库和数据服务提供方与用户之间才更容易找到共赢。因此,从全生命周期角度度量方案的事务利润可以更有效度量数据库技术给用户带来的价值。
相对于集中式方案,分布式方案从理论上来讲会产生额外的网络通信成本,造成代码路径的延长和稳定性风险问题,并不能提升客户的事务利润。因此,重新审视单机的性能发挥成为考虑的关键解决之道。如果单机性能能够得到数量级突破,在固定业务容量的前提下,小规模分布式方案可考虑简化成单机方案,大规模分布式方案可极大缩减系统实施规模;既简化硬件成本、降低能耗碳排放,又提高系统稳定度减少系统维护成本,达到全生命周期的降本增效。
探究本原,金毅认为现代成本友好的主流硬件的性能无法被传统数据库内核充分发挥,总结当前硬件性能特征包括:众核CPU、大容量内存、SSD高速磁盘。使用新内核实现思路和新算法是可以充分发挥现代硬件性能,结合在关键路径消除竞争热点和压榨无效计算达到数量级提升(下一代)数据库单机性能的目标。
- 单机单核计算能力有限,单机众核可以形成数量优势带来的大规模并行计算能力。
- 大内存可以将一个交易系统中频繁使用的热数据几乎完全驻留在内存里,这便意味着数据库内核设计和实现思想可以发生一个转变,可以把主存中的业务数据作为数据计算和优化核心,去思考如何有效的使用它,而不是放在磁盘中的数据。因此,以优化频繁发生的慢速I/O为主要目的的传统数据库内核实现思想,可以转变为以优化CPU和DRAM主存间性能瓶颈的新数据库内核实现思想。
- SSD高速磁盘当前通过PCle到SSD,单盘就能够提供GB级每秒的I/O带宽,通过快速I/O能力,可以高效率地移出冷数据或将冷数据交换回DRAM主存成为热数据,支撑了上述以内存中热数据为中心的设计实现。
- 在大比重围绕DRAM主存的数据计算中,其关键路径中无效的93%的指令可以通过采用新的数据结构和算法的实现尽量压缩和消除掉,这为单机性能达到10倍提升提供了基础。
- 当数据库计算更多围绕主存发生的时候,解决CPU与主存性能瓶颈,提高CPU计算实际效率成为重点。该关注点也曾因传统设计思路被忽略。CPU Cache效率成为解决该瓶颈的关键,技术优化方面包括提高CPU Cache命中率、减少CPU Cache一致性同步和亲和性不足造成的CPU卡顿等待问题。
- 传统数据库在各主要模块的内部实现中大量存在集中式访问对象,在众核大规模并发场景下,产生拥塞热点严重影响众核计算性能发挥,需要新的技术实现尽可能分拆并行访问间冲突,解放并行效率。
本原数据在行动
本原数据合伙人张程伟表示,他们对技术的追求可以称得上“执着”,始终认为做技术不是一件花哨的事情,并以产品为导向,会坚持打磨产品、创新产品。
目前,本原数据主要研发了MogDB、Uqbar两款产品。
MogDB是基于openGauss开源数据库的内核进行研发推出的一款企业级关系型数据库,核心适用于交易型场景。
Uqbar是在openGauss内核基础上的超融合时序数据库,可以用于管理海量时序数据,也可以用于OLTP场景管理关系数据,还支持跨时序数据和关系数据的复杂关联查询,为物联网场景提供一站式数据解决方案。
国产数据库,任重而道远
国产数据库蓬勃发展的同时,也面临几个突出的问题:
- 可靠性和稳定性有待加强,数据库是整个应用系统的核心,一旦瘫痪意味着承载应用和业务中断;
- 运维人员担心迁移到国产分布式数据库后,运维技能和方式与原来相比有过大差异,无法对数据库进行有效运维;
- 对原有应用系统升级的改造成本较高,担心架构和应用的兼容性出现问题;
- 不少国产数据库只是对国外开源数据库的包装或者少量修改,难以称为真正的国产数据库。
当然,现在国产数据库软件面对的系统环境与前些年相比已经有了很大的变化,国产数据库的发展壮大,任重而道远,继续坚持做难而正确的事情是对其发展最大的助力。
数据应用的变化倒逼数据库具备更大的数据存储容量、更多的数据计算模型、更快的数据业务响应能力,整体技术发展进入后关系型阶段。行业应该在追求架构设计分布式化、模型构建场景化的同时,关注数据库技术内核,坚持打造产品的客户成功本质,坚持实事求是的技术创新,选择从单机内核为起点的演进与革新路线,让分布式和上云更高效、更有效。
“明者见于无形,智者虑于未萌。”希望有更多的像本原数据这样的企业,回归技术本原,做难而正确的事。