暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 社区月报|2022年9月

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

1673857874


OceanBase 社区版产品规划及研发进展

OceanBase 社区版发布节奏为每2年一个大版本 release,每3个月一次 feature 版本,每个月一个 bug fix 版本( bp 版本)。

  • 大版本发布即为架构发生升级, 版本升级类似 MySQL 5.7 升级到 MySQL 8.0, 需要做数据迁移才能完成升级。
  • feature 版本即为发布了众多 feature 或大 feature , 本地手动冷升级(本地重启)或者通过 OCP 热升级(不停服务)。
  • bp 版本即为纯 bug fix 版本, 版本升级直接替换 binary 即可, 可以使用 ODP 升级或使用 OCP 热升级。

在本月,并没有版本发布,但我们正在进行OceanBase 社区版4.0的最后准备,包括内核与配套工具的研发,相关文档的补齐与完善。在新版本中,安装部署体验将得到进一步优化,包括支持白屏监控、一键部署脚本、离线安装包等。


OceanBase 社区9月内容概览

在本月上新的社区内容中,重点推荐你阅读以下几篇好文:

此外,你也可以关注《从0到1数据库内核实战》《SQL 查询改写》等专题,正在持续更新中。


OceanBase 社区9月精彩活动及10月活动预告

在本月我们共开展了七场活动,其中,有四场《从0到1数据库内核实战教程》,这是专为数据看爱好者推出的免费培训课程,从理论到实践,由浅入深掌握数据库内核开发,为数据库内核人才培养添砖加瓦。有两场Meetup,分别在杭州和广州与OceanBase 的用户及数据看爱好者进行了线下探讨。还有2022 OceanBase 数据库大赛已开启报名,欢迎大家参与赛事,赢取大奖的同时学习并验证自己的数据库开发实力。

下月我们将分别在北京、西安、武汉、深圳、成都开展Meetup活动,期待与大家线下交流。报名可关注社区活动页


OceanBase 社区用户问题精选

我们从社区「问答」区,搜集了本月用户提出的疑问,并从中精选出如下问题及回答,供大家参考。

问题1:使用集群之一作为中控机(OBD 和 OBProxy),对整体性能有哪些影响?在测试资源不充足情况下,能否减少服务器的使用,同时对系统影响甚微?

解答:OBD 的话,没有影响,OBProxy 和 ObServer部署在一起是可以的,ObProxy 会占用少量资源(内存 800M 以内,CPU和 压力有关,通常是占用1-2个核),通常情况下是可以这么部署测试的

问题2:ODC导出表数据报错,报错如下。

预期外异常,错误详情:Unhandled exception, type=XMLException, message=src-resolve: Cannot resolve the name ‘extension’ to a(n) ‘element declaration’ component

解答:是因为 ODC 客户端安装目录包含了中文字符,卸载后重新安装,不要中文目录,可以正常导出

问题3:自增主键在自己插入主键值后,AUTO_INCRUMENT异常改变。例如一张表有id,name两个字段,id为自增主键,我插入数据(100,‘张三’),自增id的AUTO_INCRUMENT应该自动更改为101,但是实际变成了2000101,我下次插入数据且不设置主键,插入数据为(‘李四’),id值变为了1000101,正常应该是101。

解答:属于正常现象。在分布式数据库内表的主键自增是整体单调递增,并不是严格顺序递增。重启也会导致前边缓存在内存的顺序id丢,重新计数。OceanBase 数据库的自增列是兼容 MySQL 的自增列模块,满足三个原则,即多分区全局唯一;语句内连续递增;生成的自增列值大于用户显式插入的值。

问题4:在 OB4.0 发布会上听某位老师讲 oceanbase3.x 版本的索引是要常驻内存的,所以对服务器内存要求较高。请问如果内存容量不足以存储所有索引时,会出现什么情况,OOM吗?

解答:索引常驻内存是指数据的索引结构,例如微块索引,宏块 meta 等,不是指索引表本身常驻内存。如果内存容量不足以存储所有索引,那 observer 启动时会报错,拉不起来。

问题5:使用 mysql-connector-java 的 8.0.29 版本连接 OceanBase 社区版 3.1.4 会有问题吗

解答:安装 MySQL Connector/J,并配置运行环境。推荐使用 MySQL Connector/J 5.1.47 版本。如果是 MySQL Connector/J 8.x 版本,Class.forName("com.mysql.jdbc.Driver") 中的 com.mysql.jdbc.Driver 需要替换成 com.mysql.cj.jdbc.Driver 。

https://www.oceanbase.com/docs/community-observer-cn-0000000000557645

问题6:请问下 OceanBase 之前没加主键,现在为了规范想指定一个主键,却报错了,这个是要怎么处理?

解答:OceanBase 3.x 不支持主键的相关的变更(后加主键,修改主键),4.x 会支持。只能重新建表,或者 rename 表,重新建表,insert into select,变相操作。

https://www.oceanbase.com/docs/community-observer-cn-10000000000450633

问题7:使用OCP初始化得 metadb 没有被obd cluster 接管 ,在官网上没有找到如何对它进行启停的命令 ,要把它清空掉重新部署应该如何操作?

解答:目前OCP直接部署的meta OB 环境,虽然创建的时候调用的obd,但是没有保留obd的环境,所以如果要重启,只能通过命令行手动启,启停是后台单独命令操作的

查看进程方式:ps -ef|grep observer

【部署】ocp部署 ob 是界面上传ob-ce相关安装包,选定ip,直接去分发部署的不需要单独去ob节点安装。

obd部署的机器,可以走ocp 接管集群方式

【启动进程】直接去ob安装目录下 ./bin/observer

有个obproxy和obproxy的进程启动 可以在/home/admin/obproxy/下用上面那个脚本

执行方式:cd /home/admin/obproxy/

sh start.sh /home/admin/obproxy xx.xx.xx.xx 2883

(xx.xx.xx.xx换成proxy的ip即可)

【杀进程】

杀掉的observer的方式 是直接杀observer的进程,停止只能杀进程,obproxy 也一样,obproxy启动比较麻烦,用那个脚本就可以启动了。


OceanBase 社区9月之星

我们每个月都会从社区贡献者与活跃者中选出社区之星,本月社区之星是以下五位:

  • 兰锦鸿,积极参与社区活动,多次在文档提升活动有优异表现,并为文档提升做出卓越贡献。
  • 梁栋,在问答区积极参与互动,帮助社区成员解疑答惑。
  • 秦少林,积极参与社区活动,多次在文档提升活动有优异表现,并为文档提升做出卓越贡献。
  • 滕海南 ,积极给文档、社区建设提供建议。
  • 周徐午,在问答区积极参与互动,帮助社区成员答疑解惑。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论