第三代分布式数据库来了,真香!

简介: 从3.0开始,OceanBase 正式步入第三代企业级分布式数据库序列。其实很多人不知道,今年6月,OceanBase 开源的版本能力并不弱于2020年双十一支付宝在线使用的版本。


121.gif


从3.0开始,OceanBase 正式步入第三代企业级分布式数据库序列。其实很多人不知道,今年6月,OceanBase 开源的版本能力并不弱于2020年双十一支付宝在线使用的版本。


集中式和分布式怎么选?是数据库选型中最让人纠结的问题。之所以纠结,是因为二者各有优势,却熊掌与鱼不能兼得。

比如:1、 不想分库分表,应用开发都要哭了……2、 业务发展特别快,数据库又要扩容了……3、 不知道哪些是AP哪些是TP,没办法把业务拆分出来……4、 大机挂了,只能等厂商恢复,不敢切流……5、 为什么备库不能提供服务?服务器白白浪费了……6、 分布式数据库部署了几十台服务器,性能还不如一套 Oracle RAC……7、 原先使用 Oracle,迁移到国内某数据库应用,改业务快崩溃了……8、 跑批的时候交易性能总是抖动……9、 多个部门使用一套数据库,互相干扰……

以上问题均来自真实的用户声音,这些需求从本质上来说,是用户既需要分布式可扩展、高可用的能力、也需要集中式的功能、性能及易用性。那么,有没有一个产品或者解决方案能解决以上所有问题?以前没有,但现在有了,那就是第三代企业级分布式数据库。

近日,在刚刚结束的 DTCC 2021大会上,OceanBase CTO 杨传辉(花名:日照)发表了《一体化架构的原生分布式数据库》的主题演讲,其中谈到一些新的概念,如一体化架构,第三代分布式数据库等,一些理念跟其它厂商有些不同。image.png
image.gifOceanBase CTO 杨传辉(花名:日照)

什么是一体化架构?一体化架构的原生分布式数据库又跟我们所熟知的分布式数据库有什么不同?能解决哪些问题?


带着这些问题?笔者采访了杨传辉。
在杨传辉看来,分布式数据库迭代分为三个阶段:


第一代分布式存储系统(NoSQL):以牺牲SQL,牺牲事务一致性,牺牲企业级功能,从而获得可扩展、高性能的能力。


第二代分布式数据库(Scalable SQL):支持基本的SQL功能,往往牺牲单机性能和成本,延迟比较大,企业级功能支持不全。


第三代企业级分布式数据库(Scalable Enterprise DB):采用一体化的方式,功能和性能可以兼得。兼容SQL标准,支持丰富的企业级功能,追求单机性能。

从描述可以看出,一体化架构是第三代企业级分布式数据库的核心技术,那么什么是一体化?


杨传辉表示,所谓一体化包含了两层意思:“集中式与分布式的一体化融合”和“OLTP与OLAP一体化融合”。

image.gifimage.png
OLTP  与 OLAP 的一体化融合,这并不是新概念,其实就是 HTAP,早期 E.F.Codd关系模型提出时,并不区分是做TP还是AP。Oracle  其实就是 HTAP 数据库,只不过 Oracle 只能处理小数据量的  HTAP,而不能做大数量。那么,后来为什么会分开?是因为随着数据越来越大越来越多,集中式数据库无法在一套系统里既处理TP又处理AP,所以,就进行了拆分,一个TP系统,一个AP系统,定期做同步。

现在为什么又要融合?杨传辉认为,天下大势合久必分,分久必合,分布式和云计算发展到一定程度,让(一套)系统的处理能力又变强了,基于用户简单化需求驱动的一体化融合,于是又有了把AP、TP合在一起的想法。2014年,Gartner  也提了这样一个概念,今天 HTAP 也成了数据库中的一种类型。

但集中式与分布式的一体化融合,这绝对是一个很新的概念,同时具备集中式和分布式系统的技术优势,这听起来就很香。

这种融合的好处是什么?杨传辉说,一体化融合下的数据库选型,不再需要一开始考虑容量问题,比如选  OceanBase,业务初期一台机器就可以先用起来,当业务迅速增长,系统出现能力不足就做扩展, OceanBase  能够做到一台机器使用时,即不用分布式时,性能、功能不损失。

总的来说,一体化融合对用户的好处是显而易见的,那就是好用且成本降低。

一体化架构,理论听起来很香,但做起来并不容易,否则就不会是一个新概念了。杨传辉说,这个架构非常难,里面都是坑。

OceanBase  为什么能做到别人做不到的事?杨传辉说,是脚踏实地,一体化架构没有捷径。OceanBase  坚持长期主义,坚持用十年、二十年的时间打造下一步分布式数据库。这里涉及三个理念:第一坚持完全自研,第二坚持原生分布式数据库,第三坚持核心场景。OceanBase  认为,想要做好下一代支持核心场景的原生分布式数据库一定需要自研。成立之初,OceanBase  选择走完全自研的路线,并不是因为预测到今天国产化、自主可控的趋势,完全是技术选择。

多次打榜TPC,既不是喜欢也不是为了炫耀,而是为了打磨产品和证明架构的可行性。杨传辉表示,因为  OceanBase 定位为下一代原生分布式数据库,所以,需要用集中式数据库最高、最苛刻的标准要求自己。那怎么证明 OceanBase  是强一致?TPC-C 是一种很好的方式,通过 TPC-C 测试,证明在分布式架构之下的也能具备强一致能力,这很重要,说明基于分布式架构实现  ACID,也能管理20万亿行这样的大规模数据,并且能做到完全无抖动,这是 TPC-C 的意义。而打榜TPC-H亦是如此,为的是证明  OceanBase 的 HTAP 能力。

OceanBase  通过了 TPC-C 测试证明了分布式数据库这条路的可能性,并证明了OceanBase  的扩展性、高可用的能力,防抖动能力是领先的。杨传辉表示,OceanBase  在单机性能和功能,还要向经典数据库学习,虽然证明了架构的可行性,但并不意味着我们现在就比原来的好,这里还有很长的一段路要走。

此次DTCC大会上,OceanBase 3.1.1开源版本正式发布,该版本进一步强化OceanBase 内核能力,提升易用性及开源能力。紧接着,云栖大会上,OceanBase 3.2商业版正式对外发布,数据分析性能提升6倍。

杨传辉指出,实际上 OceanBase 从3.0开始,就属于第三代分布式数据库,因为主体架构基本具备,但还需要不断追求单机性能极致,并做好兼容性功能和细节打磨。

OceanBase 开源是认真的,且货真价实的。杨传辉最后说,今年6月开源的版本能力不弱于去年支付宝双十一在线使用的版本。


相关文章
|
3月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
17天前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
275 0
|
27天前
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
72 4
|
18天前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
34 0
|
3月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
87 5
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
中国金融分布式数据库,阿里云双料冠军!
中国金融分布式数据库,阿里云双料冠军!
72 7
|
3月前
|
存储 SQL 运维
“震撼发布!PolarDB-X:云原生分布式数据库巨擘,超高并发、海量存储、复杂查询,一网打尽!错过等哭!”
【8月更文挑战第7天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
104 1
|
3月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
60 0

热门文章

最新文章