写在OceanBase开源三周年

2024年 6月 3日 60.9k 0

撰文:OceanBase 开源生态总经理 封仲淹

最近两天,我们和社区用户一起庆祝了 OceanBase 开源三周年,当我在现场表达感谢时,很多回忆涌上心头,不光是 OceanBase 社区版一点一滴的迭代,还有这三年来我们和众多用户一起走过的画面。

写在OceanBase开源三周年-1

当我们在 2021 年 6 月 1 号正式宣布 OceanBase 开源时,收到了很多来自业界的不同的声音,有期待、有肯定,也有质疑。但我想说,对于开源,我们是认真的。当时想法很简单,OceanBase 作为一款在蚂蚁集团应用了十多年,支撑每年“双 11”所有核心业务场景的产品,它的稳定性、性能非常好、还有很高的性价比,开源出来一定会得到用户和开发者的喜爱。我们也一直在强调 OceanBase 是真开源,当然,这要交给用户和开发者评判。

今天在 OceanBase 开源三周年之际,想跟大家说说心里话,聊聊这三年来的感触。

感触1:解决问题才有生存价值

快手是 OceanBase 社区版第一位上线用户,至今我还清楚地记得第一次拜访快手时的场景。

2021 年 6 月 10 号,我和日照(OceanBase CTO 杨传辉)来到快手基础架构部门,了解到当时的快手每年都会因为网络或机房缘故做一些 MySQL 订正,痛苦不堪,他们想尝试 OceanBase 的 paxos 高可用能力。在调研过程中,快手测试、对比了 OceanBase、MySQL、CockroachDB 的性能,结果 OceanBase 表现最优。可让人头疼的是,数据怎么从 MySQL 同步出来,怎么传输到快手大数据部门。

不久后,我们开放了日志格式,即 OceanBase CDC 的 0.1 版本,联合快手数据库团队的开发能力,很快让快手的数据同步系统支持解析 OceanBase 日志。这件事为我们基于 Canal fork 推出支持 OceanBase 的 Canal 奠定了基础,以服务更多用户的数据同步流程。

在此期间,还赶上快手的技术交流日,我邀请了竹翁(OceanBase 产品部总经理&首席架构师杨志丰)一起参加,当时,快手面临备库查询、MySQL 备库同步 ClickHouse 时延高、数据时效性差等问题,OceanBase 则可以对接这套系统中所有的 MySQL 备库做汇聚库。此次契机让 OceanBase 在快手落地,最终帮助快手解决了时延问题,并节省了大量的运维成本和机器成本,为日后快手核心系统上线打下坚实的基础。

从快手到如今的 500+企业客户,三年间我们和许多用户经历了携手并进的时刻。2022 年陌陌面临 KV 系统的诸多挑战,如系统抖动、资源利用率低等,正被 OceanBase 高扩展、高压缩、多租户、稳定的特性吸引,但 OBKV 未提供 Redis 接口。因此,OceanBase 联合陌陌开发了支持 Redis 持久化的需求,开发周会从最初的两周一次,到如今每周同步进度,让我们能够快速了解问题并齐心协力解决问题。

除了这些携手并进的伙伴外,还有一批不断为我们出谋划策的朋友。携程是一直陪伴 OceanBase 社区版成长的用户,给我们提出了很多重要建议。比如,确保用户使用 OceanBase 时能够实时同步数据,当新用户不熟悉 OceanBase 时,很有可能误操作导致集群不可用,而实时同步则可以随时切换到 OceanBase。携程在 OceanBase 社区沉淀的技术博客《干货 | 携程 MySQL 迁移 OceanBase 最佳实践》至今都在被其他用户仔细阅读。再比如携程的使用规模逐渐增大后,为保障业务的隔离性同时减少开发人员的工作量,主动提交一份 patch 帮助我们提升读写分离的易用性,更好地实现了该方案。如今携程把众多核心业务迁移到 OceanBase 数据库,不仅无缝 scale-in or out,还节省了 85%左右的存储成本。

在上述过程中,虽然 OceanBase 社区版是为解决用户问题而来,但是正因为有诸多用户的信任,才有齐心协力解决问题的过程,带来超出预期的结果。

感触2:永无止境的“易用性”

