回归用户本真的业务价值需求,聚焦成本优化与内核能力提升——专访云和恩墨张程伟、金毅...

数据库作为企业核心业务系统的重要基座,其技术架构和性能都将直接影响企业的运营效率与成本。在2024“数据技术嘉年华”大会现场,笔者采访到了云和恩墨·本原数据的两位技术合伙人——MogDB数据库研发负责人张程伟、下一代原生HTAP企业级数据库研发负责人金毅。两位专家和笔者就国产数据库的演进趋势、技术挑战以及未来发展等进行了深入交流,同时揭秘了云和恩墨在数据库产业发展中的布局。

9b8c90c91b5156a03aa98cb8a280c610.png

张程伟(左)、金毅(右)接受采访

应对市场困境,

成本效能视角下的数据库性能优化策略

在全球经济增速放缓的大背景下,企业普遍面临着市场需求疲软成本压力加大技术与数字化转型要求紧迫等多重挑战。为了应对这些挑战,企业需要加强市场策略调整、成本控制、技术创新等方面的能力,以保持竞争力和稳健发展。

那么,一款卓越的数据库产品应具备怎样的核心能力以帮助用户持续成功?张程伟认为,从客户的成本效能角度考虑,不断挑战数据库的性能上限是重中之重,而伴随着新型硬件的发展,CPU核数增多、内存容量扩大、磁盘I/O能力增强,如何有效地利用这些硬件资源,充分发挥异构算力,成为提升数据库极致性能的关键所在。

金毅补充说道,面对当前市场对分布式数据库的热议,企业在追求成本优化和业务竞争力提升的过程中,不仅需要关注技术的先进性,更要回归到业务的本质需求。虽然分布式架构在某些场景下具有容量优势,但由于先天技术原理上的设计存在网络通信延迟等固有问题,使得使用成本不可避免地会增加。因此,从企业竞争力的角度考虑,并非所有业务场景都需要牺牲成本效益来换取分布式解决方案。“我们追求技术的关键,还是要回到帮助客户实现真正的业务价值。”他如是说道。

对此,张程伟表示,云和恩墨的MogDB数据库,以及正在研发的下一代原生HTAP数据库产品,都选择了以“单机大容量”为核心目标,专注于提升数据库的“性能密度”。这种选择正是出于对客户成本控制和保护已有投资的深入洞察。可以说,提升数据库的“单机大容量”不仅仅是一种成本优化策略,更是提升客户业务竞争力的有效途径。

从边缘到核心,

国产数据库需要实现从能用到好用的蜕变

据张程伟观察,当前,各个企业和组织在实施国产化改造过程中面临以下几方面痛点:

首先,许多客户正在尝试将现有的Oracle、DB2、MySQL等数据库替换为国产数据库。这一过程的关键挑战在于如何在有限的时间和成本约束下,确保业务系统能稳定高效地运行在国产数据库之上。替换的成功与否主要依赖于国产数据库对原数据库的兼容程度,以及能否平滑快速地完成数据及对象的迁移。为此,云和恩墨大力投入研发以提升MogDB对国外数据库产品的兼容性,并结合端到端的异构数据库迁移解决方案,能够协助客户平滑、准确地完成数据和对象的迁移工作。

其次,在业务正常运转和用户体验保障的要求下,客户对国产化改造的关注点还体现在能的不下滑。为此,张程伟表示,除了针对TPC-C和TPC-H等基准测试进行优化外,MogDB研发团队正致力于全局 PL/SQL 缓存机制、多核并行能力、基础算子性能等客户业务场景下的优化。此外,研发团队还在实现对原位更新存储引擎Ustore的增强,以及在资源池化架构及数存融合技术上的演进。以上在性能优化方面的工作,其目标正是为了在相同资源消耗和成本下完成数据库的“平替”。

最后,张程伟强调,关系型数据库的替换过程往往是从边缘系统向次核心,再向核心业务系统推进。当数据库应用于核心业务系统时,其高可用能力和容灾能力都将受到更严苛的考验。对此,MogDB研发团队在高可用、容灾、极限情况下的数据恢复以及服务保障等方面进行了详尽的规划并大力投入研发。

传统架构重构与新型算法应用,

革新数据库单机承载能力

针对云和恩墨的下一代原生HTAP企业级数据库产品,金毅在采访中进一步阐述了其两大核心优势:

