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

OceanBase 2024 产品发布会参会总结

215
 
OceanBase 2024 年度发布会 10 月 23 日在北京望京凯悦大酒店顺利召开,这是 OceanBase 自 4.0 推出后第三次年度发布会。同年上半年还有个盛大的会议就是 OceanBase 开发者大会(举办了 2 届)。这次很高兴受邀首次参加 OceanBase 年度发布会,本着学习的精神,我记录了一些见闻和自己的理解供大家参考。
个人观点,仅供参考。欢迎留言交流。

发布会现场感受

北京望京凯悦酒店设计以中式传统住宅“三合院”为灵感,将中国传统的人文地理特色和现代都市的活力与宁静巧妙融入酒店设计氛围中,给旅行者一种回归自然的身心探索之旅、感受“大隐隐于市”的美好体验。大堂酒廊设计灵感源于中国西南部梯田。旅行者拾阶而下就是酒廊,再下就是餐厅;拾级而上就是二楼弧形走廊,墙上蓝白相间连绵50多米的是 OceanBase 各行各业代表客户的宣传海报,从酒店旋转门进入大堂远远看过去宛如一幅画卷。
画卷的尽头是签到处,签到后旁边进入一个开放的空间,就是琳琅满目的展台。入驻展区的有 OceanBase 生态合作伙伴、OceanBase 产品团队、OceanBase 公有云团队、OceanBase 开源团队(互动游戏区)。公共区域的里面大厅就是主论坛会场。上午是主论坛会议,下午主论坛分拆为 2 个分论坛:攻坚关键业务系统实践专场、云和 AI 时代的数据库实践专场。晚上还有个开源技术分论坛。
论坛内容的设计采取的是发布会常用的演绎的思路。主论坛先有北京市信息处领导致辞,然后有学术界大佬分享数据库行业学术动向,接着是 OceanBase 阳老师和CEO、CTO 分享从数据库、云和AI时代的业务和技术等角度的思考以及当前 OB 成果的汇报。接着就是金融行业、非金行业大客户的分享。最后是媒体、客户、IDC 分析师的圆桌论坛。分论坛“攻坚关键技术”主要就是 OB 解决方案、OB 一体机和金融客户、运营商客户围绕 OB 的平台建设实践分享。分论坛“云和AI时代的数据库实践”首先是 OB Cloud 的架构分享和最新的产品进展汇报,以及各个行业 OB Cloud 客户的实践经验分享。最后是 OB 开源产品的成果汇报,同时也为晚上开源分论坛铺垫。晚上开源技术论坛主要是开源客户实践分享。
总体上感觉这次发布会 OB 官方准备的还是非常用心。发布会现场人头攒动,寒暄声、宣传声、问答声此起彼伏。这次发布会不管是展台数量、还是论坛话题数量比往年更加多。我也只能挑选感兴趣的展台和话题深入交流学习。

发布会官方讲了什么

云数据库的思考

