共计 4676 个字符,预计需要花费 12 分钟才能阅读完成。
近日,OceanBase CTO 杨传辉做客 CSDN《开谈:中国开源数据库新格局》栏目,中达金桥资深数据库专家卢东明对话杨传辉等中国当先数据库厂商从业者。对话收场,杨传辉给 OceanBase 打了 3 个标签:分布式、性价比、HTAP,并由此开展对中国数据库新格局、将来趋势、职业倒退等多个话题的探讨。
以下为对话精髓 4000 余字实录。
中国数据库应“高水平竞争”
不论是寰球的 DB-Engines 排行榜,还是中国的数据库畛域排行榜,近年来,大家都十分关注中国数据库的倒退状况。据统计,2022 年 1 月,中国数据库大概有 190 多家,到了 12 月,达到了 249 家,并且还在往上涨。对于中国数据库市场是否正在处在百花齐放,百家争鸣的阶段?我有一些本人的认识。
OceanBase 从 2010 年开始研发,过后中国根本没有多少人从事数据库研发,也没有几家数据库研发公司。所以,当我当初听到曾经有几百家数据库公司,我是非常高兴的。因为不论是招聘人才,还是人才跳槽都更容易了,数据库从业者的倒退空间更加广大,这是一件有利于整个行业倒退的好事件。
百花齐放,百家争鸣可能会有两个走向:一是“低水平反复建设”,二是“高水平竞争”。
尽管当初看起来有这么多家数据库厂商,但不同技术路线的其实没有多少家,每条技术路线都只有几家领头企业。在不同技术路线上数据库厂商越多越好,大家能够一起摸索,高水平竞争。反之,如果在一条技术路线上有过多厂商竞争,这就很容易呈现低水平的反复建设。反复建设适度的状况下,市场的商业化会进行整合,像美国的数据库小厂商也有很多,但真正做大的只有 Oracle、DB2、MySQL 等几家。
One size a bunch 或是将来
2000 年之后,分布式数据库开始倒退,“分布式”这个词在市场上刚推开时,大家在选数据库时只有厂之分,没有类型之分。无论是 Oracle 还是 IBM DB2,它们都是关系型数据库,但近年品类忽然暴增,比方图数据库、时序数据库、内存数据库。这些品类为什么会呈现?存在的意义是什么?值得咱们思考。
关系型数据库所蕴含的 SQL 引擎、SQL 语言、交易解决、关系模型,其实曾经根本能够满足用户的需要。但传统的经典 SQL 数据库,本身的设计是一个绝对比拟关闭的体系,这就导致明天的商业数据库在倒退过程中经验了“分久必合,合久必分”。
一开始,用一体化架构来解决所有问题。像 Oracle 什么都能做,不论是 TP 还是 AP 还是时序,即 One size fits all。
但随着需要的倒退,大家感觉 One size fits all 解决不了很多其余问题,所以提出了一个新理念——One size does not fit all,认为每一个专用的场景,都须要有一个专门的数据库。
倒退到最初,其实大家意识到这两种说法都存在一些问题,最终应该是 One size a bunch,即一类数据库不是只解决某一个专用的场景,也不是解决所有的场景,而是解决一批的场景。
所以,明天 OceanBase 的 HTAP,并不是说什么场景都能利用,而是某些 TP、AP 的交加局部,OceanBase 能够做到最好。这个场景比原来 TP、AP 的范畴更大,但不蕴含全副。当前预计会有越来越多的产品持续 One size a bunch。
数据库选型,稳定性是 1
甲方的 CIO/CTO 或其余角色在选型数据库时,面对品类泛滥、品牌泛滥的数据库产品经常很难做出抉择。每家厂商仿佛都在说本人的数据库能解决绝大部份的问题,再外加某个组件就能齐全解决。
作为乙方,其实咱们更须要站在甲方的角度思考问题。以 Oracle 为例,Oracle 是做得很好的数据库产品,能在大部分场景满足用户需要,所以寰球有很多用户都会优先选择它。OceanBase 有一个 Oracle 兼容的性能,这个性能比 MySQL 兼容难一个量级往上,但咱们依然做到了其高兼容,笼罩了其 95% 以上的常见性能。
抛开数据库品种来看选型,数据库的规范定义是数据库管理系统,所以数据库实质上解决的还是根本的数据管理、存储、事务处理等问题。
对于 CIO/CTO 来说,选型数据库时最重要的就是稳定性。数据库是存数据的,越靠近交易的零碎,对稳定性的要求越高;越往外围的,能够更“百花齐放”一点。这里的稳定性波及到很多:数据库有没有通过场景的打磨?数据库的提早,抖动等一系列难题?数据会不会丢?丢数据时有没有备案?这些十分重要。
OceanBase 在承载“双 11”期间遇到过很多很难的问题,咱们之所以能在后期就解决,不让问题在交易中呈现,就是因为 OceanBase 做了很多这方面的预防性设计。这就像是 0 和 1 的问题,如果数据库没有稳定性,其余的都免谈。
其次,数据库外围能力。数据库包含不同的品种,有不同的利用场景,但外围能力都聚焦在高可用、可扩大、ACID、存储等等。数据库要满足性能的需要,再是易用性,这是第一个前提。在满足性能需要和易用性的前提下,再看性价比。
如果性能满足不了或者不好用,谈性价比没有意义。数据库是一个长期投资,一旦抉择再更换是很难的,所以大家都会偏向于选性价比更高,应用更容易的产品。
最初,厂商的服务能力。智能数据库、无人运维等词近些年大家都在提,但目前其实都没有做得很好。任何数据库目前还是都须要人来反对,艰深点说即遇到问题须要有兜底,这时交付、生态、社区工具等各板块的及时响应十分重要。
开源就是要利他
目前次要有两类数据库公司——独立的数据库厂商、基于云的数据库厂商。
通过多年的倒退,数据库的研发模式产生了重要降级。以前的 Oracle、SAP 等传统软件时代,是 License 模式,不论是版本升级、反馈用户需要,还是产品流传的效率都比拟低。而基于开源,这种社区协同的高效模式,迭代起来会十分快。对于一个独立的数据库厂商而言,开源是必然选,而不是一个可选项。
开源不是一个商业模式,因为很多时候是要利他的。传统模式是厂商做好蛋糕,再去调配蛋糕;开源模式是大家一起来把蛋糕做大,每个人分一小块,在大蛋糕里切小蛋糕,实质上是新的生产力代替了旧的生产力,效率更高。
在咱们意识到开源是必经之路后,就开始动摇地走开源路线。OceanBase 过来是齐全的商业软件,从 2021 年儿童节开源到当初的一年多工夫,用户采纳开源的效率要比商业版高很多,并且扩散速度也十分快。
开源能够说是减速生态建设的必然选择,因为对于数据库这样的根底软件,其实都是用进去的。没有人写的代码是没有 bug 的,也没有人能想到所有货色。在开源社区,每个用户会以各种模式参加进来,可能是奉献代码,可能是奉献需要,最有价值的用户给厂商提供的最有价值的货色是场景。就像当年的支付宝,它给 OceanBase 提供的最有价值的货色不是钱,而是支付宝的各种场景。
有同学问到 OceanBase 是否要开源 Oracle 兼容代码?在我看来 OceanBase 能够了解为是两个产品,一个是兼容 MySQL 的产品状态,另一个是兼容 Oracle 的产品状态,这两个产品状态的利用场景差异很大。尽管看起来 MySQL 和 Oracle 都是数据库,但实际上差距十分大。
互联网有很多利用场景,在 MySQL 里,简略查问是靠 DBA 去实现的,然而在更多的一些传统业务上,Oracle、DB2、SQLServer 用户不仅仅谋求 QPS,还有很多简单的查问。当简略和简单的查问在一个库解决时,简单查问不能影响简略查问,这也是我认为 Oracle 也是 HTAP 数据库的次要起因。而且在 OceanBase 的理论场景里,咱们发现 HTAP 在中小用户中的应用是最多的。
开发者想要真正参加到社区共建,想要的也是 MySQL 模式,或者 PG 模式、MongoDB 模式,不会是 Oracle 模式,因为 Oracle 对开发者并不敌对。这是开发者的需要,不是咱们的企业用户,企业用户心愿收费的不肯定是开源的。
从设计架构的角度来看,咱们比拟凋谢,开源逻辑也很简略,MySQL 和 Oracle 模式是两个产品状态,底层共享分布式的能力,包含事务、存储、高可用的能力。然而 Oracle 和 MySQL 的性能有不同,总结来说:MySQL 的性能全副开源,而 Oracle 的性能不开源,OceanBase 亦是如此,MySQL 模式开源,Oracle 模式不开源。
数据库这行没有 35 岁危机
很多年前,中国真正从事数据库行业的工程师很少,但当初有了一个跃升,这个趋势很好。OceanBase 2010 年成立时没有这方面的人才,都是一些应届生或者其余畛域的人员应聘。中国的研发过后也比美国少很多,所以咱们晚期外围更看重应聘人员写代码的后劲。
Oracle 和 SQLServer 里有一些技术人员,比方资源隔离、HTAP 方面,通过几十年积攒的这些人才是妥妥的稀缺人才。OceanBase 的外围劣势是做数据库比拟早,因而美国包含 Oracle 的很多外围人才回国都抉择退出了 OceanBase,使得咱们在做简单查问优化等 HTAP 性能得心应手。
OceanBase 最早的一批人都是分布式的背景,这批人基本上是中国最强的,也是最早摸索的一波人。咱们的外围人员大部分都是过后咱们造就的应届生,还有一部分就是从最顶尖的公司挖过来的,这些人才能让咱们在技术架构少走很多弯路。
近两年呈现了比拟乐观的一件事:以前在高校没有人学数据库,但这两年开始呈现了。这其实是蛮好的一件事件,并且我也认为这个行业是很好的行业、很好的工作,对于一个做技术软件的程序员来说,如果会写数据库,就能够写所有的软件。
此外,数据库畛域从业者的职业生涯往往比拟长,是一个十分“老中医”的行业,对从业者和开发者都非常敌对,变动往往不会太大。这一行没有 35 和 55 的年龄差别,技术就是永远的竞争力。我也呐喊更多的人退出这个行业,数据库是一个有壁垒的工种,将来会越来越重要,人才也会更加稀缺。
年轻人,学到核心技术是要害
中国当初的数据库市场靠近 300 个品牌,而市场占有率依然无限。但在我看来,五年后私有化部署的数据库,中国品牌的市场份额应该能达到里程碑式的 50%。但是否占据 50% 的市场份额,外围在于有没有平替的计划,其难点就在于 HTAP,既要有简略查问又要有简单查问,还要保证数据强统一。如果没有平替的计划,可能十年都不会超过 50%。
目前,仅仅是 OceanBase 就在很多行业做了传统数据库的平替,包含银行外围零碎、最大的保险公司、中国移动、社保零碎等这些大家认为很难平替的瓶颈被突破了。
比方,咱们在运营商曾经胜利上线了好几个省,攻破第一家运营商破费了一年半;在保险行业也平替了千万条传统 Oracle 的应用层代码,第一家超大型保险公司全外围替换大概破费了一年工夫。当厂商积攒了肯定的教训,前面帮忙客户平替的速度会越来越快。
明天,不仅是品牌多,中国数据库的类型也很多,但就目前来说更有前景还是面向云设计的数据库。并且面向多云设计的数据库,能够说是一个必然的发展趋势。
偏交融型的数据库是将来的次要倒退方向。尽管站在用户角度是越不便越好,然而站在技术角度没方法让用户齐全不便,因而厂商在致力做联合,可能是一部分 TP 和 AP 交融在一起,甚至可能是单机和分布式交融在一起,把这些劣势组合在一起,能适应更多场景。
这样一来,以前用户可能要应用十个数据库能力满足全副的需要,当初只有应用两三个数据库即可,会不便很多。所以,偏交融型的数据库必然会越来越受欢迎。
对于数据库从业者来说,找工作不肯定要和云数据库、交融型数据库齐全挂钩。因为尽管数据库类型不同,但很多实质的技术是相通的,所以对于刚毕业的学生来说,更应该看重在哪能学到比拟外围的技术,再将这些死记硬背,就会有很强的分辨能力和竞争力!