第一,优化联机交易负载。这意味着该数据库能够提升对高价值业务的支撑能力,从而大幅简化IT方案的实施复杂度,并能在生命周期内实现数量级的成本节约。

第二,原生HTAP实现。该数据库的设计解决了传统HTAP方案中数据新鲜度的问题,即可以直接使用最新的数据进行高性能分析,同时还能保障高效率的事务处理。这样的设计实现了交易与分析负载在同一数据库内核上的高效融合,为客户提供了更加简洁、易用且低成本的解决方案。

谈到下一代原生HTAP数据库所采用的关键技术时,金毅透露了四点其在计算角度的提升:

  1. 重构内存数据结构。随着现代硬件基础设施如SSD和PCIe的普及,以及CPU算力和内存容量的大幅提升,磁盘I/O延迟已从过去的毫秒级降低到了百微秒级。这意味着传统的数据库内核技术栈需要与时俱进。为了充分利用硬件优势,研发团队正在着力于重构内存数据结构,采用新型算法来重构内存中数据页的组织方式。这就使得数据访问无需每次全局查表定位数据页,从而大幅减少了数据页的访问成本。

  2. 优化并行算法。在并行计算领域,当前比较常见的方法是采用轻量锁和无锁数据结构来提高并行效率。然而,这些方法在众核级别的并行计算中仍然会产生很大的竞争热点。因此,在下一代原生HTAP数据库的研发中,研发团队在当前的并行算法基础上做了进一步的优化,通过拆开数据访问的热点,使其适应更高级别的并行所带来的性能影响和阻塞,充分有效地避免物理核之间产生竞争。

  3. 引入主存计算优化算法。研发团队还将填补现有工程实践中对主存与CPU交互瓶颈优化的空白,引入针对主存计算优化的新算法,以充分发挥CPU的缓冲能力,力求在百纳秒级别降低计算延时,从而实现全链路性能的提升。

  4. 采用用户态轻量级协程模式。针对容量提升所带来的并发会话挑战,研发团队采用了用户态轻量级协程的上下文切换技术,以取代传统的进程或线程模式。这种技术以更低的成本实现了更大规模并行计算会话的上下文快速切换,从执行角度应对未来以数量级增长的并发会话数,从而提高单机大容量数据库的实际承载能力。

笔者从金毅的演讲中获悉,云和恩墨的下一代数据库产品针对联机处理负载的优化已经取得显著成果——使用2路服务器,在NVMe SSD磁盘存在I/O交换场景下,服务器端TPCC负载达成吞吐4200万tpmTotal、1900万tpmC的成绩。这一突破性的进展将为企业带来更高效、更稳定的联机处理负载解决方案。

聚焦内核基础能力提升,

蓄力数据技术长远发展

在谈及国产数据库的发展趋势时,两位专家一致认为,随着国产化替代进程的加速,未来两到三年将是国产数据库发展的关键时期,市场格局将逐渐趋于收敛。在市场竞争加剧的情况下,更具竞争力的数据库一定是那些依靠自身技术的产品,所以国产数据库厂商需要抓住这一历史性机遇,不断提升产品的硬核实力。

对此,金毅进一步肯定地表示:“从客户的角度来看,一款数据库的价值,最终还是要通过评估其带来的收益所体现。因此,持续在根本性的技术问题上深耕和打磨是十分必要的。”他特别提到,即便是像PostgreSQL这样世界一流的开源数据库在其快速发展阶段,每年的代码增长量也仅有7万行,这更加证明了技术的积累和打磨是一个长期且必要的过程。

在这一背景下,云和恩墨将继续坚定自己的研发方向,聚焦数据库内核基础能力的提升。“也许在短期内进展会稍慢,或者看起来效果没有那么直接,但我相信,持续地聚焦于根本性技术问题并坚定地投入,我们会在激烈的市场竞争中脱颖而出。”金毅说道。同时,云和恩墨也一直投入于开源生态的建设,与openGauss社区共同推动数据库技术的发展,并通过持续创新和技术沉淀,为中国数据库产业的未来发展做出更大的贡献。

通过这次专访,笔者看到了云和恩墨矢志成为数据技术引领者智能未来构建者的决心,也深刻感受到中国数据库厂商在技术创新和市场拓展方面的努力与坚持。我们有充分的理由相信,在不久的将来,中国数据库将在全球数据库市场中占据更加重要的地位。

489d8484a08ed9654cdf389233b8657e.gif

