乐趣区

关于数据库:封仲淹OceanBase社区版40未来畅想

8 月 10 日,2022 OceanBase 年度发布会在京沪深三地同时召开,OceanBase 资深开源生态技术总监封仲淹在会上分享了《OceanBase 社区版 4.0 将来畅想》的主题演讲, 向大家分享了 OceanBase 社区版 4.0 的全新布局与畅想。

以下为演讲实录:

大家好,我在 OceanBase 负责开源相干的工作,明天很快乐可能在这里跟大家分享 OceanBase 社区版 4.0 的将来畅想。分享之前略微介绍一个小插曲,最近一到两个月, 有很多社区的小伙伴常常在社区发问,某某性能是否会在 4.1 版本中呈现或者将来哪个版本里呈现,4.1 什么时候 release 等等问题。

明天很荣幸借这个机会跟大家正式同步一下: 咱们 OceanBase 社区版的 4.1 将会在今年年底跟大家见面!

我明天的分享分为四局部,第一,对于生态;第二,对于咱们想建设一个什么样的社区;第三,对于 3.1.4 的个性;第四,将来 4.1 会是什么样。过来一年, 很多社区的小伙伴问咱们社区倒退了什么? 我想用这样的一句话进行总结 “开源凋谢, 生态共赢”。

开源凋谢,生态共赢

过来一年,咱们跟生态工具一直对接,促成生态的独特倒退。去年 6 月 1 号刚开始开源的时候咱们仅仅提供一个 300 万行的内核加一个离线的同步工具,非常感谢第一批用户的反对,在他们应用第一版 OceanBase 的过程中, 咱们发现了很多问题,比方实时数据同步,比方监控,所以咱们连忙在 3.1 的版本中对接了 K8S 和 Prometheus,从而让实时监控和装置部署更加顺畅。

然而随着用户一直增多,咱们发现用户须要残缺的生态链,于是在 3.1.2 的版本中, 咱们将咱们在商业版中曾经倒退了很多年的 OMS、OCP、ODC 凋谢进去, 从而让用户有一个残缺的体验。3.1.2 版本是开源中十分重大的版本,因为它让用户应用 OceanBase 变得更加轻松。 在 3.1.3、3.1.4 的版本中咱们继续跟生态工具进行买通和对接,例如和白鳝老师的智能诊断平台和运维治理平台 D-SMART 做了一个对接,上个月咱们还和 Navicat 做了一个联合声明, 发表 OceanBase 社区版对 Navicat 的反对。

社区常常有人问咱们想打造什么样的社区?答案是, 咱们想打造一个及时响应的社区。 这页 PPT 中展现了所有社区外围的数据,咱们能够关注这个曲线,这个曲线是过来一个月钉钉日音讯量的曲线图,均匀每天的日音讯量在 300 条左右,另外一个数据是问答社区的数据,问答社区的数据是 14000 多条音讯。从去年开源到当初均匀每个月超过 1 千条的问答音讯。 从这些指标上掂量:目前咱们社区活跃度是十分衰弱的状态。

一年以来,在技术布道上,一共进行了 35 场技术布道,均匀每个月 2.5 场。另外一件有意思的事件是去年咱们举办了第一届 OceanBase 数据库大赛,这是一个面向开发者的大赛,有清华、北大、人大、南洋理工、哥伦比亚等 247 家驰名大学的将近 2000 学生或数据库爱好者来加入较量。咱们打算在本月 12 号开始正式启动往年的 OceanBase 数据库大赛。 社区一直和客户进行沟通,咱们期待和客户成为敌人。

1-3-1,所问即所答, 及时响应

“1-3-1”这个数字示意咱们冀望用户任何的征询发问都可能在钉钉群、工作日志中的一个小时之内失去响应,在咱们问答论坛上 3 个小时就能失去回复,在 Github 上一天就能失去响应, 咱们想做所问即所答、及时响应的社区。

