其他
4.0体验站|OceanBase 4.0 我回来给你点个赞
「4.0体验站」第二篇由 OceanBase 社区版深度用户、社区文档贡献者夏克老师撰写,作者有多年从事金融行业核心系统设计开发的工作经验,服务于某交易所子公司,现阶段负责国产数据库调研,近期陆续获得了 OBCA、PCTA、OGCA、DCA、GDCA 等认证,欢迎大家评论区探讨交流!
在 2022 云栖大会上,OceanBase 社区版 4.0(代号:小鱼) 正式亮相发布,其与企业版拥有同等性能,更兼容、更易用,2 分钟内即可完成快速部署,这也意味着,业内首个兼容 MySQL 的单机分布式一体化数据库正式上线。
这次发布的 4.0 版本于 OceanBase 和用户而言具有重大意义,在发布的当晚,我们就在社区收到几位老朋友的测评分享,也在多个社群内看到大家积极咨询,这让我们倍感欣慰。也正因此,经考量之后,决定在近期将选取部分新老用户朋友“4.0测评体验”陆续发布在我们的微信公众号,欢迎大家参与到OceanBase的「4.0体验站」栏目中来。
Ps:您的测评体验分享还可以同步参与我们的有奖征文哦~详情戳《更易用的OceanBase|生态工具征文大赛正式开启!》
以下为测评正文:
环境搭建相对比较复杂。希望有一个一键搭建 demo 集群的小功能,方便用户快速上手;
建议提供低配版配置。分布式数据库很吃资源,对于设备简陋的小伙伴想上手,门槛较高,经常遇到一些资源方面的问题导致部署失败;
OceanBase 如何提供用户扩展接口?虽然听起来有点鸡肋,但是往往可以解决一些企业级的应用的需求,在功能上也会加分;
在企业版中,Oracle 租户驱动接口可以再丰富一些。
这些建议写于 2022 年 3 月,当时的 OceanBase 版本是 3.1.2。如今,半年时间过去,在我体验 OceanBase 4.0 的过程中,发现其中不少建议都有了很好的解决方案。
让源码编译,也能支持更小的规格:作为一个开发人员,往往喜欢去撸撸源码,可能还会去提 issue 和 PR,所以经常会对源码进行编译。而编译就不是 4C8G 可以解决的了,OceanBase 编译脚本中使用了并行编译 make -j$CPU_CORES,每个 clang 编译进程最大使用内存约 2G,按照我 PC 的配置 12C16G 进行编译的话(12*2=24G),内存使用会超出实际物理内存大小,经常会发生 OOM,导致编译失败,不得不手动修改编译脚本,减少并行编译的进程数量; 源码编译时间可以再缩短:相信咱们 OceanBase 内部开发的服务器配置一定很好,或者大部分编译是通过持续集成来做的,可能不一定会遇到编译时间过长的问题,但作为一个开源的项目,一定是要面向社区用户的,所以一次完整编译花费 1~2 小时的时间(和编译boost库或linux内核的时间差不多)对用户而言是不太友好的。我建议优化编译时间可以通过合理规划模块层级,避免重复引用头文件。此外,目前看 OceanBase 代码结构中头文件中引用了很多依赖头文件,是否可以通过“类前置声明”等手段,把依赖头文件尽量放在 .cpp 中。个人觉得编译时间优化还是有很大的空间。
历史推荐