数据驱动,成就未来,云和恩墨,不负所托!


云和恩墨创立于2011年,是业界领先的“智能的数据技术提供商”。公司总部位于北京,在国内外35个地区设有本地办公室并开展业务。

云和恩墨以“数据驱动,成就未来”为使命,致力于将创新的数据技术产品和解决方案带给全球的企业和组织,帮助客户构建安全、高效、敏捷且经济的数据环境,持续增强客户在数据洞察和决策上的竞争优势,实现数据驱动的业务创新和升级发展。

自成立以来,云和恩墨专注于数据技术领域,根据不断变化的市场需求,创新研发了系列软件产品,涵盖数据库、数据库存储、数据库云管和数据智能分析等领域。这些产品已经在集团型、大中型、高成长型客户以及行业云场景中得到广泛应用,证明了我们的技术和商业竞争力,展现了公司在数据技术端到端解决方案方面的优势。

在云化、数字化和智能化的时代背景下,云和恩墨始终以正和多赢为目标,感恩每一位客户和合作伙伴的信任与支持,“利他先行”,坚持投入于数据技术核心能力,为构建数据驱动的智能未来而不懈努力。

我们期待与您携手,共同探索数据力量,迎接智能未来。

79a8ea14a90c434c3542da3c59b3e225.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NSQ消息队列---总结篇

架构 概念 nsqlookup:存储了nsqd的元数据和服务信息(endpoind),向消费者提供服务发现功能, 向nsqadmin提供数据查询功能。 nsqd: 是接收、队列和传送消息到客户端的守护进程。 nsqadmin:简单的管理界面,展示了topic, channel以及channel上的消费者,也…

【漏洞复现】号卡极团管理系统 index.php SQL注入漏洞

0x01 产品简介 号卡极团管理系统是一款专为号卡行业打造的管理系统,它具备一系列强大的功能,能够满足号卡行业推广人员在业务运营中的各类需求。 0x02 漏洞概述 号卡极团管理系统存在SQL注入漏洞,未授权的攻击者可以通过该漏洞获取数据库敏…

数据库关系模式分解 - 无损连接和保持函数依赖性

文章目录 1 概述1.1 关系模式分解的好坏标准 2 无损连接验证算法 1 概述 1.1 关系模式分解的好坏标准 书上的算法太抽象了,咱不好理解,以下举例说明。一个关系可以有很多种分解方法,如何判断分解的好与坏呢? ① 查询时的连接操作…

类的六个构造函数相关干货

构造函数 特点 1.名字与类名相同 2.无返回值 3.对象实例化的时候编译器自动调用这个函数 4.构造函数可以重载(无参构造函数,拷贝构造等) 5.如果类中没有显式定义构造函数(深拷贝),则编译器会自动生成一个…

抖音阳哥:选品师项目究竟能不能算蓝海项目?

在当今这个信息爆炸的时代,短视频平台如抖音已经成为了人们获取信息、娱乐休闲的重要渠道。抖音上涌现出许多具有影响力的网红,他们不仅分享自己的生活点滴,还常常推荐一些创业项目或商业模式。其中,阳哥分享的选品师项目引起了广…

STM32H750片外QSPI下载算法文件(stldr)生成

STM32H750片外QSPI下载算法文件(stldr)生成 🌿相关篇《STM32H750片外QSPI启动配置简要》📌参考实现资料: https://github.com/lchnu/STM32H750XBH_ARTPIQSPI_W25Q64JV https://gitee.com/wangchief/H750_W25QXX ✨利…

风格迁移adaIN 和iT的adaLN

