国产数据库“向未来”:既要百花齐放,也要独树一帜

导语 | 随着中国经济的快速发展和数字化转型的加速,数据库作为数字化基础设施的重要组成部分,也在不断发展壮大。目前,中国的数据库产业已经发展到了哪个阶段?未来还存在着哪些机遇与挑战?我们邀请了云和恩墨 CEO、腾讯云 TVP 盖国强老师与腾讯云数据库 TDSQL 技术负责人 雷海林老师,以行业专家视角,从产业现状、技术生态、市场前景等多个维度,深入探讨中国数据库的发展现状和未来趋势,为读者提供全面的了解和参考。

国产数据库“向未来”:既要百花齐放,也要独树一帜_第1张图片

中国数据库的发展历程

崛起:技术实力与全生态协同缺一不可

盖国强:

国产数据库在最近的 2-3 年一直是非常热门的一个话题,但我更愿意把它称为中国数据库。

近年来很多人在谈论中国的数据库产品创新和成就,例如腾讯云的 TDSQL 成功登顶 TPC-C。这些成就本质上就代表了技术实力,有了这些技术成就作为底座,中国数据库也更能获得广泛关注和认可。

我曾经写过一篇文章,说的是数据库作为信息系统的核心,需要依赖全生态的协同才能成功。对于数据库生态要有开发者愿意去使用这样的数据库产品,同样也需要媒体和公众的关注和支持。当有越来越多的人去谈论数据库的时候,我们离成功就不远了。所以本质上我认为宣传上的成功就代表了一种技术实力,这是第一点。

但目前我觉得声音还不够,如果讨论数据库的声音能够更加广泛,甚至影响到高中生,在他们填报大学志愿的时候就知道有这样一个充满活力的方向,那么人才的问题就有望解决。

其实从全球来看,很多重要的软件创新都是源自高校,很多数据库的理论创新也是源自于学术界,但是学术界不能把它快速地产品化,这就需要产业公司去进行投入,所以我认为一定要进行产学研的深度合作,真正形成正向循环的生态,才能让这个产业进入一个更健康的状态,这需要大家持续不断的努力。

雷海林:

国产数据库现在正处于蓬勃发展的阶段,在对外传播上也在陆续发出自己的声音,我觉得这对数据库从业人员来说,是一个非常好的机会。在数据库生态上,包括配套建设、开源体系上,现在也有很多高校在跟数据库厂商做学术方面的合作,比如人才培养、项目研发,这一块虽然在起步阶段,但发展比较快。我们接触了不少高校在做一些合作,例如在 TDSQL 3.0的研发过程中,我们合作高校的同学也提供了很多支持,最终帮助将其产品化。这种合作可以帮助我们节约摸索的时间,拓宽研发方向。同时我们也了解到云和恩墨也在支持高校的研究,通过高校和企业的合作,更好地促进产学研的快速发展,我们也愿意共同努力将整个生态建设得更加繁荣。

蓄势待发:中国数据库的爆发前夜

盖国强:

我认为中国数据库当前所处的阶段,是起步阶段的末期。这该如何定义呢?我认为中国数据库的起步末期应该达到 10% 左右的市场份额,这是一个起点,或者说这是一个拐点。

原来英特尔的创始人安迪格鲁夫(Andrew S·Grove)曾经第一次提出这个概念,他说一个产品其实越早进入一个战略拐点越好,如果突破了战略拐点,它可能就会呈现一个爆发式的增长,然后再越过下一个拐点。对于数据库而言,可能在大约在 30% 左右的点位上就占据市场的主流了,后边的发展可能就是一马平川了。

我认为我们已经处在拐点的临界位置上了,它可能随时都会到来,所以我对拐点的到来是毫不怀疑,也充满期待。

但是,虽然市场占有率的拐点可能提前到来,但生态的拐点可能会滞后。例如 IBM 的 DB2 和微软的 SQL Server,即使这些数据库的占有率超过 10%,但是它们的生态依然不够活跃。所以我觉得如果要让中国数据库尽早迎来生态上的广泛活跃性,需要大家共同创造生态,才能实现生态拐点的提前到来。

