作者:OceanBase开源生态资深研发总监封仲淹
OceanBase自2021年开源后,持续吸引开发者参与共建,拉近和开发者的距离,同时,也在不断对接新的生态伙伴。今天,想和大家聊聊OceanBase开源生态的全景图,以及我们刚刚发布的OceanBase 4.1版本的新功能和产品未来规划。
开源开放,与生态伙伴共赢
过去的一年,很多朋友问我们:OceanBase的slogan是什么?今天借此机会正式向大家公布一下,OceanBase的slogan是开源开放,生态共赢。
任何一个系统都不是孤立存在的,而是与上下游协同发展;任何一个数据库都不能独立服务用户,而是需要为用户提供一整套解决方案,比如应用集成、数据治理、数据迁移及运维管控等,帮助用户更流畅地完成数据生命周期中的每一个阶段。
第一,应用集成就是让数据更轻松的生产出来。今天OceanBase在企业版和社区版已经对接300+ 套偏应用的系统。涵盖业务系统、基础软件、连接池、中间件、ORM、数据驱动、BI报表、大数据平台,比如Flink、Spark、MyCat等。我们期待更多伙伴的加入。
第二,数据治理是帮助用户更安全地管理数据,包括基础客户端、数据加工、智能诊断、线上运维、安全管控等。在我们对接的系统中,有OceanBase开发者中心(OceanBase Developer Center,ODC),有开源的DBeaver,还有许多商业系统。
第三,数据迁移是让数据自由的流动起来。目前对接的系统中,能够让MySQL、Oracle、Db2、Elasticsearch、PostgreSQL、Hive、TiDB的数据流入OceanBase,也能从OceanBase将数据同步到其他数据库中。在这些迁移的工具中,有OceanBase 迁移服务(OceanBase Migration Service,OMS),也有开源的Flink CDC、Canal、ChunJun等,还有商业的Data Pipeline以及数控工厂等。而我最想分享的一点是,如今数据迁移这个市场孕育了大量的商业机会,在OceanBase的整个生态中,无论是社区版、企业版还是云上,我们都愿意将商业机会分享给合作伙伴。
第四,运维管控,让用户更轻松地运维OceanBase。我们对接的系统有Kubernetes、Grafana、Data Foundatian等,并期待OceanBase被更多的平台集成,2021年,我们开源了ODC,使OceanBase被更多大客户如携程、快手等集成,在他们的平台上运维OceanBase,2023年我们计划开源OCP Express,后面会详细讲。
下图是OceanBase的生态全景图。目前我们已经有400+生态系统(详细信息可在GitHub了解),包括大数据业务中台、数据管理平台、测试系统等,我们期望与更多的生态系统进行链接。并共享商业机会,实现生态共赢。
及时响应,与开发者共同成长
与生态伙伴同等重要的是用户与开发者,我们想打造一个及时响应的社区,更快速地帮助用户解决问题,并和用户一起成长。当下,我们的钉钉用户答疑群每天有300+条的日消息量,社区问答论坛每月沉淀1500+条帖子,用户的积极反馈帮助OceanBase更快的迭代,以及沉淀大量文档和解决方案。
另外,从2022年的云栖大会开始,我们投入了大量的资源向开发者倾斜,并安排多人进行值班。相比去年,今年我们对Issue的首次响应时间快了四分之一,Issue数量也大幅增长。更为关键的是,企业版研发分支和社区版的研发分支进行了合并,因此,代码提交频率及贡献者数量也有了显著增加。
在与用户的沟通频率方面,由于一些环境原因,过去两年很多线下交流活动无法举办,今年起,我们会加大线下交流频率,与用户零距离沟通。同时,希望与上下游伙伴联合发声,共同做一些事。
持续优化,OceanBase 4.1版本新功能
最近我们发布了OceanBase 4.1版本。较之前版本实现了更多场景支持、稳定性强化、上手更容易、性价比提升。
1、更多场景支持。
我们明确提出了单机形态,并增加旁路导入功能、提供OEKV、多模(GIS/LOB)能力,
曾经有一位客户,130TB的数据用了七天才迁移完,在迁移过程中我们的支持团队也非常痛苦。因此,OceanBase 4.1实现了旁路导入,绕过SQL引擎、事务引擎,从解析器将数据写到存储引擎的文件上,性能提升了7倍左右。
之所以提供OBKV的能力,是因为一些客户使用HBase但不想安装Hadoop那套比较大的组件。一些用户是在关键场景中使用HBase害怕Jave的JC,导致业务抖动。还有一些用户在数据库领域使用Redis,并且将Redis作为一个持久化的数据库使用,这会存在很多问题。OBKV的能力开放后。用户可以通过OBKV的API层并绕过SQL层直接访问事务层,性能得到大幅提升。我们也在和生态用户合作,尝试支撑Redis模型。
OceanBase 4.1对GIS/LOB的支持,也使其不再局限于过去的48 MB,如今这个限度提升到了512 MB。
此外,为了提升兼容性,OceanBase 4.1还提供了拉丁字符集的支持。强化了与MySQL 8.0的兼容性。
2、稳定性增强。
OceanBase 4.1开放了基于NFS和OSS的主备库功能,便于系统做主从集群或异地多活,并且实现了SQL识别的隔离和租户的线程池优化。
在稳定性之下,OceanBase的应用性也得到了大幅提升。首先是白屏化安装,降低了用户的安装难度;其次是集成OCP Express,使运维更轻量化;然后是日志优化,过去所有研发的日志全部混在一起,现在研发日志被拆分,提升了高可用。
我们有一位海外游戏厂商客户,过去基本上使用16C128G的单机数据库,以至于他的业务系统存在大量风险和扩展性问题。这位客户将系统替换为OceanBase 4.1后,可以将单机变成分布式,然后实现一个集群以保证系统的高可用,当他需要跨域或跨机房的时候,可以用主备库的方式实现整个集群的高可用。
3、上手更容易。
坦白讲,安装部署是我们被吐槽的非常狠的一方面,比如集群安装失败、OCP安装失败、监管失败等,我们在OceanBase 4.1中针对这些问题做了非常多的优化。
首先,简化安装流程。用户只需要敲一个obd web就可以启动白屏化安装流程,并且安装界面非常简洁明了,其次,让用户灵活选择,提供完全部署和精简部署,以供用户最大化的使用集群资源部署或用最节省资源的方式部署。最后,在整个安装的过程中,多次check,让整个安装部署过程变得更加智能。
此外,本次发布的OCP Express是沉淀多年的OCP管控系统的轻量版,能够直接集成到系统中提供核心管控功能(不降功能只降资源,六个应用场景带你了解OCP Express)。过去,OCP的安装时长通常以天计,而OCP Express是以分钟计,这背后还有一个更大的逻辑,就是我们期望OCP Express能够更好地被生态伙伴集成到管控系统。
4、性价比提升。
在OceanBase 4.1中,OLTP性能较之前提升了40%,OLAP的性能提升了17%。在性能提升背后,有OBProxy路由优化、大事务优化、算子优化、小表存储优化,等等。
后续我们会持续提升TP和AP的性能。TP方向的目标是小规格赶超MySQL,目前在sysbeach测试中,OceanBase的表现超过了MySQL,但我们期望在用户的真实场景中,也能让用户感知到小规格OceanBase比MySQL更快。在AP方向,我们会做大量的持续优化:比如冷热分离,将冷数据存到OSS上,热数据保留在本地的磁盘中;再比如只读外表,许多客户希望能够只读取外部的数据。在此可以向大家透漏一点,我们会在4.2版本或4.3版本尝试实现Auto DOP。
生态与共建,社区版未来规划
关于OceanBase社区版的未来,我们目前有四方面的规划。
第一, 助力生态发展。我们计划在六月份开源MySQL Blog Service,使业界更多的系统能够直接复用,甚至可以实现一些高可用场景,比如异地多活,一边是OceanBase,一边是MySQL,满足热备切换或实时同步等需求。
第二,开源OCP Express。让OceanBase能够被更多大客户的平台集成,甚至将OCP Express的代码抽取后集成到客户的管控系统中,帮助生态管控工具更好地管理 OceanBase。
第三,开源ODC。ODC已经在金融、运营商、电商、政务、能源等行业的商业用户场景中使用,让用户更好地进行数据库的协同开发,提高开发效率,以及做好数据的导入、导出、诊断、安全管理等。我们计划在六月份将其开源,更好地服务社区用户。
第四,强化内核。除了持续优化TP和AP能力外,我们计划在4.4版本中全面兼容MySQL8.0。目前我们在每三个月的发布版本中,都会做大量的MySQL功能兼容。我们也期望开放更多的功能,实现内核共建。
最后,希望更多伙伴加入OceanBase的生态共建阵营,我们将向合作伙伴分享开源及云的商业机会。同时,做好社区共建,及时响应用户,持续交流共同成长。