您当前的位置:首页 > 电脑百科 > 数据库 > 百科

下一个十年,开发者需要什么样的数据库?

时间:2023-03-28 10:48:00  来源:CSDN  作者:

自上世纪 70 年代起,关系数据库已走过半个世纪,如今成为社会的信息基础设施。随着时代、应用、场景的不断变更,给今天的数据库提出了更多要求,如敏捷伸缩、实时分析、降本增效等。

这将为数据库带来哪些挑战?未来,数据库领域还有哪些值得开发者关注的创新与技术?

在首届OceanBase开发者大会上,OceanBase CTO 杨传辉(花名“日照”)、沃趣科技创始人& CEO 陈栋,dbaplus 社群联合创始人杨建荣、PostgreSQL中文社区主席张文升,在科技访谈栏目《明说三人行》创始人卢东明的主持下,共同深入探讨在数据库前沿技术与发展,精彩对话不容错过。

引领潮流,单机分布式一体化

卢东明:首先,请每个人用一句话和三个标签进行自我介绍。

杨传辉:我的第一个标签是“工程师”,我是一名开发者;第二个标签是“一体化”;第三个标签是“性价比”。(后面两个是 OceanBase 的特性)

陈栋:我的第一个标签是 DBA,曾是阿里员工;第二个标签是创业者,现在我正在创业,做数据库基础设施层的产品;第三个标签是“一体化”,我们将数据库、软件、硬件做成一体化的方式,提供开箱即用的解决方案。

杨建荣:我的第一个标签是DBA,从业多年,经历了从 Oracle、MySQL,再到现在分布式数据库等阶段。第二个标签是技术社区,我现在参与 dbaplus 社区的建设工作;第三个标签是技术分享,我平常喜欢写技术文章,曾出过两本数据库技术的书。

张文升:我最重要的标签是 PostgreSQL 本身,因此第一个标签是 PostgreSQL,第二个是开源社区,第三个是布道师。哪里有 PostgreSQL,哪里就有我。

卢东明:针对 OceanBase 最新提到的“单机分布式一体化”一词,在大众印象里“单机”与“分布式”是割裂分开,为什么 OceanBase 会将他们组合起来?

杨传辉:2021 年底,我们开始分享 OceanBase 一体化的概念,当时称为“集中分布式一体化”,但这个说法并不直观,后来改为“单机分布式一体化”,代表 OceanBase 将两类系统产品特性和技术优势融合在一起,它的特点是既可以像单机数据库一样使用,又拥有分布式数据库无限水平扩展的能力,对开发者友好。

张文升:如果将一个分布式系统当做一个单机系统来用,部署到一台机器上的话,性能将大幅度降低。如何突破该瓶颈,OceanBase 有什么独门秘籍?

杨传辉:早期支付宝有很多 Log,DBA 总结的规律是当 Log 打开强同步时,性能会降低 35%。为什么分布式应用到单机会出现性能损失?因为分布式要做高可用、强同步的容灾开销。

随后采取异步 Log 的模式,使得强同步的性能损失控制在 8% 以内,兼具强同步,同时不损失性能。采用单机分布式一体化的可扩展方案后,每台机器只有一个日志流,尽管后台需要占用一些网络、CPU等,但对前台的交易、TP 性能没有影响。

杨建荣:对 DBA 来说,从单机到分布式一体化,具体涉及到哪些操作的变化?对系统有什么样的影响?

杨传辉:在单机分布式一体化理念下,首先要求开发者对 DBA 是透明的,扩容操作由数据库后台实现,对以前的业务及应用协议没有影响。虽然数据库扩容,但可通过动态路由来自动找到机器原始数据。因为底层架构是分布式,所以扩容后是全部支持上层功能的。而原来单机的产品无法做一体化的原因是原来的 SQL 引擎是为单机设计的,换成多机的话很多功能支持不了。

陈栋:我非常认同 OceanBase 对单机场景的关注。从我接触的用户需求来分析,单机场景更为大众化。因为对于大部分的企业用户而言,可能单机已经足够业务所需。如果一上来就用分布式系统,那么门槛相对较高。技术是相辅相成的,在“软硬一体化”趋势下,硬件发展核数越来越多,可扩展性的内存、吞吐足够大,结合硬件能力,再加上数据库在单机上性能开销的优化,未来在大众化场景的适用面、接受度将更强。因此我认为,OceanBase 往单机的思路上走是很友好的。

那么在单机分布式一体化概念下,OceanBase 是更注重单机还是更注重单机到分布式的扩展性?

杨传辉:开发者提到分布式数据库,认为它的使用门槛较高,因此我们希望通过一体化架构来降低门槛。回答您的问题,我们更多考虑如何从单机怎么扩展到多机的使用场景。在 OceanBase 单机分布式一体化架构下,企业业务从小到大扩展的过程中,无需重写应用。OceanBase 不仅有效帮助企业降低成本,又有面向未来的拓展能力,相信未来它的应用场景将越来越广。

陈栋:站在用户的角度来看, OceanBase 将方便留给用户,把麻烦留给自己。如果从数据库的设计角度来说,想必投入巨大,其中 ROI 如何评估?