雷海林:

现在我们的产品正在经历一个新的发展阶段。以金融领域为例,我们的重点是帮助一些大型国有银行、商业银行和股份制银行打造核心系统,建立起标杆和用例。之后我们就能更轻松地复制这些成果,并为中小银行提供产品化解决方案。对我们而言,这确实是突破和爆发前夜。

目前我们的数据库产品在快速迭代,客户对国产数据库的认知也在逐渐加强,我相信这个拐点在这两年内可以得到突破。

同时我也非常认同盖老师的观点,建立生态确实是一个困难的过程,需要大量的投入和持续的努力。除了产品本身的研发,相关的文档、培训和配套措施也需要同步推进,以便更好地帮助用户使用和推广国产数据库。这是未来国产数据库发展的一个必须解决的问题。

与传统商业数据库产品的差距

雷海林:

这个问题对我来说是灵魂拷问,坦诚地说我个人觉得,与 Oracle 等传统商业数据库相比,中国的数据库产品在内核、创新、开发者友好等方面仍存在一定差距。

我们可以看到,国产数据库现在的思路与 Oracle 数据库是有差异的,中国的数据库产品,比如说我们的 TDSQL,是从腾讯起步的,作为互联网公司,我们更注重海量高可用性或者说分布式的能力,整体成本和性能较传统商业数据库有较大的提升。

但性能好、成本优势大,是不是就意味着跟我们能够跟传统商业数据库平起平坐呢?我觉得还是不够,在生态、兼容性、SQL 能力等方面,现在的分布式数据库相比 Oracle、DB2 这类成熟的商业数据库仍有差距,还有很大的优化空间。

不过我们在某些领域也有了足够的积累,比如说我们现在 TP(事务性数据库)已经做得非常强了,AP(分析性数据库)也在快速提升中,在分析场景,我们 SQL 的兼容性、整体性能,也取得了很大的突破。

盖国强:

我和海林的观点其实有些偏差。其实以前很多朋友也问过我这个问题,我想语出惊人,就跟他们说“没有差距”,他们说为什么?

我想表达的是,我们已经站在了巨人的肩膀上。比如说我们很多中国的数据库创新是站在 MySQL 或者 PostgreSQL 的基础上进行的迭代和增强,因为这些开源数据库本身就具有国际一流的产品水准了,它已经在全球经历过非常广泛的应用试验,已经获得了巨大的成功,所以我们站在巨人的肩膀上,自然可以走得更远,这个起点是非常高的。

学习、模仿与创新之路

盖国强:

我之前有听到不同意见是说国产数据库在做过去别人做过的事情,存在着重复建设的问题。

但我的观点是,从应用端来看,还有很多值得做的事情,因为全球的情况也是如此。回顾历史可以让我们少犯错误,避免重复造轮子,让我们能够做真正有创新的事情。

中国的数据库产业正处于学习和模仿阶段,但我们希望尽早跨过学习和模仿的鸿沟,真正通过创新产生不同的产品,让中国数据库市场真正百花齐放、各有所长。这样,中国的数据库产业才能进入到 20 年前美国数据库领域的通过资本并购整合出产业巨头的阶段。

很多人问为什么现在中国数据库产业看不到企业的重组或并购,因为现在的产品缺少原始创新,缺少真正的创新,基本上是同质的。比如说兼容性、补齐短板等方向,我不认为这些重复建设对中国数据库产业有价值。我们需要记住的是创新是唯一出路,只有创造出真正新的产品、好的技术,我们的行业才能更强。

雷海林:

谢谢盖老师的分享。对于创新这个话题,我们深有感触,在不断地挖掘。当然目前数据库的基础理论已经发展非常成熟,所以更多的时候我们偏向于应用场景的创新。另外非常重要的一点是工程化能力,就是将一些已有的理论转化为实际工程,尤其是针对分布式场景。