咱们继续和用户沟通,聆听用户声音,在这里也要感激社区小伙伴们,像阿福、马顺华、严少安,还有不能一一列举的社区之星。

刚开始上线一个开源我的项目十分艰巨,很荣幸的是有超过 200 多家用户信赖咱们。迄今为止,咱们有超过 100 多位社区贡献者,感激他们的反对和贡献。 特地想独自感激一下信赖咱们的客户,有金融企业的银联、阳光保险、浦银安盛,还有互联网的 360、快手、gitee,还有电商的京东、致欧家具,还有生存服务的 58, 企业服务的新脉远望等等。

社区版有三个十分典型的场景。 第一个典型场景是降本增效, 在携程的场景当中咱们的数据被大幅压缩,很多低负载的利用合并到一个集群中,并且充沛复用异地多活和多可用,让整个老本能很好地降落。

另外一个典型的场景是 HBase 的降级, 在贝壳的场景中咱们的存储老本降落了一半,咱们在二级索引的场景中性能失去了 6 倍的晋升,充沛复用 OceanBase 的高可用能力,从而让整个零碎运行得更加安稳。

第三个典型场景是 HTAP 的混合负载, 在中国电信的场景当中咱们简单查问的性能绝对之前的零碎有 5 倍的性能晋升,而且咱们压缩的数据量是原来的 1/3,咱们保障了 OLTP 和 OLAP 的混合负载。

社区版 3.1.4 解读

上个月咱们公布了 3.1.4,明天在这里对这个版本比拟重要的性能做一个具体的介绍。过来的一年能够用这样一句话形容 OceanBase 开源的版本迭代,就是 “疾速奔跑的一体化 HTAP 数据库”。

在咱们 3.1.0 当中,内核齐全凋谢;在 3.1.1、3.1.2、3.1.3 的版本当中咱们充沛拥抱开源生态,凋谢咱们的能力,尤其是像 OCP、OMS、ODC;在 3.1.4 和 3.1.5 中咱们大幅提高了易用性,改善了内核的稳定性。

略微介绍一点特地的个性——诊断能力。 在社区版的 3.1.4 之前,如果用户使用不当的 SQL、或者数据库配置不当、或者利用使用不当, 流量十分大时,会导致 OceanBase 呈现一些异样,这个时候次要依赖于经验丰富的 DBA 做故障诊断,查看日志和查看监控指标,十分繁琐、苦楚。 在 3.1.4 的版本当中,咱们的 OCP 凋谢了故障诊断能力,可能自动识别慢 SQL 和可疑 SQL,当呈现慢 SQL 和可疑 SQL 的时候零碎会报警,DBA 收到报警当前会对慢 SQL 限流,从而让整个零碎安稳运行, 保证系统的稳定性。 甚至有的时候如果 DBA 发现整个零碎的某些 SQL 的执行打算并不优,给零碎带来了一些危险的时候,能够应用 outline 对系统进行批改,应用更高效的执行打算。这也是方才分享的网商银行一位 DBA 就能运维超过几千台集群的基本能力。

在 3.1.4 社区版之前,还有一个痛点叫做备份和复原。 如果咱们想做一个备份或复原,咱们须要输出一个十分长的指令,这个指令里有大量的参数,这些参数一不小心输出有问题可能会导致一些莫名其妙的谬误,坦白讲十分苦楚。3.1.4 针对这个痛点,咱们提供了 OCP 间接图形化的反对物理备份和复原,从而让整个反对非常简单轻松。

另外一个比拟大的痛点是异地多活和近程灾备。 在社区版过来的版本中如果想做异地多活或者近程同步,咱们须要配置一个非常复杂的开源工具来反对集群之间的同步,3.1.4 版本中 OMS 社区版凋谢了 OceanBase 到 OceanBase 版本之间的实时同步,咱们提供了异步同步,从而可能反对异地多活和近程灾备。