首先 OB 首席科学家阳老师的分享是必听的。
阳老师分享了全球云数据库市场的变化,指出亚马逊数据库市场持续增长关键原因就是降本增效。而其产品技术原理的关键就是具备资源池化和复用能力、动态弹性伸缩和按需使用。同时也总结了云产品的几个问题:单机、单模、单云。
云数据库总结
以下是个人学习后的理解,如有出入就是我理解不当。
单机指很多云数据库对服务器的利用还是以物理机(或虚拟机)粒度,多个服务器对硬件资源(CPU、内存)的使用上还不均匀,碎片化现象严重。单模指客户业务复杂,既有交易又有分析,还有很多非结构化的数据(KV、文档等)存储和读写需求。每个云数据库功能都比较单一,客户不得不组合购买多个云数据库产品使用,不同数据库之间还不可避免的要数据同步。
单云指云厂商的客观局限性。每个云厂商尽力在自己的边界内发展自己的产品能力。虽然云厂商都有多可用区,但云厂商的整体性故障还是让不少对公有云依赖很严重的客户担心可用性。当客户想要构建跨云的业务和数据库架构时,云厂商之间协作的积极性并不高。虽然云厂商之间有很多同质的产品,但是同一款产品各个厂商的底层技术原理并不完全相同。比如说阿里云 RDS MYSQL 的内核能力跟腾讯云 RDS MYSQL 的内核能力就不完全相同。这种差异性就要公有云客户自己去区分了。这两个产品肯定是没有办法直接使用 MySQL主从复制(不完全是因为内核有差别,有云设施的安全限制原因)。
OceanBase 这次发布会总结的解决方案就是三个关键词:多机(分布式)多模多云
OceanBase新产品关键词
多机(分布式)这个不是什么新东西,OceanBase 数据库软件就是分布式架构,可以单机部署也可以多机分布式部署。其他具备这个能力的是 TiDB。再其他分布式数据库就不好说了。主要是有些厂商的分布式数据库软件依赖的组件比较多比较复杂,跨城市机房部署的客户案例很少,跨云部署的可靠性、稳定性和性能就很难给客户足够的信心。OceanBase 软件架构的优势就在于简单、轻量。OB 内核就是一个单进程软件。OceanBase 运维平台就是两个容器(一个应用 OCP 集群和一个元数据库 OB 集群)。OceanBase 从1.0开始就具备云数据库的特质了。只不过那时候单机性能不好,在云上性价比优势不大。现在到 4.3 了,OB 公有云的性价比已经很有优势了。
多模在这几年是个新概念,功能原理并不新。指的是一个数据库既能支持标准的 SQL 访问,有支持非标准的 SQL 访问(NOSQL,如 KV 访问等)。OceanBase 4.3 已经支持 KV、Redis 等访问接口,已经不再是一个传统的 SQL 数据库了。之所以说功能原理不新,因为早在 9年前,淘宝的 AliSQL 就将 RocksDB 引擎融入到内核中,支持 KV 访问协议。AliSQL 后来开源了,现在好像没怎么维护。最新的 PolarDB-X 还有 KV 引擎。这也间接说明多模这个功能是非常实用和受用户喜欢的。对于传统企业用户,可能暂时还没有反应过来。客户也有 KV 数据库和业务,可能不属于数据库运维部门负责,所以传统企业客户对 OB 数据库的使用还局限于 SQL 这一块。互联网公司组织架构比较灵活,OceanBase 多模能力对这类客户是个福音。
多云指 OceanBase 可以同时部署在阿里云、华为云、腾讯云、AWS 云、Google云上。OceanBase 公有云产品会屏蔽各个云厂商 ECS、网络产品的差异,做好统一调度,使得用户无论在哪个云上 OceanBase 数据库体验都是一样的。当然这是目标,目前 OBCloud 产品功能在各个云上还是有细微的区别,是因为各个云的适配进度不完全一样。OceanBase 的多云能力是它收获很多公有云客户的关键原因。

一体化数据库

