封仲淹:OceanBase开源技术生态全景解析
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
3 月 25 日,第一届 OceanBase 开发者大会在北京举行,OceanBase 开源生态资深研发总监封仲淹为大家带来了《 OceanBase 开源技术生态全景解析》的分享。
以下为演讲实录:
OceanBase 自 2021 年开源后,持续吸引开发者参与共建,拉近和开发者的距离,同时,也在不断对接新的生态伙伴。今天我想和大家聊聊 OceanBase 开源生态的全景图,以及我们刚刚发布的 OceanBase 4.1 版本的新功能和产品未来规划。
开源开放,与生态伙伴共赢
任何一个系统都不是孤立存在的,而是与上下游协同发展;任何一个数据库都不能独立服务用户,而是需要为用户提供一整套解决方案,比如应用集成、数据治理、数据迁移及运维管控等,帮助用户更流畅地完成数据生命周期中的每一个阶段。
第一,应用集成就是让数据更轻松地生产出来。 今天 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 数量也大幅增长。更为关键的是,企业版研发分支和社区版的研发分支进行了合并,因此,代码提交频率及贡献者数量也有了显著增加。
在与用户的沟通频率方面,由于一些环境原因,过去两年很多线下交流活动无法举办, 今年起,我们会加大线下交流频率,与用户零距离沟通。同时,希望与上下游伙伴联合发声,共同做一些事。
持续响应,4.1版本新功能
最近,我们发布了 OceanBase 4.1 版本。较之前版本实现了更多场景支持、稳定性强化、上手更容易、性价比提升。
▋ 更多场景支持
我们明确提出了单机形态,并增加旁路导入功能、提供 OEKV、多模(GIS/LOB)能力。
曾经有一位客户,130 TB 的数据用了七天才迁移完,在迁移过程中我们的支持团队也非常痛苦。因此,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 的兼容性。
▋ 稳定性增强
OceanBase 4.1 开放了基于 NFS 和 OSS 的主备库功能,便于系统做主从集群或异地多活,并且实现了 SQL 识别的隔离和租户的线程池优化。 在稳定性之下,OceanBase 的应用性也得到了大幅提升。
首先是 白屏化安装 ,降低了用户的安装难度;其次是 集成 OCP Express ,使运维更轻量化;然后是 日志优化 ,过去所有研发的日志全部混在一起,现在研发日志被拆分,提升了高可用。
我们有一位海外游戏厂商客户,过去基本上使用 16C128G 的单机数据库,以至于他的业务系统存在大量风险和扩展性问题。这位客户将系统替换为 OceanBase 4.1 后,可以将单机变成分布式,然后实现一个集群以保证系统的高可用,当他需要跨域或跨机房的时候,可以用主备库的方式实现整个集群的高可用。
▋ 上手更容易
坦白讲,安装部署是我们被吐槽得非常狠的一方面,比如集群安装失败、OCP 安装失败、监管失败等,我们在 OceanBase 4.1 中针对这些问题做了非常多的优化。
首先,简化安装流程。用户只需要敲一个 OBD Web 就可以启动白屏化安装流程,并且安装界面非常简洁明了;其次,让用户灵活选择,提供完全部署和精简部署,以供用户最大化地使用集群资源部署或用最节省资源的方式部署;最后,在整个安装的过程中,多次 check,让整个安装部署过程变得更加智能。
此外,本次发布的 OCP Express 是沉淀多年的 OCP 管控系统的轻量版,能够直接集成到系统中提供核心管控功能(不降功能只降资源,六个应用场景带你了解 OCP Express)。过去,OCP 的安装时长通常以天计,而 OCP Express 是以分钟计,这背后还有一个更大的逻辑,就是我们期望 OCP Express 能够更好地被生态伙伴集成到管控系统。
▋ 性价比提升
在 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 版本中全面兼容 MySQL 8.0。目前我们在每三个月的发布版本中,都会做大量的 MySQL 功能兼容。我们也期望开放更多的功能,实现内核共建。
最后,希望更多伙伴加入 OceanBase 的生态共建阵营,我们将向合作伙伴分享开源及云的商业机会。同时,做好社区共建,及时响应用户,持续交流共同成长。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/