举例来说,我们是最早做分布式事务的团队。传统观点是大家普遍认为这个理论在实践中只能达到原始单机版的 20% 或 30%。但在我们的工程化实施过程中,我们逐渐将这个比例提升到了 40%、50%、60%,甚至在 TPC-C 方面做到了 85% 的线性扩展性。

我认为这也是将理论转化为实际工程的一大创新点。这也是目前很多数据库产品所处的阶段,即产品化和工程化。在这个过程中,我们会发现许多之前的理论在实践中存在一些不足,这其中也是有着非常多可以优化改进和创新的点。

TDSQL打榜TPC-C的背后故事

盖国强:

聊到 TPC-C,我们都知道前段时间 TDSQL 成功登顶了 TPC-C 的榜单,引起了广泛讨论。在这里我也想问一个可能大家都会关注的问题:TDSQL 用了多长时间去准备才完成了 TPC-C 的打榜,最终站到了顶峰?

雷海林:

在整个 TDSQL 做打榜的过程中,需要经历准备阶段和实质性的打榜阶段,大约花费了 6 个月的时间。在准备阶段中,我们是首先抽取出单节点,并通过内核优化使其性能达到 60 万 TPMC(每分钟事务量),这个过程大概花费了两个月的时间。

之后,进行了三节点的搭建,因为 TDSQL 是高可用分布式数据库,三节点代表了分布式数据库的雏形,这时性能达到了 85% 的扩展性,到了这个阶段也暴露了调度,复杂 SQL 等方面的一些性能问题。

接下来,尝试将节点扩展到 60 个,以测试整体性能是否能达到单节点到三节点 85% 线性扩展。在解决了一些问题后,最终成功完成了 60 个节点的搭建。然后又进行了规模更大的实验,将节点扩展到 200 个,这时的 TPMC 也增加到了大约 1 亿。

完成 200 个节点后,最终进行了实质性的打榜,使用了 1650 台 DB,并花费了大约两个月的时间。其中也发现了一些问题,比如节点数增多会导致网络延迟增加、磁盘故障概率增加、操作系统内存出现问题。为了尽量减少故障,我们也是费了非常大的功夫,在解决问题的过程中也可以反哺我们的 TDSQL 产品得到提升。

盖国强:

确实是非常宝贵的经验,期待你们能够有时间把它写出来与大家分享。我还有一个问题,许多网友可能也在问:最近几年,我们注意到像 Oracle 和 IBM 这样的厂商并未再参与 TPC-C 基准测试的竞争,而是由国内的厂商来做积分榜的刷新。这引发了一些人的疑问,关于 TPC-C 的基准测试是否还有意义也存在争论。为什么腾讯云要参与 TPC-C 的打榜?为什么选择此时参与呢?

雷海林:

为什么我们会选择在这个时间去打榜 TPC-C?原因是这样的基准测试对于 TDSQL 产品仍然具有很高的价值和意义。

TDSQL 团队希望通过基准测试证明产品的性能和竞争力,以吸引更多的客户,特别是在当前国产数据库突破前夜的时期。同时我们也觉得,TPC-C 基准测试是一个比较科学的测试方法,需要考虑多个方面的因素,如性能,高可用,数据一致性,稳定性和性价比等。对于云厂商来说,具有大规模客户和大量服务器运营等优势,可以在性价比方面做得更好。

此外,进行 TPC-C 基准测试也可以帮助团队总结产品化阶段的工作,发现产品的优劣之处,进一步完善产品,并且在强压力下发现并解决一些问题,对于技术方面的提高也非常有帮助。最后也是希望通过公开的基准测试打法,可以获得业界权威的认可,提升产品的知名度和竞争力。

云计算浪潮下的转折与演进方向

盖国强:

中国确实是一个对数据库来说非常好的产业发展环境。互联网时代的爆发性需求对传统商业数据库提出了挑战,使得我们的数据库产业在互联网时代出现了转折点,中国数据库通过满足用户需求来推动其发展。例如微信红包等高并发场景的例子,代表了互联网时代对数据库的新需求,而传统商业数据库的改变节奏跟不上这些新需求。