OB CEO 和 CTO 的分享以及其他客户的分享、OB 展台宣传都多次提到“一体化数据库”。那我们也看看到底说的是什么。
OceanBase 一体化数据库
OceanBase 一体化数据库分了三个视角去解读。
首先是一体化产品能力。包含多工作负载(TP+AP)、多模场景(SQL+NOSQL)、融合(SQL+AI)。
多工作负载就是以前常说的 HTAP。其工作能力就不重复了。这次 OB 发布了两个软件版本 :4.2.5 LTS 版本和 4.3.3 GA 版本。有的场合称之为 4.2.5 为 TP 版本,4.3.3 为 AP 版本。这里需要解释几点。
  1. LTS 版本就是会持续的完善现有的功能,不断发布 Patch 版本。这个时间会持续 4 年(维保服务),然后个别客户有需要在跟 OB 协商继续 2 年维保支持。至于 6 年后就不是现在操心的事了(6年里足够一个产品老版本稳定了,新的业务肯定是用后面新版本的 LTS 版本)。4.2.1 依然是 LTS 版本,只是不大可能增加新功能,可能只满足于修复现有的 BUG 。4.2.5 版本功能大于 4.2.1,4.2.1 也可以在线升级到 4.2.5 版本。
  2. 4.2.1 ~ 4.2.5 包括以后的 4.2 序列版本并不只是单纯的只适合 TP 场景。它依然具备一些 AP 分析能力。虽然不支持列存,但是行存下表数据压缩比也是很高。此外,也支持很多复杂的分析函数、窗口函数等。SQL 算子有部分实现了向量化。以前的关于 OB 适合 HTAP 负载依然是对的,只不过这个 AP 指的是 R-OLAP,指在交易数据库上一些复杂的关系型分析业务场景。但不适合 M-OLAP 那种场景(比如说 ODS 业务场景,大批量的数据 ETL、多维度查询等)。同样 4.3.3 也不是说只有 AP 的能力就不适合 TP 了。TP 的基本功能在 4.3.3 版本利也是有,TP 的新功能可能会晚一两个版本出现在 AP 版本里。这是 OB 内核产品经理的解释,具体什么功能没有明说,还需要观察。不过我想基本的 OLTP 常用增删改查、事务、分区表、表组肯定都是可以用的。在 OB 大的产品发展规划上,4.2.5 以及后面版本 跟 4.3.3 以及后面版本 最终会在 OB 某个 版本汇聚到一起(就吧),这表示两个版本到时候都支持在线升级到同一个版本。那时候应该就不会区分 TP 版本和 AP 版本。还要强调的是虽然现在不严谨的说分 TP 版本和 AP 版本,本质上还是一个软件 OceanBase。这个跟其他厂商的分布式数据库有 TP 版本和 AP 版本是不完全一样的,后者那个底层可能真是两个数据库内核。
  3. 4.3.3 GA 版本是指客户可以使用的版本,不限行业场景等。这个不是 LTS 版本。OB 后面还会出 4.3.4 , 4.3.5 ...后面 定有 LTS 版本。按 OB 的版本迭代节奏和能力,最终 LTS 版本也快了。估计两三个季度就发了。
多模指新增支持 KV、Redis、HBase。融合SQL和AI 指支持向量化处理,,结合多模数据,能为上层 AI 应用提供一定 AI 能力的数据库服务。由于这两个功能都需要结合一定的业务场景才能测试,所以我细节了解的很少。现场展区有一个 SQL 和 AI 的互动游戏展区,就是应用和 OB 结合。不过由于我临时跟客户寒暄去了,所以没有体验到这个 AI 能力。等以后有时间再专门研究一下。
接着说一体化数据库的第二个解释角度:一体化引擎。这个引擎能力包含:一体化的存储引擎、一体化的SQL执行引擎和一体化的事务引擎。
  1. OB 虽然兼容 ORACLE 和 MySQL,只是语法功能兼容,存储引擎和事务方面完全是自己独立的设计。所以 OB 没有 MySQL的 Innodb 引擎,也没有 ORACLE 的引擎。OB 的存储引擎也并没有特殊的名字,也不支持插件式引擎。OB 的存储引擎在 4.3.0 新增了列存功能,4.3.3 进一步完善了这个列存能力。即使现在 OB 新增支持了 KV、Redis,也并没有搞出一个新的存储引擎出来,依然是 OB 已有的存储引擎。原理还是 LSM Tree,Compaction 和 Compression 功能原理还是保持不变。
  2. 一体化的 SQL执行引擎跟上面同理,区别只是 ORACLE 租户和 MySQL 租户语法规则上的不同,以及 NOSQL 语法、语义和执行路径可能会有些不同(以后再深入研究一下)。此外进一步扩大了向量化引擎算子的比例(以前是 Volcano 引擎)。
  3. 一体化的事务引擎跟上面也同理。满足事务的 ACID,即使内部是个分布式事务对业务也是透明的。不过 SQL 事务和 NOSQL 事务在一起的时候功能特性表现如何还有待后续进一步研究。
