前 言
2024 年 4 月 20 日星期六 OceanBase 2024 开发者大会于上海宝龙艾美酒店举行,本次很荣幸受邀作为观察团成员来参加本次大会。这也是 OB 第二届开发者大会,记得去年 3 月 25 日开发者大会是在北京望京举行,当时我是在线上参加的,今天来到现场,真的被震撼到了,我只能用“规模宏大”这个词来形容了,参会人数至少 1000 人以上,主会场以及场外展台和活动区都是人山人海,下午的每个分会场里满座率达 80% 以上。
单机分布式一体化
OB 从 4.X 开始就宣称“单机分布式一体化”架构,于是就使用 2c8G 的虚拟机部署了一套 OB4.1 的单机分布式的架构简单玩了玩,当时也清楚的记得日照说过在 OB4.3 版本会支持列式存储,这不,今年开发者大会上 OB4.3 版本正式发布,正式推出列式存储引擎,强化 TP&AP 一体化数据库,打造实时分析数据库的最强六边形战士。
这里简单介绍下日照老师的 实时分析数据库“六边形战士”:
AP 存储能力(列式存储) AP 生态工具(数据流入流出、数据开发、数据可视化) AP 计算能力(向量化执行、并行计算、分布式优化器) 兼容性(MySQL 语法、Binlog 兼容) 分布式(可扩展、高可用、强一致、异地容灾) TP 能力(行存、实时写入、主键索引点查)
复制
OB 最早从淘宝收藏夹孵化而来,2016 年开始 V1.0 版本兼容 MySQL 语法,2018 年 V2.0 版本开始兼容 Oracle 语法,2021 年 V3.0 发布,提升了混合负载能力,2022 年 V4.0 小鱼发布,单机分布式一体化轻量型备受关注。2024 年 V4.3 版本正式发布,又引入了列存储引擎,使得 OB 能够实现可行存、列存及行列混存的多种存储方式,记得在大会上还看到在行存模式下可以构建列式存储索引,进而降低存储空间。强化 TP 和 AP 的一体化,极大的提升了 OLAP 实时分析的能力,通过当时现场的跑分测试,在同等条件下 OB4.3 版本在大宽表场景 OLAP 查询性能上与业界一流的大宽表数据库 ClickHouse 几乎达到同一水平。ClickHouse 在大宽表这块应该属于业界天花板了,国内的其他 OLAP 库还需努力啊!!!
这个结果是当时 OB 现场的跑分测试,我这里也收到了一份 OB 内部 TPC-H 测试的报告数据,使用 V4.2.2 版本的⾏存表,V4.3.0 Beta 版本的列存表。180 GB 租户内存下,存在磁盘读取。使用 3 台 OBServer,32c/256G 的 CentOS7.9 操作系统,租户规格为 28c/180G 三副本的情况下做的测试结果。震惊了,所有测试结果都比 V4.2.2 高,总时间更是减少了 93%。
我们也来看看非官方的测试(PS:这里再次吐槽一下,如果个人想测试的话暂时还不能从官网下载企业版兼容 Oracle 模式,只能下载社区版兼容 MySQL 模式,瞬间乐趣少了一半,像其他国产数据库还可以闲时开放下载企业版供大家把玩,这点就比较好),晚上的时候我看到了公众号《数据库技术杂谈》非官方的个人测试对比,使用企业版 OB4.3 Oracle 兼容模式下的 100GB 数据的 TPC-H 做的行列存储对比测试,机器规格是 12c12G,22 个 TPC-H 查询语句中,所有的语句单次查询时间列存都比行存快,总时间更是减少了 78.6%,更多详细信息请查看该原文《OB4.3 列存表使用体验》。
OB4.3 版本基于 LSM-Tree 架构推出的列存引擎实现了存、列存数据存储一体化,同时新增了基于 Column 数据格式描述的新版向量化引擎和基于列存的代价模型,支持高效处理大宽表,显著提升了 AP 场景查询性能,并兼顾了 TP 业务场景。此外,新增的 Oracle 兼容的物化视图功能通过预计算存储视图的查询结果提升了实时查询性能,支撑了快速报表生成和数据分析场景。
OB 4.3 主要新功能
OceanBase 重磅推出 V4.3.0 版本,本版本集中优化分析处理(AP)场景,并实现了事务处理(TP)与分析处理(AP)的结合。此次更新依托 OceanBase 的 LSM-Tree 架构,实现行存列存存储一体化,同时推出了基于列存的全新向量化引擎以及代价评估模型。OceanBase V4.3.0 通过这些功能强化,大幅提升处理宽表的效率,显著增强了 AP 场景下的查询性能,同时也支持 TP 业务需求。OceanBase 数据库在 V4.3.0 版本新增与 Oracle 兼容的物化视图功能,能够通过预先计算并存储视图结果来提高实时查询效率,支撑快速生成报表和数据分析场景。V4.3.0 版本扩展了 Online DDL、支持了租户克隆等功能。同时对 PDML、LOB 类数据的旁路导入性能和节点的重启流程进行了优化,提高了系统的整体效率。V4.3.0 版本还支持 S3 作为备份恢复介质,优化系统资源利用效率,并增加索引使用监控、客户端本地导入等功能,提升了系统易用性。新版 OceanBase 适用于复杂分析、实时报表、实时数仓或联机交易的混合负载场景。
当然,这里还想吐槽一下 OB 的官方文档,比如关于列存引擎的文档内容就不是很多,比如戴总说的“分区表管理模块,缺少单表转分区表的说明,也没说这个操作是 online ddl 还是 offline ddl,看完 OB 的文档的感觉,必须先找个环境测试一下,总会有些地方没描述清楚,不省心”,当然吐槽归吐槽,OB 的文档总体还是不错的。这块白鳝老师和韩锋老师已经说过了,我这里就不多说了,写好数据库产品文档是一个系统工程,投入很大,几乎没有产出,很多国产厂商都不太重视,文档少的可怜。如何写好产品文档,详见韩老师的《一篇“完美”的数据库产品文档都有啥》?在大会结束后也和 OB 的产品 PD 吐槽了 OB 其他的问题,也给我们解释了相关的问题原因,敢于倾听用户的声音,才是一款值得信赖的好产品。
结 尾
第二届 OB 开发者大会,实在是太火爆了,我昨天发布的一个视频号都被限流了,说是带有引流,给用户带来安全风险。。。。。。参与大会的开发者从 60 后一直到 00 后,大家都是带着目的来的,参与度很高,我的一位网友小哥就是从杭州跑过来的,他说虽然只有半天时间也认识了很多大佬;也有从宁波赶来的蒋总,当然也有和我一样从北京赶来的晓飞老师等等,可以说是来自五湖四海,或面基或学习,这里不做讨论了。
最后就是我的面基时刻了,恕我这里只放合照哈。
全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~