尽管 Oracle 在过去的数据库技术关键转折点上几乎没有误判过,但是他唯一的一次误判就是对于云的判断。Oracle 低估了云对于数据库的影响力,所以从 2013 年开始,他就把重心转向云,以适应新的市场趋势。因为如果它在云上不能成功,将来云可能把他吞噬和替代掉。因此,Oracle 必须在云上重新成功,才能够在未来生存。

最后我再概括一点,在开源的自由意志的影响下,其实整个数据库产业被彻底改写了。传统商业数据库的销售模式时代一去不返,对未来的所有数据库,它应该都是云上的分布式数据库,都要支持以订阅模式或者服务模式去为用户提供价值,这是我的判断。

未来前景:期待百花齐放,又各自独树一帜

雷海林:

我认为在数据库领域,开发完全通用的产品并不会是一蹴而就的,我们需要长期投入并持续完善产品。

我们希望将产品从原来的分布式且较轻量级阶段逐渐改进到更强大的方向。目标是让产品在用户运营方面更简单,同时提供强大的数据库能力。在分布式层面,例如自动化的数据拆分、搬迁和合并,以及智能化的运营,我们希望将这些功能尽量整合到一起。当然,我们也期待与云和恩墨提供的配套产品一起合作,以完善这方面的工作。

盖国强:

数据库的开发确实是一个长期投入、持续迭代和坚持不懈的过程。我希望中国的所有数据库厂商或企业都能保持最初的那股动力来找到关键的突破点,并持续进行投入。这样一来,我们就有可能在中国市场上看到每个数据库都拥有一项杀手锏能力,能够解决特定领域用户的关键需求。如此,我们的产品才能真正具备竞争力。

我特别希望看到的是中国的数据库能够做到百花齐放,但是各自独树一帜。

快问快答

如何进行数据库选型?

雷海林:

在选择数据库时,首先要考虑其应用场景,在这个基础上去选择合适的数据库,并不是因为一个数据库流行或被别人称赞就要选择它。例如,如果你需要处理的数据量很小或者应用场景简单,那么就没必要选择分布式数据库。同样地,如果你的数据库需要与 Oracle 兼容,那就需要在兼容性方面多对比研究,另外数据库的性能,自治的运营能力也是非常重要的关注点。总体来说,我们需要从长远的角度来考虑数据库的选型。

盖国强:

我给用户的选型建议可以概括为三句话。首先是选择一个安稳易用的数据库,确保基础是安全、稳定、连续、高性能和易于替换。这是一项基本要求。

其次是量才适用。因为现在国内有很多数据库产品,包括集中式、分布式、开源、闭源、自研和迭代的。根据应用特点选择适合的数据库非常重要,同时也希望行业用户能多给国产数据库机会。只有为国产数据库提供使用机会,它们才能不断改进。

第三点是平台自治。以腾讯云的 TDSQL 和云和恩墨的 MogDB 为例,虽然与拥有 45 年历史的 Oracle 相比还存在差距。然而,我们在数据库服务和管理平台上的迭代达到了国际一流水平。以前,云和恩墨的产品在服务和维护工具方面主要面向 Oracle 和 DB2 等国际一流产品。我们可以借助这些经验和能力,将其应用到国产数据库上,有助于弥补数据库某些方面的不足。我们将这种协作称为平台自治,选择一个与国产数据库搭配的最佳伴侣,实现分工协作。

如何保障数据库安全?

雷海林:

我个人在这方面也不是特别专业,但是我感觉要解决数据泄露安全问题,首先要意识到单一方面的努力并不足够。例如产品存在漏洞可能会被恶意利用,需要密切关注使用的产品,特别是开源软件,及时修复其漏洞。

在内部方面,需要实施数据库的隔离措施,确保不同客户间的数据完全隔离,网络也要做好隔离和虚拟化。此外,数据库本身层面也需要提供透明加密等功能,同时进行重要数据的审计,包括对 SQL 和数据库进行实时验证,防止注入等漏洞。内部业务方面也要进行综合审计,识别潜在风险。