4.X 的将来畅想

通过后面大量的铺垫介绍过来的状态,咱们开始了激动人心的 4.X 将来畅想。今天上午阳振坤老师做了很多 4.0 的解读,我再对将来社区版的 4.X 做一个具体的介绍。

4.0 当中最大的一个个性就是: 咱们凋谢的能力与商业版齐全齐平,在 MySQL 系列上,能更好地满足业务的诉求,能反对更多业务场景;在外围能力上有性价比、有小规格、有单机的晋升,有 HTAP 的能力晋升。

对于高可用,有三个特地大的个性,第一是 RTO 晋升为 8 秒;第二是 IOPS 隔离;第三是主备库。 IOPS 隔离是一个十分好的个性,在很多用户的场景当中他们能够将很多低负载的利用合并在一起,从而让整个集群的利用率失去大幅晋升,对降低成本十分有帮忙。另外在兼容性上 4.0 会反对 MySQL 8.0;在多功能上有十分多不错的个性,比方跨库查问,咱们会反对 DBLink,在 DDL 上反对以前在 3.X 中常常想要的性能,比方主键变更、类型转换等。

还有一个诉求十分多的是分区治理, 后续会具体介绍。在多模上咱们有十分大的晋升,咱们反对 Gis。在展区咱们有一个很炫酷的树莓派,它的规格是 4 核 8G 的架构,在这样低的配置上,OceanBase 4.0 仍然能够安稳运行, 也就是说在开发环境中咱们过来从 8 核 64G 降落到 4 核 8G。将来咱们会做进一步优化, 在单机环境下咱们的 OceanBase 会在 OLTP 的场景下超过 MySQL。 这是 TPC-H 100G 的问题,4.0 版本绝对 3.X 版本有近 5 倍的性能晋升,它是整体晋升而不是过来常常看到的某个 SQL 量的晋升,是整体上所有的 SQL 的晋升。

性能晋升背地的利器是什么? 次要起因是:4.0 版本咱们还将凋谢行列混存、凋谢向量化计算引擎,整个优化器会失去大幅晋升。 过来一年中咱们常常会接到一个诉求——分区的主动治理,分区的设计是很考验 DBA 功力的,如果分区设计得好整个性能会十分好,然而如果分区设计得并不好,整个性能会有断崖式降落。咱们从 4.1 开始,将反对分区的主动治理,随着数据量的一直增长咱们分区能够主动决裂,数据量如果放大咱们能够将多个分区合并到一起,大大地开释出 DBA 的压力,让 DBA 在分区治理上变得更加轻松,且可能更好地应用 OceanBase。

咱们在上个月上线的新的在线体验核心有一个十分好的性能,它减少了帮忙核心,我举一个简略的例子,假如我想做一个 create table 的操作,点一下 ” 插入到工作区 ”,就会在工作区发明一个 create table 的模板,整个流程非常简单顺滑,DBA 不必记简单的指令,应用性十分不便,能够让 DBA 在体验中实现学习。上个月社区的官网和问答论坛做了一次重构、降级。 咱们整个社区的官网分为四大板块,学习、流动、内容、问答,四个板块更好地撑持社区的用户参加互动并且体验 OceanBase,可能让社区的用户真正成为社区的配角,咱们冀望打造一个学得轻松、用得释怀的社区。

最初感激大家的凝听,咱们想同步一个流动,从今天开始咱们正式对外推出一个 《从 0 到 1 实战数据库内核教程》 的培训,这个流动收费,咱们面向的是开发者,冀望的指标是帮忙开发者和数据库爱好者可能无根底地入门数据库的内核开发,咱们会介绍十分多的实用的数据库内核开发的技能,比方数据库开发环境的搭建、数据库模块的介绍、单元测试等等,心愿大家可能参加,大家一起享受学习的高兴!明天我的分享到此结束,谢谢大家!

退出移动版