社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?

ByteRhapsody
• 阅读 481
我们每个月都会和大家展开一次社区进展的汇报沟通会,希望通过更多的互动交流让OceanBase 开源社区更加透明,实现信息共享,也希望能营造更加轻松的氛围,为大家答疑解惑,让大家畅所欲言。如果您对我们的社区有任何建议,欢迎在GitHub 上提 Issues 或 PR ,也欢迎大家成为 Contributor,参与到社区建设中来。

社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?

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月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
图1
社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
图2

以上为 OceanBase 的基础模块介绍,关于实操, Contributing 章节 会告诉大家如何去编译,包括如何配置 IDE 以及如何部署源码编译的 OceanBase 等。
社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
图3
下面这段代码是 obd.sh 编译后部署 OceanBase 的例子。libtool 是部署工具的依赖,libaio 是 OceanBase 的运行时依赖。obd.sh deploy 会使用下面示例中 single.yaml 的特定配置文件通过 obd 部署 OceanBase。如果你对 OceanBase 内核研发感兴趣,可以参照这个指南进行尝试。另外,如果在你使用过程中发现我们缺失什么文档,也欢迎在下方评论区反馈,我们非常希望大家能够给我们提供建议。

yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y libtool libaio obclient
# go to your oceanbase source code directory and it's subdirectory `tools/deploy`
cd `/your/oceanbase/source/tools/deploy`
# `/your/deploy/home/path` is the directory to deploy oceanbase cluster
./obd.sh prepare -p `/your/deploy/home/path`
./obd.sh deploy -c single.yaml
ob-example

除了内核开发,在 OceanBase 仓库中还有 OceanBase 的应用,或中间件生态。这些仓库的入门成本相较于 OceanBase 内核会更低一些。以 ob-example 为例,ob-example仓库(如图4)主要是告诉大家不同的语言如何连接 OceanBase 代码,包括 go 语言、java语言等等,我们也欢迎广大的开发者,贡献出大家常用的语言及中间件的示例代码。
社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
图4

ob-example 仓库,基于 Gitpod 搭建了在线快速使用平台,大家可以点击链接直接进入:https://gitpod.io/#https://github.com/oceanbase/ob-example,当你点击 Gitpod 链接时可以将 OceanBase 拉起来。利用这个功能,大家可以不需要借助额外的服务器,就可以体验自己的连接示例代码是否能够正常访问 OceanBase。

ob-example 仓库的 Contributors 的章节包含了已经完成的连接器示例和将来需要添加的示例,我们也希望有开发者能一起去共建这个仓库。

社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
图5
我们每个仓库都包含了一个env.sh(环境准备)和run.sh.sh(运行用例);以java connector为例,java connector 的环境准备只需要我们下载 MySQL Connector 就可以了;在运行用例时,实际上就是编译运行 Test.java;最后给大家展现一个简单的示例程序,该程序会告诉大家如何连本机,创建一张表,插入数据,查询数据。如果大家感兴趣可以在环境上去执行一下代码:https://github.com/oceanbase/ob-example/tree/master/java-jdbc

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
   public static void main(String[] args) {
       try {

            Class.forName("com.mysql.jdbc.Driver");

            try{
                
                Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:2881/test?user=root&password=");
                System.out.println("success to connect OceanBase with java jdbc");
                Statement sm = connection.createStatement();
                String q1="drop table if exists test";
                String q2="CREATE TABLE test( name varchar(36) NOT NULL DEFAULT ' ') DEFAULT CHARSET = utf8mb4";
                String q3="insert into test values ('Hello OceanBase')";
                String q4="select * from test limit 1";
                sm.executeUpdate(q1);
                sm.executeUpdate(q2);
                sm.executeUpdate(q3);                  
                ResultSet rs = sm.executeQuery(q4);
                rs.beforeFirst();
                while(rs.next()){
                 String Name = rs.getString("name");
                 System.out.printf("%s\n",Name);
                }
                rs.close();
                } catch (SQLException se) {
                  System.out.println("error!");
                  se.printStackTrace() ;
                 }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
    }
}
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声
!(https://static001.geekbang.org/infoq/af/af9f6637b50b09be60b00a42f3812d5e.png)开发者社区技术周刊又和大家见面
可莉 可莉
3年前
2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声
!(https://static001.geekbang.org/infoq/af/af9f6637b50b09be60b00a42f3812d5e.png)开发者社区技术周刊又和大家见面
Stella981 Stella981
3年前
Call for Speaker!Flink Forward 全球在线会议议题征集 ing
4月2223日,全球首个Apache顶级项目在线会议FlinkForward完美落幕,FlinkForward中文精华版直播也吸引了国内2w人次开发者观看并参与互动。在此次大会中,除了久违的社区熟悉的面孔外,大佬们的分享和讲解想必也让大家对Flink社区的未来动向、最新应用更加清晰。但是!还不够!Flink1.11发
Easter79 Easter79
3年前
TIOBE 11 月编程语言:Java 首次跌出前二;基于Pytorch的Kornia可微分计算机视觉库开源
!(https://static001.geekbang.org/infoq/af/af9f6637b50b09be60b00a42f3812d5e.png)开发者社区技术周刊又和大家见面了,萌妹子主播为您带来最新一期“开发者技术联播”。让我们一起听听,过去一周有哪些值得我们开发者关注的重要新闻吧。!(https://static001.ge
赵亦华 赵亦华
2年前
OceanBase 社区版4.0发版:一个全新的里程碑
2022年11月3日oceanbase社区版4.0(代号:小宇)测试版正式发布,这是社区版全新的里程碑。作为业界首款兼容MySQL8.0的单机分布式集成数据库,oceanbase社区版4.0全面开放MySQL兼容性,全面兼容MySQL8.0协议,大幅提升在线DDL能力,支持超大事务、主键变更、主键增删等。
想天浏览器 想天浏览器
1年前
车友社区搭建看这里!
大家好!今天我向大家推荐一个适合搭建车友社区的的社交系统。随着汽车文化的盛行和车友之间的互动需求增加,搭建一个专门为车友们交流、分享和互动的社区变得尤为重要。而短说社区系统可以为搭建车友社区提供了强大的支持和功能。首先,短说社区提供了丰富的社交功能,能满足
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这