杨传辉:ROI 是 OceanBase 做单机分布式一体化架构设计时非常重要的关注点。OceanBase 从最开始做分布式数据库,再到现在对单机的优化,这本来是我们要做的事情。

应用驱动技术创新

数据库发展离不开场景需求

卢东明:OceanBase 从分布式数据库开始已经做了 13 年,如今从分布式到单机,居然比传统的单机数据库 MySQL 性能还要好,OceanBase 是如何做到的?

杨传辉:OceanBase 的存储引擎与 MySQL 相比,有两点优势:一是因为 MySQL B+树做得早,OceanBase 的引擎是在尊重经典架构的基础上全新设计,存储成本会更低,单机数据库基本很少在线压缩,但是我们可以在 OLTP 业务里做在线压缩。二是在内存里实现大部分高频操作,最终才能在引擎层做到性能好、成本低。

通过测试,在简单读写上,相比 某国外主流数据库,OceanBase有相对优势;在多核扩展能力上,OceanBase 与 他们做得更好;在复杂查询上,他们比 OceanBase 要好,但我们正在努力,今年 Q3 将优化复杂查询性能。

陈栋:其实在国内做数据库是一件幸福的事情,因为中国企业的业务场景复杂,存在一些机会。

杨传辉:中国企业有不同的场景需求,比如运营商的数据查询复杂、高并发,很过国内数据库厂商的 复杂查询诉求从运营商场景来的,产生了很大的帮助。

数据库要做好,需要和应用不断磨合。虽然 OceanBase 和其他单机数据库在同一个水平上,但还需要一些时间来优化业务落地场景,期待几年后,我们可以自信地回答,OceanBase 所有场景比 国外主流数据库 更好。

卢东明:在过去十年时间里,中国应用场景的发展是全球领先的,尤其像阿里双 11 的极端挑战。我原来在 Sybase 公司工作时,那时候大家认为数据库的顶级挑战来自华尔街,只要解决了华尔街的问题,那么其它问题就能解决。但是在 2010 年前后,我们发现不知道如何解决双11这一量级的问题,这是 OceanBase 最早解决的问题。

杨传辉:是的,应用驱动技术创新。当前 OceanBase 在某些方面已超 国外主流数据库,坦诚说还有好多地方没有超越。但 OceanBase 积累了全球用户丰富场景以及对较罕见场景的解决方案,是其它数据库达不到的。

卢东明:真正能颠覆某国外主流数据库的,不是他自己本身,可能是一个更好的 OceanBase。按照 他 的路径来优化,试图去超越它,这是很难的事。可如何跳出它的条条框框,可能还有超越的机会。

开发者喜欢的数据库有哪些特性?

开发者最喜欢什么样的数据库?在不同的时间、不同的场景下,可能答案不同。

卢东明:每个人都做过开发、DBA,在各位看来,开发者最喜欢什么样的数据库?

张文升:我认为功能丰富、简单好用的数据库是开发者喜欢的。

杨建荣:我们社区做过开发者对于分布式数据库的调研,提炼出“4+1”模型,大家对于分布式数据库的选型有四个点:一是切入点,对于分布式数据库的选型要求先是稳定性,其次是可扩展性。二是对硬件成本、研发接入使用成本要尽量低。三是对产品的功能、易用性比较关注,尽可能跟主流的技术栈可以兼容。四是很多公司有多种技术栈,开发者希望能对 SQL 协议兼容,让研发接入更简单。这点 OceanBase 相对来说,是有优势的。

HTAP 发展趋势

张文升:随着业务越来越复杂,用户会倾向于不同业务场景的解决方案,在该细分的业务场景有没有数据库来解决,因此部署越来越多类型的数据库将可能成为企业的常态,但很难说有一款数据库可以解决全部场景问题,如图、时序、向量、多模态等,OceanBase 是怎么看待这个问题?

杨传辉:OceanBase 攻坚 HTAP 能力。今天 HTAP 还做不到将离线分机的问题全给解决掉。未来,HTAP 可能会在 OLTP 加上在线分析,但如果是图这类的场景不一定完全适合,要基于HTAP 做 Key Value、多模等,一个套件里有多个产品,一次性解决分布式、高可用等问题,避免额外的研发投入。

陈栋:您这边是站在数据库的视角来观察,从我的视角来看,为了解决用户对数据库选型的问题。我们提供一个数据库 PaaS 平台,支持十几种数据库的全生命周期管理,这也是一种解决方案。

杨传辉:是的,这个方式也是非常好。只要能满足用户需求的解决方案,理论上都是合理的,而且会共存的。

陈栋:作为开发者,希望数据库可以更加开放,可以包罗更多的 API、文档,对开发者更友好,让类似我们这种生态公司可以更好地服务好用户。

杨传辉:数据库的发展不仅靠厂商,而是厂商+生态+开发者+用户+应用场景携手发展。

卢东明:刚才提到 HTAP,据统计,中国有近 260 个数据库品牌,涵盖很多 HTAP 数据库。在 OceanBase 提到的“HTAP”含义,和广泛意义上大家提的 HTAP 是否有不同的地方?