使用数据库,就像相亲一样,易用性就像相亲对象的外貌,若易用性不足,很难获得和对方进一步了解的机会。对此,OceanBase 专门成立开源管控团队解决易用性问题。但易用性就像攀登高峰,一山更比一山高,永无止境。(《与用户同行:OceanBase开源3周年易用性回顾》)

面对易用性挑战,我们将蚂蚁内部和 OceanBase 企业版沉淀多年的商业软件 OCP(OceanBase Cloud Platform)开放出来,供社区用户使用,一整套白屏运维系统为用户带来很大的便利性。我们发现在 OCP 运行一段时间后,关于集群安装的吐槽变少了,却又暴露了新的问题:黑屏工具 OBD 和白屏工具 OCP 的衔接。

印象最深的一次“吐槽”是在知乎企业行,58 同城应用实践分享对 OceanBase 自动化运维工具提出很多反馈,当天我们回去后就发动了一场 “安装易用性战役”。一个有意思的变化是验收方式,过去都是测试来验收,完成功能即代表测试通过,这一次我们从用户角度思考如何顺畅安装部署和运维 OceanBase。我们为毫无技术背景的 HR 同学提供 3 台机器和安装文档,在全程不做干涉的情况下,HR 同学一气呵成完成了所有操作。

同时,我们对文档组织结构做了重大调整,将很多分散的文档进行梳理合并,并把文档优化的优先级按照用户习惯进行排序,还开放了技术支持同学沉淀的问题排查知识库,便于用户自助排查。有趣的是文档团队也开始招 DBA 岗了,要求按照每一份文档的内容,在集群操作一遍。最近我们和 OpenStack 尝试合作,一位美国的非华裔工程师在会上和我们反馈“我参考了官网文档,很简单、很方便就能在线下安装起来,这让我们很兴奋。”

正如我刚才所说,易用性永无止境,没有最好,只有更好,如果大家在使用过程中感到不妥或不舒服,欢迎在我们的社区GitHub 给提建议。

感触3:立下“双赢”的flag

在产品易用性之外,生态工具的丰富度也关系着用户的使用体验。在 2022 年 8 月 10 号的 OceanBase 年度产品发布会,我们正式对外提出 OceanBase 社区的 slogan:开源开放,生态共赢。这源于我过去十几年在阿里、蚂蚁的工作习惯,我的团队从无到有、从小到大,经常和上下游部门合作,所以养成了 “双赢”的做事习惯。不知不觉,也将这种习惯带到了 OceanBase,带到了开源事务的处理过程中。

我时常在想,当我们面对用户时,使用 OceanBase 能不能解决用户痛点,如果用户今年的目标是降本增效,那么 OceanBase 可以在哪些场景起到作用;如果用户的需求是支撑业务的快速发展,我们该怎么利用好 OceanBase 的高扩展性和稳定性;我们该如何联合上下游伙伴为用户创造价值,并使双方都能在用户的数据链路中发挥作用。

我还记得翼支付从 MySQL 和 XDB 迁移到 OceanBase 时,我们与迪斯杰合作,完成数据的迁移;当我们支持浦银基金和交银基金时,我们联合集成商并肩作战,顺利支持 Cloudera 和 Hive 到 OceanBase 的迁移;四川华迪,青岛雨诺帮助 OceanBase 进入医疗领域;中国恩菲帮助 OceanBase 进入有色金属领域;清华同方帮助 OceanBase 进入地铁基建;红象云腾帮助 OceanBase 进入新疆电力……当用户在使用 OceanBase 社区版需要更多服务时,我们都推荐了新炬、爱可生、沃趣、大时等生态伙伴。

还有很多伙伴在此不一一列举了,在我们的生态 landscape 中,目前包括应用集成、数据治理、数据迁移及运维管控等,帮助用户更流畅地完成数据生命周期中的每一个阶段。

  • 应用集成,让数据更轻松地生产出来。目前已对接的伙伴涵盖业务系统、基础软件、连接池、中间件、ORM、数据驱动、BI 报表、大数据平台,比如 Flink、Spark、MyCat 等。
  • 数据治理,帮助用户更安全地管理数据。包括基础客户端、数据加工、智能诊断、线上运维、安全管控等。比如 DBeaver、OceanBase 开发者中心(OceanBase Developer Center,ODC)。
  • 数据迁移,让数据自由地流动起来。已对接的系统中能够让 MySQL、Oracle、DB2、Elasticsearch、PostgreSQL、Hive、XDB 的数据流入 OceanBase,也能从 OceanBase 将数据同步到其他数据库中。比如 Flink CDC、Canal、ChunJun 、Data Pipeline 等。
  • 运维管控,让用户更轻松地运维 OceanBase。我们对接的系统有 Kubernetes、Grafana、Data Foundatian 等。