第三就是一体化架构。指单机分布式一体化,以及多云原生数据库架构能力。这个更像是一个特性总结,表达的意思是不管你是什么部署需求场景,OceanBase 一个数据库软件都能满足。
跟一体化搭边的还有 OceanBase 数据库一体机。
自从 ORACLE 推出 EXDATA 后,数据库厂商就也都有做一体机的梦想。一体机的优势非常多。包括软硬一体化交付效率高、软硬适配性高、整体性能高、稳定性高。缺点也有,就是贵,所以只适合业务复杂要求高但技术实力不高而钱包很厚的大客户。同样怀揣这个梦想的还有第三方数据库生态伙伴。如恩墨、天玑、沃趣等。
2023数据库一体机厂商市场份额

OceanBase 在 2019 年就试点过一体机。2019 年云栖大会我还给 OB 一体机站台过。(参考:2019 OB 一体机介绍)。OB 今年推出的一体机已经比当初要强大很多了,在硬件上使用国产服务器(海光)、国产IB交换机(H3C),在软件上使用了 OB 4.3.3、分布式文件系统 OSM、基于 RDMA 技术的 ONM 网络加速软件。实现了 NUMA Aware 技术动态多实例绑定,最大化提升 OB 在一体机上的性能。此外还有 ODM CDP 数据保护技术,相比 OB 租户备份还原而言,这个 CDP 恢复技术效率更高(特别适合金融证券场景)。一体机还有管控产品,在机柜上显示屏里也可以看到集群运行概况,对现场巡检也非常有好。

OB 数据库一体机里有大量的软硬件优化技术,所以也说它是一部分数据库内核研发人员的梦想。OB 数据库一体机满配在压力测试下能将 IO 物理吞吐跑到 750GB 。这个对 AP 场景是个很有吸引力的数据。有关 OB 数据库一体机技术后面我会专门分享。

4.3.3 AP 能力

OB 虽然发布了两个版本,亮点还是 4.3.3 GA 版本的 AP 能力。之所以说这个版本 AP 能力很好,是因为有多个功能:

  • 列存能力。

列存能力首先包括表可以从行存表转换为列存表或者行列混合表。不过目前这个转换还是 OFFLINE DDL 。所以它会锁表,此外还需要数据文件利额外为表预留 6~8 倍以上的可用空间。行存下表的数据已经有很高的压缩比,到列存下还能进一步压缩。

对于行列混合存储的表,SQL 引擎能智能的选择是查询行存还是列存。此前我也有个列存的分享,详情可以查看:OB 4.3 列存功能体验

4.3.3 还新增了列存副本。使用方法是在原有的三副本(3F)或两副本(2F1A)架构下额外增加一个只读副本。只读副本 OB 在 2.2 就支持了,只不过这次是列存模式的只读副本(这个后面研究再分享)。可以专门用于读写分离场景下,复杂查询的使用。列存副本不参与 Paxos 选举,所以不能作为高可用的候选副本。列存副本的数据同步由 OB 内部调度,不需要运维同步数据。

  • Json 多值索引

Json 类型也是 OB 很早就支持过了,只不过针对 Json 列的索引功能此前还是很弱。这次增加了多值索引功能,可以针对 Json 数据中的数组类数据做索引。目前这个功能还不完善,只有在建表的时候指定多值索引。详情可以查看:OB Json 类型和多值索引体验

  • Roaringbitmap 类型

Roaringbitmap 类型在大数据存储和分析的特殊业务场景中有着非常高的性价比。比如说类似业务打点分析用户行为特征的场景。即使是几亿用户的几百亿行为记录分析,使用 Roaringbitmap 类型也能快速返回结果。详情可以查看:OB Roaringbitmap 类型体验

  • 外表能力

OB 4.3 开始支持外表,目前支持外表所在的介质包括本地文件系统、NFS 文件系统以及对象存储(阿里云OSS、华为云OBS 以及其他支持 S3 协议的对象存储)。外表文件可以是 CSV 文件、Parquet 文件。

外表可以直接查询,也可以跟 OB 内部表联合查询。针对 Parquet 外表,OB 还会进一步加强算子能力,比如在条件下压、索引定位方面的能力。