杨传辉:我将 HTAP 分成三类,第一类是将 OLTP、OLAP 一套做并集。第二类是做交集,对于本身 TP 能力和 AP 能力都比较弱的场景,交集来做大家都没有覆盖的场景。第三类是 OceanBase 自然衍生的思路,像 OLTP 加上 OLAP 成为 HTAP 系统应用的核心,假如连应用的核心能力都没有的话,这种 HTAP 不是真正的 HTAP。

卢东明:有的数据库 AP 强补足 TP 的能力,这是合理的路径吗?

杨传辉:只有从TP开始才有可能成功,TP的门槛很高,涉及到核心场景。如果将核心场景做好了,往 AP 是自然延伸,相当于由高到低,如果 AP 做好了,本身 AP 的重要程度、核心程度远远低于TP,别人不会因为选了 AP 而选 TP。

陈栋:Oracle 也是这样的思路,把 TP 做到极致,同时拥有部分 AP 能力、离线能力。OceanBase 后续的 roadmap 非常巧妙,拿出一个副本做列存,既升节空间,又做到数据的一致性,不需要单独设计一个表格,我十分期待这个功能。

杨建荣:Oracle 是 HTAP 数据库,但在列存方向上 Oracle 有 In Memory 特性,有空间换时间的实现方式。OceanBase 是如何实现的?

杨传辉:Oracle 是 IMC 模式,不是真正的列存路线。虽然列存是更先进的方案,但 Oracle 的技术债务太大,OceanBase 没有 Oracle 那么重的技术债务,可以直接用最优的方式来实现。

卢东明:回到刚才说的,真正颠覆掉 国外主流数据库的不是一个更好的 他,一定是一个更好的OceanBase。希望未来还能看到 OceanBase 为我们带来更多的创新。

百花齐放的数据库格局下

开发者如何保持竞争力

在首届OceanBase开发者大会上,我们观察到 OceanBase 在过去13年,以稳定性、可扩展性和低成本正成为分布式数据库领域的典型实践,并不断创新,推出单机分布式一体化架构,让分布式数据库走向通用。同时攻坚 HTAP 能力,让一份数据既能做交易又能做分析,实现低延时、低成本,做一款对开发者友好的数据库。

那么开发者如何在各种技术栈不断演进,数据库产品不断迭代下,保持竞争力不断成长?

最后,杨建荣给了 CSDN 开发者几点成长建议:

一是多总结。好记性不如烂笔头,多总结,让自己看到问题就能想到解决问题的思路。

二是建立自己的知识体系,并不断完善。

三是社区连接,多参加社区活动,多做技术分享,总有收获的,像OceanBase开发者大会也是不错的选择。



Tags:数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  Search: 数据库  点击:(5)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28  Search: 数据库  点击:(14)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  Search: 数据库  点击:(13)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12  Search: 数据库  点击:(27)  评论:(0)  加入收藏
让数据库和缓存数据保持一致的三种策略
如何保证缓存和数据库的一致性,这算得上是个老生常谈的话题啦,看到好多技术新人在写更新缓存数据代码,采用了非常复杂甚至“诡异”的方案,甚为不解。一、背景目前随着缓存架构方...【详细内容】
2024-02-20  Search: 数据库  点击:(37)  评论:(0)  加入收藏
MySQL数据库如何生成分组排序的序号
经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。...【详细内容】
2024-01-30  Search: 数据库  点击:(54)  评论:(0)  加入收藏
一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL
本篇文章以具体的SQL语句讲解了数据库SQL语言四大分类(数据定义语言DDL,数据操作语言DML,数据查询语言DQL,数据控制语言DCL),同时也介绍了事务控制语言TCL。最近与开发和运维讨论...【详细内容】
2024-01-30  Search: 数据库  点击:(43)  评论:(0)  加入收藏
一文读懂:什么是数据库,它到底有啥用?
提到数据库,可能很多人会很陌生。但据库其实已经渗入我们生活的方方面面,像网上购物、扫码点餐、抢红包等等应用背后都离不开数据库的支持。可以说数据库是支撑各类应用软件运...【详细内容】
2024-01-25  Search: 数据库  点击:(43)  评论:(0)  加入收藏
oracle数据库基础学习
在当今数字化时代,数据库已成为企业运营的关键要素。而Oracle数据库,作为全球领先的企业级数据库管理系统,更是备受推崇。本文将带您深入了解Oracle数据库的基础知识,帮助您从零...【详细内容】
2024-01-20  Search: 数据库  点击:(90)  评论:(0)  加入收藏
一个流行的支持超多数据库的ORM库
Sequelize 是一个流行的 Node.js ORM(对象关系映射)库,用于在 Node.js 中操作关系型数据库。它支持多种数据库系统,如 PostgreSQL、MySQL、SQLite 和 MSSQL,并提供了简单易用的 A...【详细内容】
2024-01-15  Search: 数据库  点击:(77)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(5)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(4)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(14)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(13)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(7)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(15)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(6)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(5)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(27)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(20)  评论:(0)  加入收藏
站内最新
站内热门
站内头条