作者:老鱼,本文转载自公众号老鱼笔记。
6月1日,OceanBase 宣布正式开源,采用木兰公共协议 MulanPubL-2.0 版,开放近300万行代码,同时成立 OceanBase 开源社区及技术委员会,社区官网同步上线。
OceanBase 是蚂蚁集团完全自主研发的金融级分布式关系数据库。具有高可用、可拓展、高兼容、低成本、强一致及高性能等特点。经历过阿里超大规模业务场景、支付宝金融级场景以及双11等战役的历练。
目前,OceanBase 已在多家机构落地应用,包括中国工商银行、山东移动、福建移动、数字江西、中国石化、中华财险、人保健康、浙商证券、天津银行、西安银行、常熟农商行、东莞银行等。
OceanBase 为何开源?开了什么?这次开源能否坚持到底?这都是老鱼想知道的问题,为此,老鱼特别采访了 OceanBase CEO 杨冰和 OceanBase CTO 杨传辉。
一天 Github Star 破两千
作为国内自研数据库的标杆,OceanBase 开源显然备受瞩目。此次开源采用业界通用 Open Core 模式。也就是核心(core)开源,周边付费。好处在于开源和非开源模块界限分明,难在取舍度上的把握。如果开源部分太弱,开发者会觉得鸡肋,如果开源部分尺度太大,显然会影响周边。
从实际情况来看,开源仅一天,OceanBase 就已在 Github 上拿下2100+个Star,火爆程度可见一斑,也从侧面证明开发者对 OceanBase 开源诚意的肯定。
有开发者表示,OceanBase 代码值得一看,颜值高,是 DB 中的“大美女”。也有开发者说,看代码量,OceanBase 确实有诚意,只看了一天代码就学到很多。
更有开发者表示,能够开发出一个300万行代码的软件充分说明了 OceanBase 团队的实力,大型国产软件还得靠这样的大团队。
OceanBase CEO 杨冰说:“OceanBase 开源是有真材实料的,也是真心实意的。相信开发者很快就会发现这点。”
OceanBase 社区版包含完整的数据库内核、分布式组件和接口驱动层。企业版与社区版的差别仅在于高级功能,如商业特性兼容、图形化管理工具、操作审计、安全加密、高可用扩展等。OceanBase CTO 杨传辉告诉老鱼。
开源初心 做难而正确的事
时间回拨到一年前,2020年6月8日,蚂蚁集团宣布将自研数据库产品 OceanBase 独立进行公司化运作,公司名为北京奥星贝斯科技有限公司。
从独立公司成立这一天起,OceanBase 管理团队就一直在思考,接下来到底应该怎么走?取什么?舍什么?是不是只做线下的?线上的要不要做?云是趋势,作为独立的数据库公司,中立性是需要保持的,如何去做多云的适配?这些都非常难决策。
“作为公司的 CEO,我考虑最多的是公司生死问题,OceanBase 不做什么会死?”杨冰告诉老鱼。OceanBase 不开源并不一定会死,但活的肯定不如想像中的美好,因为,时间窗口很重要,OceanBase 必须抓住这个时间窗口。如果只是为了赚点钱,OceanBase 不一定要开源,但 OceanBase 的梦想是成为最优秀的世界级数据库。
OceanBase 从诞生之初就一直在“做难而正确的事”,杨冰说。做数据库难,选择自研这条路就更难了,打榜拿世界第一也很难,OceanBase 一直在选择最难啃的骨头去啃,是因为 OceanBase 团队觉得这些事值得做,并且正确的事。因为,只有这样才能真正做到国产化的核心替代。
杨冰表示,在中国并不缺一家数据库的公司,但却缺少一家真正能够完成核心替代的高端数据库。
事实上,目前国产化的挑战依然非常大,OceanBase 在国产数据库中并不算差,但仅靠今天的能力想要真正达到全面国产化还有差距,OceanBase 作为国产数据库的一个重要的参与者,希望可以发展的更快。而开源可以帮助 OceanBase 更快的应用起来,促进产品更快的成熟和落地,所以, OceanBase 选择开源,这个决策在团队和集团高层中没有任何纠结。杨传辉说。
表个态 开源会一直做下去
事实上,OceanBase 早期版本曾经开过源,只是之后又闭源了,那么,这次开源与早期有何不同,历史还会重演吗?
显然,这是个很尖锐的问题。但老鱼还是问了。因为,这一定是众多开发者非常关注的问题。
杨传辉表示,OceanBase 早期0.4版本确实曾经做过开源,不过,那时的开源是技术性开源,也就是就纯技术层面的分享和贡献,另外,也有跟风的成分。因为,当时阿里开源了不少项目,OceanBase 作为技术之一也就开源了,但无论是从架构、代码成熟度上看,还有运营规划上,其实当时都没有做好充分的准备。
但这次 OceanBase 开源与早期的开源完全不同。杨传辉说,今天开源已经上升为 OceanBase 重要的技术战略。这次开源是充分考虑了技术和商业发展做出的战略决定。
“这里表个态,OceanBase 开源一定会持续下去,并且有专门的团队去运营维护,而且这个团队人还很多。”杨冰说。虽然,OceanBase 没有很丰富的开源运营经验,还有很多东西需要去学习。但杨冰相信,没有迈不过的坎,团队擅长解决问题,毕竟连支付宝场景、TPC-C 也都过了,因此,只要定好方向,大家去做就好了,只是做事方式方法需要学习。
值得强调的是,OceanBase 是自研的数据库,这与基于开源 MySQL 或 PostgreSQL 二次开发的自研数据库并不一样,没有现成的生态,需要完全构建一个与 MySQL 平行的第三个生态。杨传辉说,因此,OceanBase 开源起步会更艰难。因为,所有代码都是第三方体系,而不是以前熟悉的 MySQL 和 PostgreSQL。所以,前期陡峭的成本是存在的。
为了降低陡峭成本,OceanBase 还诞生了“春风十里”计划,树立10大标杆客户,主动上门布道,主动提供 VIP 服务,不求客户回报,只为扶上马送一程,帮客户成功,让客户真正把 OceanBase 用起来。杨传辉说。为此,他还给自己定了个小目标,每两个月一次直播,不是讲理念,而是分享技术和代码。
总的来说,OceanBase 此次开源是认真的而非作秀,其开源目的和路线图很清楚,更为关键的是,对于开源,OceanBase 有着长期持续投入的打算和足够耐心,剩下的就交给时间来检验。
开源,能否助力 OceanBase 达成世界级数据库的梦想,我们拭目以待。