专访 OceanBase 数据库创始人阳振坤: 数据驱动业务发展 共建数据技术未来

简介: 2020年11月20日,第十届数据技术嘉年华在北京丽都皇冠假日酒店盛大开启。大会现场,北京奥星贝斯科技有限公司CTO、OceanBase数据库创始人阳振坤接受了企业网D1Net的采访。本文来自『企业网D1Net』的专访报道。

随着互联网的爆发式增长,数据库作为 IT信息产业最重要最核心的部分,迎来了成长和发展的绝佳时机。如何把握机遇,迎接海量数据、通用高性能的挑战?国产自研分布式数据库 OceanBase,在国家内循环、新基建政策的引导下,发挥着强大的中国制造的技术魅力。

在互联网爆炸式增长对海量业务中数据库高并发、高性能的严苛要求下,数据库领域的标杆 OceanBase,以其高性能、可扩展、高可用以及低成本等特点,特别是阿里集团内部包含网商银行、支付宝等航母量级的数据库场景应用的成熟经验,保障了业务连续、稳定、高效运转,为用户创造更大价值。

1.jpg

2020 数据技术嘉年华上,北京奥星贝斯科技有限公司 CTO、OceanBase 数据库创始人阳振坤,接受了企业网的专访。他对 OceanBase 的发展历史进行了总结和回顾,全面诠释了数据库技术的发展历程,同时作为前沿的技术专家,也对未来数据库系统的发展趋势做了预测和展望。

22.jpg

北京奥星贝斯科技 CTO、OceanBase 数据库创始人阳振坤

数据库从诞生至今已有几十年的时间,但是市场格局变化不大,最早发展起来的数据库厂商长期占据着统治地位。由于数据库处在整个 IT 产业链最基础的位置,替换风险很大,但收益相比起来却小得多,因此非常难被替换。这也是为什么像 IBM、微软这样的后来者也难以取代 Oracle。这就导致了数据库变成一个门槛极高、强者恒强的领域。

然而,时代的发展往往会打破惯例。互联网的爆发式增长对数据库的高并发、大数据量提出了很高的要求,而传统关系型数据库难以满足,这就给 OceanBase 的问世创造了“天时”基础。加之阿里巴巴内部从淘宝到支付宝拥有大量使用数据库的场景,OceanBase 可以从不是特别关键的应用场景开始尝试,一步步地将数据库做到关键系统,这也是绝大多数互联网企业可以做数据库的优势——自带场景的“地利”条件。最后便是以阳振坤为代表的具备分布式技术背景的团队,在当时单机数据库已经走到尽头的情况下,以“人和”之势定下了走向分布式的路线。

就这样,打破传统数据库一统天下格局的 OceanBase 在一个千载难逢的机遇下应运而生,让国产自研关系型数据库崭露头角并推广使用,不断推动国产数据库技术快速发展和走向成熟。目前,OceanBase 已经在数十家商业银行上线运行。在简要回顾 OceanBase 十年的成长路时,阳振坤的自豪之情溢于言表。

其实在 OceanBase 立项之初时,关于“分布式”曾有一番热烈的讨论。随着业务的高速发展,海量数据激增,数据库面临着巨大的挑战和困境。大家常见的解决方法是拆库做分库分表,就是将原来一个数据库,根据业务的不同拆分成多个数据库,一个数据库放一个表,后期如果业务处理不了,再将一张表拆分成多个分表。要是业务量小,尚可满足业务需求,但是随着拆分到上千甚至上万个分表,这个事情就变得极其复杂且解决起来异常困难。因为每天每一个表都会进行无数次变更,这些变更需要做在所有的分片上,只要一个分片异常就需要回滚,就有概率出现回滚不成功,从而导致数据丢失或影响业务的连续性,给企业带来的损失将是不可弥补甚至不堪设想的。

能从根源上解决数据库发展的问题,最完善的解决方案是真正的分布式数据库。分库分表只能称为分布式系统,是分布式数据库吗?阳振坤笑了笑,“打个问号吧!”很多人都清楚事务的 ACID 特性,知道事务要满足原子性、一致性、隔离性和持久性,这是从数据库本身的角度来看。有人混淆分布式数据库的概念,把分库分表也叫分布式,但其实它不是分布式数据库,因为它是多个数据库而不是一个数据库。分库分表方案虽然可以解决一些问题,但也带来更多的挑战,更大的复杂性和更高的成本。

正因为如此,阳振坤的团队毅然决然地选择了最难走的一条路——做一款原生分布式关系数据库。这需要所有代码一行一行自己写,没有任何一行别人的代码,没有任何其他人的东西。另外,除了要满足事务和数据库里面的各种约束、各种一致性,还包含分布式事务处理、性能和响应时间,而最困难的是故障恢复,因为分布式环境下出故障是必然的,且故障率会随着节点的增加呈指数级增加。再有就是整个性能的稳定和分布式上的优化,单机上的优化器已经很难了,分布式优化器,尤其是做整个事务处理的优化器,挑战要大得多得多。回忆起 OceanBase 从初生到成长的过程,以及团队所攻克的一个又一个难关,阳振坤不禁感慨良多。

