OceanBase社区月报 | 2022年8月

2024年 5月 7日 78.2k 0

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

OceanBase社区月报 | 2022年8月-1

本月Newsletter分为以下几个部分:

  1. OceanBase 社区版产品规划及研发进展
  2. OceanBase 社区8月内容概览
  3. OceanBase 社区8月精彩活动及9月活动预告
  4. OceanBase 社区用户问题精选

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

OCP发布3.3.0-CE BP1版本,支持白屏安装,支持ARM的镜像,优化了OBD接管的体验,并完成了一些bugfix;

OBD发布1.5.0版本,完善开发者模式下的命令(包括支持reinstall,完善mysqltest等);

oblogproxy 发布1.0.3版本,OBCDC升级到3.1.4版本,修复鉴权失败的问题;

本月组织了8场活动(包括直播):2022 OceanBase 年度发布会(1场)、从0 到1数据库内核实战教程(3场),meetup(4场,涉及郑州、北京、杭州、成都);

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社区月报 | 2022年8月-2

产品进展

3.1.5版本(预计2022年12月底)

https://github.com/oceanbase/oceanbase/milestone/6

4.0版本(估计2022年10月底完成开源),4.0实际上包括大量的功能改进,因为版本尚未完成开源,在milestone上没有体现:

https://github.com/oceanbase/oceanbase/milestone/3

OceanBase 社区8月内容概览

本月推荐

SQL 改写系列八:连接消除

SQL 改写系列九:外连接转内连接的常见场景与错误

面向HTAP数据库的基准评测工具研究进展

携程经验分享:OceanBase 拟真压测系统深度解析

高性能数据访问中间件 OBProxy(三):问题排查和服务运维

高性能数据访问中间件 OBProxy(四):一文讲透连接管理

内容专栏

  • 专题:SQL 改写系列,已完成 9 篇
  • 专题:OBProxy 系列,已完成4 篇
  • 专题:OceanBase 源码解读,已完成 15 篇
  • 专题:用户实践案例,已完成10篇
  • 专题:OceanBase 存储层代码解读,已完成3篇
  • 专题:社区故事,已完成 4 篇

更多内容可在社区专栏了解。

OceanBase 社区8月精彩活动

8月精彩活动

对话ACE第四期:分布式数据库未来发展的挑战和机遇

内核实战教程第一期|数据库系统概述,带你走近 OceanBase 研发环境!

内核实战教程第二期|带你揭开数据库存储结构的神秘面纱

内核实战教程第三期|索引如何提高查询效率,原理是什么?

内核实战教程第四期 | 带你走进数据库 SQL 引擎

9月活动预告

济南Meetup:国产分布式数据库一体化架构演进及实践

《从0 到1数据库内核实战教程》将继续完成4期;

9月1日:SQL 引擎概述(上)

9月15日:SQL 引擎概述(下)

9月22日:事务引擎概述

9月29日:内核基础模块

了解更多活动请戳此链接。

OceanBase 社区用户问题精选

问题1:我使用django进行模型迁移,在执行一句sql时异常。

执行SQL:ALTER TABLE xxx ADD COLUMN parent_id integer UNIQUE

异常: 【1235 - alter column add index not supported】

该语句在mysql 8.0.16上执行正常,请问这个问题是否有办法避免?

问题解析:加了unique 约束会当成唯一性索引,目前 OceanBase 社区版不支持,尝试下能否去掉 unique 关键字

问题2:OB主键自增的策略不是每一个表唯一对吗?

问题解析:自增是针对单个表,不是所有表全局的自增(全局唯一)

两次写入的是不同的分区,就会出现自增跳变的现象。需要说明一下,是在每个分区上是单调递增的,比如:

insert. p1 1

insert p1 2

insert p2 1000001

insert p2 1000002

此时 insert p1 不会是 3

有个变量 :auto_increment_cache_size 可以看下

问题3:在 tidb 中他们是以 region 来 raft 协议保持副本的,当创建一个表时候如果表的ID是顺序增加的话就会产生写热点。tidb建议将 id 设置为 auto_random,咱们oceanbase 是怎么解决这个问题的?咱们的 oceanbase 是以分区为单位的 paxos 多副本,我觉得一个副本 id 也应该是连续的,也会有写热点

问题解析:热点问题有两类。一是业务数据特点分布不均匀导致。OceanBase 的分区表可以用 hash 分区打散这个。一级分区不够可以选用两级分区。二是业务访问不均匀导致。比如说大账户。记录只有一笔,但是被高频访问。这个任何数据库都解决不了。只能采用一些缓解方案。比如说数据库层面读写分离、数据库前端加 cache,业务排队限流降低热点行访问。

问题4:一个集群内如果出现多版本的 server 会有什么问题吗?比如一个 3.1.2 的集群,我们加了一台 3.1.4 上去,通过加新版本机器的方式做unit迁移然后来达到升级的目的是否可以呢。现在碰到部分比较大的集群,数据量很多,迁移速度慢导致升级进度很慢。所以在思考这方面的可能性。

问题解析:比如在线升级期间,肯定是会存在这样的情况的,理解应该没有问题。通过加新版本机器的方式做unit迁移做升级的方式目前没有这样测试过,可以看看手动 unit 迁移

https://open.oceanbase.com/docs/observer-cn/V3.1.4/10000000000450090

更多用户问题及答疑请参阅GitHub。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论