社区 1 月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
我们每个月都会和大家展开一次社区进展的汇报沟通会,希望通过更多的互动交流让 OceanBase 开源社区更加透明,实现信息共享,也希望能营造更加轻松的氛围,为大家答疑解惑,让大家畅所欲言。如果您对我们的社区有任何建议,欢迎在GitHub 上提 Issues 或 PR ,也欢迎大家成为 Contributor,参与到社区建设中来。
12 月的社区月报中和大家分享了「OMS 4.0 发布」支持 MySQL 到 OceanBase 4.0 的数据同步和迁移,那在 1 月份 OceanBase 又有哪些产品动态值得关注呢?本文将会和大家分享在过去一个月 OceanBase 内核的版本迭代以及开发者的共建交流。
内核及生态工具有何进展?
经常有小伙伴在社区论坛、钉钉技术交流群、GitHub......提出的需求,我们都进行了收集整理,那下面就来分享一下大家最关心的问题:内核及生态工具的功能开发。
OceanBase 内核 4.1 版本的功能**都已经完成开发,目前在测试中,预计将会在 2023 年 3 月份中旬发布,**主要包括用户功能和系统性能。
**用户功能:**direct path load、index_skip_scan,MySQL GIS,latin1 字符集、主备库(基于归档)等;
**系统功能:**4.x 在线升级、系统日志优化、视图性能优化(系统内部表添加索引)等
4.1 版本迭代的功能远不止这些,如果大家想要了解整个功能需求,可以关注 3 月 25 日的开发者大会,会向大家进行详细的解读,点击报名参会👉大会报名。
随着内核 4.1 版本的发布,在同一时间我们也会发布一些生态工具,包括以下组件:
OBD(包 web 版):除了对内核版本的适配,还提供了白屏部分的能力,让用户能更好的使用部署能力;
OCP:推出 OCP Express,OCP Express 资源消耗更低,也不需要部署其他圆数据库,非常适合小规模的集群;
(大家可以直接通过 OBD 部署 OCP Expres,在使用上会有一个比较统一的体验)
ODP(OBProxy)社区版:支持事务内部路由、latin1 字符集合等;
ODC、ob-agent、obcdc 等
OceanBase 开源仓库从哪入手?
上文已经带和大家分享了 OceanBase 整体的发布计划,下面在来和大家介绍一下 OceanBase 的开源仓库,以及作为开发者如果你想来 OceanBase 玩,可以从哪些仓库入手?
在 OceanBase Pepositories 下包含了很多仓库,其中 OceanBase 是我们的主仓库;进入主仓后,可以先从 Wiki 入手,在 Wiki 中可以看到开发者手册以及 OceanBase 数据库大赛的赛前培训课程,这些都归档在开发者教程中(如图 2)
图 1
图 2
以上为 OceanBase 的基础模块介绍,关于实操, Contributing 章节 会告诉大家如何去编译,包括如何配置 IDE 以及如何部署源码编译的 OceanBase 等。
图 3 下面这段代码是 obd.sh 编译后部署 OceanBase 的例子。libtool 是部署工具的依赖,libaio 是 OceanBase 的运行时依赖。obd.sh deploy 会使用下面示例中 single.yaml 的特定配置文件通过 obd 部署 OceanBase。如果你对 OceanBase 内核研发感兴趣,可以参照这个指南进行尝试。另外,如果在你使用过程中发现我们缺失什么文档,也欢迎在下方评论区反馈,我们非常希望大家能够给我们提供建议。
ob-example
除了内核开发,在 OceanBase 仓库中还有 OceanBase 的应用,或中间件生态。这些仓库的入门成本相较于 OceanBase 内核会更低一些。以 ob-example 为例,ob-example仓库(如图 4)主要是告诉大家不同的语言如何连接 OceanBase 代码,包括 go 语言、java 语言等等,我们也欢迎广大的开发者,贡献出大家常用的语言及中间件的示例代码。
图 4
ob-example 仓库,基于 Gitpod 搭建了在线快速使用平台,大家可以点击链接直接进入:https://gitpod.io/#https://github.com/oceanbase/ob-example,当你点击 Gitpod 链接时可以将 OceanBase 拉起来。利用这个功能,大家可以不需要借助额外的服务器,就可以体验自己的连接示例代码是否能够正常访问 OceanBase。
ob-example 仓库的 Contributors 的章节包含了已经完成的连接器示例和将来需要添加的示例,我们也希望有开发者能一起去共建这个仓库。
图 5 我们每个仓库都包含了一个 env.sh(环境准备)和 run.sh.sh(运行用例);以 java connector 为例,java connector 的环境准备只需要我们下载 MySQL Connector 就可以了;在运行用例时,实际上就是编译运行 Test.java;最后给大家展现一个简单的示例程序,该程序会告诉大家如何连本机,创建一张表,插入数据,查询数据。如果大家感兴趣可以在环境上去执行一下代码:https://github.com/oceanbase/ob-example/tree/master/java-jdbc
评论