OceanBase年6月1日开源以来,先后迭代发布社区版3.1.0、3.1.1和3.1.2。从早期只有数据库内核和最基本的一键安装部署工具的首个3.1.0版本,到开源半年内先后发布的3.1.1和3.1.2两个版本,再到OceanBase生态工具提供社区版支持(包括运维管理工具OCP、开发者工具ODC、数据同步工具OMS、导入导出工具obdumper/obloader等)。在社区开发者的共同努力和大量客户应用场景的快速反馈下,社区版逐步具备较为完善的企业级数据库能力,目前已得到数百家企业用户的认可,并应用于关键业务的实际生产环境。
OceanBase社区版3.1.3作为年首个版本,已于3月30日正式发布。
本次版本的重大更新来源于两个部分:
第一,来自企业版的重大功能引入。包括多模数据类型、JSON支持、兼容HBaseAPI。
第二,来自社区用户的反馈和需求。包括提升部署便捷性、易用性、稳定性,能够更好地适配云环境。很多用户提到OceanBase需要支持Kubernetes等需求,在这个版本中得到解决。
该版本的功能亮点和用户价值:
支持OBKV能力,提供HBase模型和Table模型的NoSQL能力。读写综合性能超越HBase,且能复用OceanBase底层的强一致和异地容灾能力,并避免了HBase的性能抖动问题。以蚂蚁集团为代表的多个用户已经在延迟敏感的关键业务场景中使用OceanBase替换HBase。
支持兼容MySQL5.7版本的JSON功能,提供半结构化数据支持。很多用户会使用JSON类型存储半结构化数据以弥补关系模型的不足,相比TEXT和LOB类型,JSON类型存储半结构化数据时性能更好,支持高效索引和合法性校验。
支持回收站中的对象恢复,极大降低因误操作导致的潜在风险。表格删除后进入到回收站,FlashbackTable能够将回收站误删除的表格恢复出来,防止误操作。
CDC支持大事务,通过新增持久化模式,数据在同步开始前先进行本地临时存储,避免CDC传输大事务时因内存溢出OOM而导致的断开链接问题。
支持KubernetesOperator,用户可以通过容器的形式将OceanBase运行在公有云或私有化部署的Kubernetes集群。
部署更加便捷,面向开发者提供更加友好的使用体验。将Docker镜像由2C10G优化至2C8G,降低开发者在个人电脑使用OceanBase的门槛。另外,新增了ARM架构支持。
需要注意的是,该版本还有两个行为变更:
第一,分区表默认创建的索引变更为局部索引。之前,OceanBase分区表创建的索引默认为全局索引,在一些用户使用过程中我们发现,需要经常对分区表的索引性能进行调优,经过分析总结,发现局部索引更适合多数客户业务场景,因此我们将分区表默认创建的索引调整为局部索引。如果需要创建全局索引,需要加上global关键词,例如createtableexample(c1intprimarykey,c2int,index(c2)global)partitionbykey(c1)partitions32。这个变更不会影响过去已经创建好的索引,但会对未来创建索引的默认行为产生影响,DBA需要特别