文章目录 BN、LN、IN、GN的区别![](https://img-blog.csdnimg.cn/direct/d38c005616f145cba2aa1c4c2e046be0.png)图像风格迁移adaINDiT adaLN BN、LN、IN、GN的区别 BatchNorm:batch方向做归一化,算NxHxW的均值,对小batchsize效果不好&#x…

「Kafka」Kafka基础知识入门介绍(三)

「Kafka」Kafka基础知识入门介绍(三) 一、消息主题1. 创建主题 二、生产数据1. 命令行模式2. Java代码模式 三、消费数据1. 命令行模式2. Java代码模式 「Kafka」Kafka理论知识解读(一) 「Kafka」Kafka安装和启动(二&a…

【kotlin】利用by关键字更加方便地实现装饰器模式

关于kotlin中的by关键字的用法,kotlin官方文档属性委托这一节讲得很清楚。 简单来说就是这样的,假设存在一个接口Component如下: interface Component {fun method1(): IntArrayfun method2(a: Int)fun method3(a: Int, str: String) }那么对…

React-性能优化的手段

​🌈个人主页:前端青山 🔥系列专栏:React篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:React-性能优化的手段 目录 React 性能优化的手段有哪些? 一、是什么 二、如何做…

【汇编语言】流程转移和子程序

【汇编语言】流程转移和子程序 文章目录 【汇编语言】流程转移和子程序前言一、“转移”综述二、操作符offset三、jmp指令jmp指令——无条件转移jmp指令:依据位移进行转移两种段内转移远转移:jmp far ptr 标号转移地址在寄存器中的jmp指令转移地址在内存…

Vue3种常用插槽的使用

插槽总结 &#xff1a; 插槽的作用&#xff1a;让父组件可以向子组件指定位置插入html结构&#xff0c;也是一种组件间通信的方式&#xff0c;适用于 父组件 > 子组件 。分类&#xff1a;默认插槽、具名插槽、作用域插槽 1、默认插槽 父组件中&#xff1a; <Category>…

鸿蒙HarmonyOS应用 - ArkUI组件

ArkUI组件 基础组件 Image 声明Image组件并设置图片源 网络权限&#xff1a;ohos.permission.INTERNET Image(scr: string | PixelMap | Resource)// 1. string&#xff1a;用于加载网络图片&#xff0c;需要申请网络权限 Image("https://xxx.png")// 2. PixelMap…

一线实战,一次底层超融合故障导致的Oracle异常恢复

背景概述 某客户数据由于底层超融合故障导致数据库产生有大量的坏块&#xff0c;最终导致数据库宕机&#xff0c;通过数据抢救&#xff0c;恢复了全部的数据。下面是详细的故障分析诊断过程&#xff0c;以及详细的解决方案描述&#xff1a; 故障现象 数据库宕机之后&#xff0c…

粤嵌—2024/4/24—删除有序数组中的重复项 ||

代码实现&#xff1a; 方法一&#xff1a;双指针 int removeDuplicates(int *nums, int numsSize) {int l 0, r 0;while (r < numsSize) {if (r > 1 && nums[r] nums[l - 1] && nums[r] nums[l - 2]) {r;} else {nums[l] nums[r];l;r;}}return l; }…

ONES 功能上新|ONES Wiki 新功能一览

支持在 ONES Wiki 页面中使用分栏进行横向排版&#xff0c;丰富排版方式&#xff0c;帮助用户以更丰富的版式展示内容。 应用场景&#xff1a; 页面的布局对内容的阅读有很大的影响。当页面中有图文混排的需求时&#xff0c;可以通过分栏来组织页面结构&#xff0c;以更清晰、更…

Docker容器概念介绍与基本管理

前言 在软件开发和部署环境中&#xff0c;使用 Docker 等容器技术可以帮助团队实现快速、一致、可靠的应用程序部署&#xff0c;提高开发效率和应用程序的可移植性。 目录 一、虚拟化产品介绍 1. 云服务模型 1.1 IaaS 1.2 PaaS 1.3 SaaS 1.4 DaaS 2. 产品介绍 2.1 虚…

14 JavaScript学习:条件语句

JavaScript条件语句 JavaScript中的条件语句主要用于根据条件执行不同的代码块。以下是对JavaScript条件语句概念的详细解释和分类&#xff1a; if语句&#xff1a; 单个if语句&#xff1a;最简单的条件语句&#xff0c;根据条件判断是否执行特定的代码块。if…else语句&#x…

【机器学习与实现】机器学习概述

目录 一、机器学习的基本概念和方法&#xff08;一&#xff09;基本概念&#xff08;二&#xff09;机器学习的一般过程举例&#xff08;三&#xff09;样本和参数估计 二、机器学习的步骤总结&#xff08;一&#xff09;机器学习的主要步骤&#xff08;二&#xff09;样本及样…

C++并发编程

基本介绍 线程 C98标准没有直接提供原生的多线程支持 在C98中&#xff0c;并没有像后来的C11标准中那样的<thread>库或其他直接的多线程工具 然而&#xff0c;这并不意味着在C98中无法实现多线程。开发者通常会使用平台特定的API&#xff08;如Windows的线程API或POSI…