未来 OB 还会支持 HDFS 文件、HIVE 外表等等。外表结合物化视图一起使用,极大的方便了传统大数据平台数据迁移到 OB 数据库。

  • 物化视图功能

OB 4.3 开始推出物化视图和物化视图日志,如今物化视图支持全量刷新和增量刷新。增量刷新目前支持的 SQL 运算算子还比较有限,包括 COUNT、MAX、MIN、AVG、SUM 等。虽然有限,也能满足很多业务大数据统计的痛点。OB 物化视图还支持实时物化视图,这个对 SQL 复杂度也有一定限制,其利用基表的物化视图日志,能快速查询返回物化视图最新数据,性能远高于普通视图。这个功能将会成为 AP 业务最常用的功能。后面我会专门分享 OB 4.3.3 物化视图的详细使用体验。

物化视图增量刷新目前的限制估计后期会进一步完善。此外,在 MySQL 租户下的物化视图由于没有兼容性约束,限制反而会少一些。

  • 向量化引擎和AI 能力

其实这个是 4.3.3 的最新的亮点,不过我还没有测试过,暂时也没有实际体验可以分享。蚂蚁开源的 DB-GPT 可以跟 OB 结合使用,OB 社区论坛上的论坛小助手其实就是基于 DB-GPT 和 OB 构建的问答机器人。

OB 论坛小助手

发布会客户讲了什么

OB 的产品发布会,不能只看 OB 讲,还要看看 OB 客户讲什么。尽管这些客户是 OB 定向邀约的,公开场合的宣讲对客户自身也是有一些内在约束。所以讲的内容也要是真实的,经得起内外考验的。不是能随便讲的。

下面挑选我认为有趣的两个客户分享的总结。

金融:交行

OB 在早期对外宣传的案例总是支付宝和网商银行的异地多活单元化案例,重点就是大规模 OB 集群下的业务平台和运维平台的建设。有人说有几个人有蚂蚁那么大的体量。

实际上很多金融客户的体量虽然不及蚂蚁那么大,但是这套方案也还是有使用场地的。比如说我知道的使用过 SOFA+OB 做分库分表或单元化的客户有南京银行的互联网金融业务、建行的ECIF业务、四川农信的金融核心业务,还有就是这次分享的交行的核心业务。类似这样的分享年年有,可能没有什么新意。此前我也总结过(参考:如何基于OceanBase构建应用和数据库的异地多活)但是交行这次的分享感觉比此前的分享要务实的多,给出了很多具体的数据,所以我觉得值得一提。

OceanBase 在交行的整体使用规划

交行作为五大行之一,虽不是最大,那个体量也是不小的。所以,当交行全面推广使用 OB 后,其集群规模必然会很多。交行在实际使用 OB 时也是根据不同业务场景需求而决定 OB 的部署方案。

核心业务用三地五中心单元化架构,支持多机房部署,能够应用和数据库联动切换。这些业务都是核心业务,每个业务独立配置一到多个OB 集群,强调的就是一个“逃生”能力,OB 称之为高可用能力。在 OB 的单元化架构方案里多活和容灾是一个方案,平时多机房的流量可以配置,从单活到双活到多活,都只是一个设置的修改。

中大型复杂业务也用三地五中心部署方案,只是不需要做单元化。而中小型业务业务就共享使用一到多套 OB 集群,利用租户资源的隔离性、弹性伸缩型以及 OB 云平台统一运维能力,极大的提升了硬件资源利用率,降低了运维复杂度 同时也满足业务性能需求。

那么交行的 OB 集群规模到底多大呢?这个数据就很有意义(其他金融客户都不大愿意说)。