数据安全是一个系统性的问题,而且具有一定难度,不能指望一次解决所有问题,这也是为什么很多领域更倾向于私有云加服务模式而不是公有云。例如银行等部门更倾向于采用私有云模式来确保重要数据的安全性。

盖国强:

我曾经写过一句话:“硬盘必定会损坏,所有硬盘都会有故障”,后半句是“聚集起来的数据迟早会被泄露,我们所做的只是尽量推迟这个时间点。”

这并非玩笑,因为个人信息或其他信息无处不在,都会留下记录。如果没有像我们这样的专业人士来讨论安全问题,任何存在安全弱点的地方,数据可能很快就会泄露。这是一个非常现实的问题。为此,我曾经写过一本书叫《数据安全警示录》,旨在通过展示安全问题的许多实例来警醒用户,避免重复犯下类似的错误。

强调数据安全从未过分。我认为疏忽是数据安全的最大敌人。当用户可能疏忽犯错时,我们唯一能做的就是增强数据库软件本身的安全性。

过去我注意到许多数据泄露事件发生在商业数据库上,如 Oracle,而很少有人注意到开源数据库,例如 MySQL 出现数据泄露的情况。这是因为这些开源数据库本身的安全机制不够健全,早期甚至可能都没有密码。当你不注意将这些数据库暴露在公共网络上时,你的数据可能会立即成为攻击目标并被窃取。因此,我们在数据库设计时应尽量简化用户的安全门槛,通过数据库本身的功能实现数据安全的防护,这一点非常重要。

我注意到国内的许多自主研发的数据库在这方面还有很大的改进空间,所以我们应在一开始就补齐最关键的环节,对每个人的数据安全负起责任。我们希望每个从事数据库工作的人都能将数据安全放在首要位置,否则我们的数据安全风险将无处不在。

数据库行业如何培养人才?

雷海林:

我们确实发现在寻找优秀数据库领域的人才方面比较困难。因为在整个行业来看,寻找精通 C/C++ 开发的人员非常稀缺,因为大多数人更倾向于使用 Java、Go 等技术,这导致在基础软件领域寻找人才变得非常困难。因为数据库是一门技术性要求很高的领域,它需要深厚的技术功底。

另外一方面是我认为在研发过程中我们仍然能够找到很多乐趣。解决问题过程中会遇到各种各样的坑和难题,这些问题往往非常复杂,可能需要花费几天甚至几周的时间来解决。但这个过程对个人的成长非常迅速。

在未来,我们也应该在高校之间加强合作,特别是与计算机,软件专业等领域进行合作。重视基础软件的研发,让更多的学生能够静下心来学习这些技术软件,包括编译器等基础能力。我觉得高校方面可以多增加一些投入和实践。

此外,我们也发现招聘许多优秀的毕业生后,可能刚开始他们在数据库方面并不了解,但经过一段时间的培养,他们的成长速度会非常快。当然,我们愿意与高校合作,了解我们的数据库,并一起解决一些问题和困难,所以我认为与高校的合作可能更有利于培养人才。

盖国强:

海林基于自身的经验提供了一些通用解法,但我觉得这太慢了,远水解不了近渴,不能满足迫切需求。

我有一个解决方案可供商榷,即策反传统数据库领域的 30 万 DBA 和 200 万开发者。很多人询问,如果商业数据库被替代,那些在传统领域积累经验的 DBA 将来会失业吗?我告诉他们,无需担心,他们的经验是宝贵的财富。

他们甚至可以转型成为产品经理或产品设计师。在国产数据库领域,服务人员和运维人员的就业空间非常广阔。因此,我呼吁那些和我一样在过去从事 Oracle 工作的朋友们认识到,中国数据库产业正在经历一场巨大的变革,这是一个战略性的转折点。一旦度过这个拐点,中国数据库的替代过程将会是压倒性的。

因此,我们必须积极转型,积累新的知识和经验。我认为每个人都可以去尝试,也鼓励大家积极拥抱中国的数据库产品,并全身心地投入其中。