解决了从数据库本身的角度来做一款真正意义上的分布式数据库后,从业务的角度,客户对数据库其实有更高的要求。第一个要求是数据不能错,第二个要求是服务不能停,第三个要求是事务高并发处理能力。阳振坤补充道,全世界有非常多的数据库厂商,近年来也进入了国产数据库的繁荣时期,但是能真正把业务角度客户关注的这三点做到,并在实际生产中全面应用的其实少之又少。如今,OceanBase 已经可以做到水平扩展,不需要重新拆分业务,就可以在主库做交易处理,在备库做数据分析处理,甚至在未来可以在主库上同时完成交易和分析的处理。这一技术上的革新很好地克服了分库分表方案的弊端。阳振坤介绍道,OceanBase 跟分库分表最根本的区别在于分库分表是多个库,而原生分布式是不管有多少台机器仍是一个数据库。用户可以像使用一个传统商业数据库一样来使用它,这就很自然地应对了站在业务角度客户所关注的三方面要求。

数据库的成长发展离不开业务的打磨。OceanBase 今天有数以万计的服务器,昼夜运行在支付宝整个系统里,它从边缘系统到次重要系统最后引用到核心系统,一步步经过应用实践检验发展过来。OceanBase 在多年前就成功实现异地多活跨城应用,阳振坤分享道:OceanBase 异地的多活,跨几个城市的多活,具有很成熟的实践基础,因为支付宝的业务早就是国际型了。到目前为止,这个实际场景所带来的技术实现依然具有实践意义和参考价值,技术也是非常领先的。

如今的海量数据处理系统,不论是大数据系统还是数据仓库,都是分布式——原生分布式。再回过头来看关系型数据库,尤其是 OLTP 数据库,目前仍然是以单机/集中式为主。不是 OLTP 数据库不需要做分布式,而是分布式的OLTP数据库的研发异常艰难。但如同汽车终将代替马车:回想起150多年前,汽车刚刚被发明时,马车还是最主流的交通工具,当时在马路上优先通行的是马车,汽车也没有生态。而到了2020年的今天,作为主流交通工具的马车早已成为远古的过去,汽车早就成为了不可逆转的主流。所以,OceanBase 正在撰写数据库的现在,创造数据库的未来,值得期待

关于 OceanBase 数据库
2010年,OceanBase 项目立项。
2011年,淘宝收藏夹上线。
2014年,支付宝交易库上线。
2015年,网商银行成立,OceanBase 成为全球首个应用在金融核心业务系统的分布式关系数据库。
2016年,OceanBase 1.0版本在支付宝账务系统上线,支撑12万笔/秒支付峰值。
2017年,支付宝首次把账务库在内的所有核心数据链路全部迁移到 OceanBase 上,创造4200万笔/秒数据库处理峰值纪录。
2017年,OceanBase 走出阿里对外商用,先后在南京银行等多家商业银行落地。
2019年,OceanBase 参加国际标准的数据库 TPC-C 基准性能测试,以6088万 tpmC 登顶 TPC-C 性能榜。
2020年,OceanBase 再次登顶 TPC-C 测试性能榜首,并创造了7.07亿 tpmC 的新纪录。
2020年,OceanBase 公司成立,以专注发展 OceanBase 数据库,向客户提供更专业服务。

相关文章
|
22天前
|
SQL 数据库 微服务
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
|
5天前
|
人工智能 搜索推荐 算法
在当前数据驱动的时代,数据库技术面临哪些挑战
在当前数据驱动的时代,数据库技术面临哪些挑战
|
4天前
|
存储 SQL 关系型数据库
数据库事务:确保数据完整性的关键20
【7月更文挑战第20天】事务是数据库操作的基本逻辑单位,确保数据一致性。ACID原则包括:原子性(操作全成或全败),一致性(事务前后数据合法性),隔离性(并发操作互不影响),持久性(提交后更改永久保存)。MySQL的InnoDB引擎支持事务,通过undo log实现回滚,redo log确保数据持久化。开启事务可使用`BEGIN`或`START TRANSACTION`,提交`COMMIT`,回滚`ROLLBACK`。
131 70
|
9天前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之数据集成时源头提供数据库自定义函数调用返回数据,数据源端是否可以写自定义SQL实现
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5天前
|
人工智能 自然语言处理 数据管理
自然语言处理技术在AI驱动的数据库中的作用是什么
自然语言处理技术在AI驱动的数据库中的作用是什么
|
7天前
|
存储 负载均衡 定位技术
现代数据库系统中的数据分片策略与优化
数据分片在现代数据库系统中扮演着关键角色,特别是在面对海量数据和高并发访问的情况下。本文探讨了数据分片的基本概念、常见的分片策略(如水平分片与垂直分片)、以及如何通过优化和选择合适的分片策略来提升数据库系统的性能和可扩展性。
|
8天前
|
数据采集 分布式计算 大数据
MaxCompute产品使用合集之数据集成中进行数据抽取时,是否可以定义使用和源数据库一样的字符集进行抽取
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10天前
|
Java 关系型数据库 数据库
实时计算 Flink版产品使用问题之如何将增量数据直接写入下游数据库
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5天前
|
存储 监控 安全
跟数据库交互涉及的敏感数据操作需要有哪些措施
跟数据库交互涉及的敏感数据操作需要有哪些措施
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
数据的资产怎么被AI驱动的数据库理解
数据的资产怎么被AI驱动的数据库理解