本原数据:回归数据库技术本原,做难而正确的事

news/2024/10/19 2:18:38/

数据库技术是信息科技领域的最为重要的技术之一。随着科技的不断进步,数据库技术得到了迅速的发展,应用范围也越来越广泛。

与此同时在数据量持续高速增长的情况下,企业对据库也提出了更高的要求,例如数据存储越来越多,对数据库的性能要求越来越高;企业在数据迁移过程中,对据库的兼容性、安全合规性提出了新要求;应用场景多样化也需要数据库有更强的适应能力等。而目前大火的分布式数据库虽说可以实现对单个系统的总容量提升,但不能解决投入成本与业务容量收益的比例,即单位事务给客户带来的利润(事务利润)。

如何继续提升数据库的性能

回归数据库的技术本原,数据库的单机性能重回聚光灯下如本原数据技术合伙人张程伟所说:“就像高速路一样,可以不停地车道,但如果能把单通道的车速翻倍,那其实是更难却更有效的方向” 。本原数据的初心正是如此,也就是回归数据库技术的最本质的东西。

本原数据技术合伙人张程伟

提升单机性能,难而有道

“无论数据库跑在哪里,不管是线下还是云上,不管是私有云还是公有云,不管是分布式还是集中式,终归都需要一个内核在一台机器上跑起来。所以说,一个强大的单机内核是技术创新的重点,是数据库技术的本原。”本原数据技术合伙人金毅在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场景管理关系数据,还支持跨时序数据和关系数据的复杂关联查询,为物联网场景提供一站式数据解决方案。

国产数据库,任重而道远

国产数据库蓬勃发展的同时也面临几个突出的问题

  • 可靠性和稳定性有待加强,数据库是整个应用系统的核心,一旦瘫痪意味着承载应用和业务中断;
  • 运维人员担迁移到国产分布式数据库后,运维技能和方式与原来相比有过大差异,无法对数据库进行有效运维;
  • 对原有应用系统升级的改造成本较高,担心架构和应用的兼容性出现问题
  • 不少国产数据库是对国外开源数据库的包装或者少量修改,难以称为真正的国产数据库。

当然现在国产数据库软件面对的系统环境与前些年相比已经有了很大的变化,国产数据库发展壮大,任重而道远,继续坚持做难而正确的事情是对其发展最大的助力

数据应用的变化倒逼数据库具备更大数据存储容量、更多数据计算模型、更快数据业务响应能力,整体技术发展进入后关系型阶段。行业应该在追求架构设计分布式化、模型构建场景化的同时,关注数据库技术内核,坚持打造产品的客户成功本质,坚持实事求是的技术创新选择从单机内核为起点的演进与革新路线分布式和上云更高效更有效

“明者见于无形,智者虑于未萌。”希望有更多的像本原数据这样的企业回归技术本原做难而正确的事


http://www.ppmy.cn/news/64528.html

相关文章

【MYSQL】聚合函数和单表/多表查询练习、子查询、内外连接

目录 1.聚合函数 1.1.group by子句 1.2.having语句 2.单表查询 2.2单表查询 3.多表查询 3.2.子查询 5.内链接 6.外连接 1.聚合函数 函数说明count返回查询到的数据的数量sum返回查询到的数据的总和avg返回查询到的数据的平均值max返回查询到的数据的最大值min返回查询…

如何理解面向对象和面向过程?

面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,其中程序被视为对象,并通过类和对象之间的关系来组织和管理数据和控制流程。相比之下,面向过程编程(Process-Oriented Programmi…

Spring中的Bean和Bean的生命周期

在Spring中,Bean是被管理的对象,是应用程序的基本组件。Bean的生命周期包括Bean的创建、初始化、使用和销毁。在本文中,我们将介绍Spring中Bean的概念,如何创建和管理Bean以及Bean的生命周期。 Bean的概念 在Spring中&#xff0…

Redis了解

Redis 源码大概做了哪些事情? 设置默认参数创建对象、持久化定时器回调加载文件参数 (使用配置文件替代部分默认参数)加载文件数据写入字典创建client connect事件handler(accept后,写入读写事件select(),最新的版本用epoll&…

Python 字符串

Python中的字符串是由一系列字符组成的,可以使用单引号、双引号或三引号来定义。例如: my_string1 Hello, World! my_string2 "Im a string." my_string3 """This is a multi-line string.""" 以下是一些常…

软件工具 | Python调用运筹优化求解器(一):以CVRPVRPTW为例

目录 1. 引言2. 求解器介绍3. 基础语言3.1 创建模型3.2 添加变量3.3 添加目标函数3.4 添加约束3.5 设置参数3.6 求解 4. 数学模型4.1 [CVRP数学模型](https://mp.weixin.qq.com/s/DYh-5WkrYxk1gCKo8ZjvAw)4.2 [VRPTW数学模型](https://mp.weixin.qq.com/s/tF-ayzjpZfuZvelvItue…

软件测试面试宝典,最常见的7个高频面试题(附答案,建议收藏)

收集了2022年所有黑马学员的面试题后,负责就业的黑马讲师们整理出了7个高频出现的面试题,一起来看看。 高频问题1:请自我介绍下? 高频问题2:请介绍下最近做过的项目? 高频问题3:请介绍下你印象…

【Ubuntu18.04】Docker配置镜像源

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个人简…