软件优化三年不如硬件更新一代,如何看待?

雷海林:

软件与硬件是相辅相成的,软件的发展离不开硬件的进步。对我们来说,硬件并不是敌人,而是朋友。我们愿意积极拥抱新的硬件技术,例如非易失性存储和RDMA等技术,因为这些技术的应用可以为我们的软件产品带来更大的突破。

然而,仅仅拥有先进的硬件并不代表可以不优化软件,重要的是我们要紧跟硬件的快速发展,充分挖掘它的价值。我们需要了解新硬件的特性,并在我们的软件中充分利用这些特性,这样才能达到最佳的效果。

盖国强:

充分发挥硬件的能力可以最终解决数据库的问题。我认为最理想的数据库形态应该是用户无需意识其存在,却能享受到它的好处。

如今的世界十分复杂,我曾思考过如果像《三体》中所描绘外星文明真的出现,地球上的我们是否就能团结一致攻克难题,但现实情况并非如此。世界会分裂,技术也会分裂,所以国产数据库一定不是一个伪命题,我们也希望国产数据库在追赶并超越之后能够真正取得突破。

因此,每个开发者都应为这个目标贡献力量。我们确实有能力实现这一目标,因为中国拥有全球最大规模的数据基础设施,并提供最广泛的数据应用环境,这是我的观点。

小结

盖国强:

最后我想分享一句话给大家,以回应许多人对于国产数据库的重要性提出的质疑,就像有人说这是否是一个伪命题?我们真的取得了超越吗?排行第一代表了什么?

我记得在一本书上看到过这样的表述,意思是我们的观念变化、观念的转变以及人类意志的力量最终塑造了今天的世界。这句话表达了每个人都在为世界变革做贡献,从根本上说,是我们共同的意愿改变了我们所存在的世界,但世界并不会完全向正确的方向前进。

我们说几千年前孔子和孟子的观点,在今天看来仍然十分合理。前人的聪明才智已经对这个世界进行了无比准确的描述,明确了我们的行为规范。然而世界并没有按照这个方向发展,仍然存在无数冲突和战争。

回到我之前提到的那句话,即我们的意志塑造了今天我们所存在的世界。换句话说,每个人都希望这个世界、这个数据库变得怎样,如果大家对某个领域、行业感到不满意,我们应努力投入、呼吁并致力于改变。

有人说我们今天坐在一起讨论是否多余?我认为不是。如果我们每天都看到许多人在直播中谈论数据库,进行思考和思想碰撞,我相信我们离成功不远了。我最近也在撰写一本新书,叫《数据库发展简史》,写下我的一些观点,不论对错,我希望通过它使数据库世界变得更美好,这就是我最后想表达的。

雷海林:

很期待盖老师的新书发布。从今天的交流中我也感受到盖老师的思想观点非常深邃,受益匪浅,学到了很多东西,以后也希望可以向盖老师请教更多。中国的数据库行业,我们每天都积极地拥抱它,开发和应用它,我相信我们一起努力,腾讯云数据库、云和恩墨以及其他国产数据库,都能更好地服务于我们的应用场景。整个数据库领域也会得到更好的发展,尽早摆脱国外商业数据库的限制,通过自主研发的国产数据库实现自主可控。让我们共同努力吧!

结语

中国数据库产业的发展历程和未来前景令人振奋。随着数字化转型的推进,数据库产业在中国迅速崛起并取得了长足的进展。然而,作为一个新兴行业,中国数据库产业仍面临着不少挑战,如技术创新、人才培养和产业生态等方面的问题。需要有相关政策、产学研合作和开放合作等解决方法和措施来提供明确的指导。

展望未来,中国数据库产业有望继续蓬勃发展,发挥更加重要的作用,尤其是在数字化经济中,这需要全生态的协同。为实现这一目标,我们也需要坚定信心、共同努力,推动中国数据库产业迈上新的高峰。

 

你可能感兴趣的:(腾讯云TVP大咖专访,数据库,oracle)