每年的 OceanBase DevCon,我都会跟大家汇报生态进展,从 2023 年的 400+ 到 2024 年 4 月的 700+,再到今天 800+ 生态工具,这样的增速只希望为用户提供更便捷的使用体验。

感触4:社区建设离不开用户和开发者的参与

OceanBase 社区版在用户和开发者的建议与目睹中不断成长,除产品侧不断反馈建议外,用户和开发者也积极地在社区贡献力量,比如主动在社区答疑、在技术博客分享经验、参与文档共建、一起组织活动等。

自 OceanBase 开源以来,社区有效用户迅速累计 35k,“问答”板块沉淀了 7.8k 帖子,其中 82% 为技术讨论帖,18% 为社区活动帖,除每天值班的官方人员外,有 3.2k 用户主动答疑,这让我们对实现社区自助服务这个目标越来越有信心。

为了回馈用户,以及近距离听取大家的声音,我们每年联合企业用户和个人开发者在全国各地举办如 CTO 聊天室、唠嗑了 O、企业行等 meetup。有时邀请用户分享最佳实践,给更多用户参考;有时邀请内部资深研发同学来给大家讲解技术原理和使用方法,并将这些经验沉淀在社区“在线学堂”、“技术博客”板块,供大家长期参考、学习。

这里值得一提的是,就在前两天,运营同学分享给我一个视频,我才发现,原来有这么多用户、开发者、合作伙伴听说 OceanBase 开源三周年,举起手机为我们录制了祝福视频。这让我非常感动,看到这些熟悉的面孔和他们真挚的祝福,和大家一起参加活动、一起解决问题的场景历历在目。我记得社区早期用户马顺华在家天天学习 OceanBase,以至于 6 岁的儿子有一天对他喊出了 OceanBase 的故事;记得作业帮团队在使用 OMS 遇到问题,又面临上线任务压力时仍选择相信 OceanBase,我们齐心协力拉着研发同学解决问题的那段日子……

这样的深刻回忆以后有机会再展开来讲,我想表达的是,正因为有你们对 OceanBase 及团队的信任和对项目、对社区的贡献,才能让 OceanBase 社区版在短短三年内拥有 500+ 客户和 1.4w 装机量,客观讲这样的增速非常快。在此,我代表 OceanBase 开源团队衷心感谢社区贡献者、代码贡献者、生态伙伴。


感触5:从易用到用户自助

过去三年,我们一直在提升 OceanBase 社区版的易用性,未来三年,我们会强化它的自助能力,让用户更加顺畅、自如地操作 OceanBase,这体现在四个方面。

第一,提升诊断能力。包括强化 obdiag 诊断能力、OCP 监控能力,以及生成更友好的报警日志和提供更详细的视图。

第二,推出系统化培训资料。我们刚结束了面向 DBA 的《OceanBase DBA 从入门到实战》课程,下半年我们会将课程资料整理成电子书供大家永久参考;同时推出面向开发者的《OceanBase 开发者最佳实践》。

第三,沉淀知识库。在过往的用户工单中,有许多经典问题和解决方案值得开放给大家参考,我们将在下半年基于开源团队工单系统推出开源知识库。

第四,增强论坛答疑。过去有许多开发者、用户在社区“问答”板块主动回答问题,未来我们将强化悬赏机制,激励更多社区贡献者。同时会补充论坛值班员工,及时响应大家的问题。

最后还想跟大家透露两件有意思的事情。一是如今主流的操作系统都已经支持 OceanBase 直接安装,在单机版 2C6G 环境中就可以运行,大家可以在自己的电脑上尝试一下。二是 OceanBase 开始打造向量引擎插件,并正在进行研究尝试,期待在不久后给大家新的惊喜。

总的来说,我们会持续提升 OceanBase 的产品力、易用性、自助能力,不忘开源初心,积极响应客户问题,听取大家的建议。未来,在我们仍然做得不够的地方,也请大家督促、指正。
写在OceanBase开源三周年-2


相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论