OB 交行数字化转型步骤
OB 是交行数字化转型中的重要一环,这个里面数据很丰富,我们只看 OB 集群和租户规模。集群数量 330+,租户数量 3000+,服务器数量 1400+ 。这个数据很好的回应了少数客户对 OB 规模化下的运维担心。虽然分享没有说交行 OB 运维团队有多大,借助于 OB 云平台OCP ,估计不超过 10 人就能运维这么多的集群。当然交行数字化转型最大的挑战还是从 DB2 序列产品迁移到 OB 。这使用到了一序列产品(并不仅仅是 OB,还包括交行自研产品、阿里云相关产品等)。这项目其中的困难挑战就只有当事人自己清楚了,不足为外人道。
交行核心系统下移
关于 OB 的三地五中心架构,交行的这个 OB 架构图细节比以往更真实具体。

OB 的三地五中心架构里,第五个副本在异地最远,实际上是不会独立提供读写服务的(写延时会非常高)。所以业务读写 OB 主要发生在前面 4 个机房。交行这个图就很清晰的展示了这个。

所以综合起来交行的这次分享我感觉很赞。顺便说一点额外的,五大行里最早使用 OB 的是工行(资管系统)和建行(ECIF)。不过好像都没有全面推广。OB 能在交行全面推广也得益于交行的开发和运维团队在很早的时候就接触过 OB 0.4 版本并且在上面开发了属于交行的 CBase 数据库(开源地址:https://github.com/BankOfCommunications/CBASE )。OB 0.4 的时候就有 paxos 设计,以及分布式存储和事务设计。所以推测交行团队在这方面也有相对很深的理解和把控能力,后面在全面转向 OceanBase 时相对容易些。

互联网:贝壳找房

贝壳找房的业务大家都能理解,业务场景也比较复杂。但这次贝壳团队分享的却是它的一个存储领域的产品。由于我之前也在存储公司呆了一年多,所以特别留意听了一下。

贝壳机器学习平台的计算资源,尤其是 GPU,主要依赖公有云服务,并分布在不同的地理区域。为了让存储可以灵活地跟随计算资源,存储系统需具备高度的灵活性,支持跨区域的数据访问和迁移,同时确保计算任务的连续性和高效性;此外,随着数据量的增长,元数据管理的压力也在逐渐加大。贝壳在一年前选择基于 JuiceFS
的存储方案。碰到的难题大概是这套文件系统的元数据库读写非常高且延时要求很低。

贝壳大模型数据流转

贝壳调研了 OceanBase,对比 Redis ,OB 的天然的海量数据多机房同步能力、多模能力用来做元数据库非常合适。

元数据库引擎架构

从贝壳这个元数据库架构看,其业务是本地机房和腾讯云上都有。本地机房都用 OB 搞定了,云上还在用 RDS MySQL,所以还不得不用 OMS 和 腾讯云的 DTS 做数据中转同步。这也恰好说明了前面阳老师说的单云问题。各个云厂商以及云厂商跟 IDC 之间数据库不统一给客户实际部署架构额外增加了很多复杂度。

假设贝壳在腾讯云上购买 OceanBase 或者在腾讯云 ECS 上自建 OceanBase,那么就可以利用 OB 自身的五副本能力构建横跨 IDC 和云的 OB 集群。当然推测实际上这个还是有很多挑战。涉及到现有业务的改造(RDS MySQL也不是轻易可以放弃的)、IDC 到腾讯云 VPC 网络的性能等等。

很多云产品也有元数据库。比如说阿里云的飞天、云盘、RDS、ODPS、ADB 等等产品,部署规模非常大,其元数据库读写性能和稳定性也就非常重要。这些数据库如果性能抖一抖,那影响的客户就是一大片。如果可用性还出问题,那可能是大面积的故障。近几年云厂商这些类似的故障都不少。所以,OB 作为一个元数据库对贝壳的存储产品才显得更加重要。

其他客户特别是公有云的分享也很有价值,有关 OB 公有云的体验打算后面专门分享。这里就先不说了。

其他

OB 发布会其他信息

  • 发布会直播回放地址:https://www.oceanbase.com/conference2024
  • OB 官网文档地址:https://www.oceanbase.com/docs/oceanbase-database-cn
  • OB 官网论坛地址:https://ask.oceanbase.com/

更多阅读



文章转载自数据库技术闲谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论