OceanBase 数据库作为一款企业级原生分布式关系型数据库,自创立以来一直坚持原生分布式的发展路线,其高兼容、金融级容灾和高可用、透明灵活扩展、超强稳定性等能力已经在金融、政府、运营商等各个行业得到了充分验证以及认可。今年 6 月 1 日,OceanBase 3.0 产品发布会宣布 OceanBase 数据库进入 3.0 时代,全力打造硬核的原生分布式 HTAP 数据库,打破边界,同时支持 OLTP 和 OLAP 负载。截止目前为止,OceanBase 3.0 已经在多家企业的核心业务系统得以应用。
OceanBase 3.2 是宣布进入3.0时代后的首个重大版本,持续在企业级能力构建上发力,围绕兼容性、HTAP混合负载、小规格性价比等几大核心能力,在Oracle/MySQL 兼容、易用性、稳定性、性能和功能等诸多方面持续迭代增强与优化升级,在提升用户体验的同时,帮助用户更轻松地完成应用迁移、TP 和 AP 统一部署、降低应用开发部署和运维成本。 OceanBase 3.2在同等环境及任务的前提下,相比于3.1版本,Sysbench OLTP 性能提升24%,BMSQL tpmC 性能提升30%以上,TPC-H 性能提升655%,极大的提升了 OLAP 能力。
0 1 更高的性能,TPC-H 6倍高性能提升
强化内核能力,通过 Marker 去除重复的表达式,替代原有的 HashSet 以获得更好的性能;新增支持手工收集优化器统计信息,提升手工调优能力;新增索引自动加密,提升数据存储的安全性。
02
更高兼容性,降低业务迁移改造成本
OceanBase 数据库针对 Oracle 和 MySQL 模式,在功能、语法、函数、过程语言、系统包等方面均进行了兼容性增强,进一步降低业务迁移到 OceanBase 数据库的改造成本,以及用户使用 OceanBase 数据库的学习成本。
新增支持系统包 UTL_FILE,实现多系统间的数据交换、同步和整合,用户可以将数据库内的数据写成文件同步至下游系统使用,也可将其他系统生成的数据文件读入数据库做进行进一步处理,避免系统重构成本。新增支持定时器任务 DBMS_JOB ,可以轻松进行任务的管理和调度,实现定时任务、循环任务及异步任务等复杂业务场景下的自定义任务管理和调度,降低人力维护成本。
客户原声:UTL_FILE
某大型银行: 上层十余个微服务应用均需要通过 UTL_FILE 与外部文件交互进行数据的载入和导出, 3.2版本支持的 UTL_FILE 功能,大幅提升兼容性并降低改造成本,提升研发人员操作外部文件的效率。
客户原声:定时器任务 DBMS_JOB
某保险公司: 在保险业务跑批过程中,通过 DBMS_JOB 可以灵活定制定时作业,用于进行清理大表历史数据、财务明细计算和汇总等,大大简化了开发和运维。
某运营商: 当数据库自身不能执行定时任务时,为了完成运营商的数据修复任务,只能通过应用修改或编写操作系统 Shell 脚本的方式实现,所有的定时任务无法统一管理和统一运维,长期使用会造成大量不可追溯源头的数据问题。3.2版本 OceanBase 提供了完全兼容 Oracle DBMS_JOB 的定时任务能力,可以用于安排和管理自定义任务,实现数据库定时任务的统一管理和维护。
Ⅱ.适配 MySQL 5.7 协议,MySQL 模式下支持自增列和 DML 触发器
适配支持 MySQL 5.7 驱动协议,支持 5.7 新增的会话变量,可以推高 OceanBase 的 MySQL 兼容版本,避免企业内部安全审计问题。新增支持自增列做为分区键,为数据的逻辑分离提供更好的灵活性。OceanBase 的 MySQL 模式并不支持 DML 触发器,导致需要触发器行为的场景下,客户需要自己写代码来实现数据和记录的约束,OceanBase 数据库在3.2版本在 MySQL 模式下支持 DML 触发器,用户可以在表上创建触发器,当在该表上的 DML 操作满足条件时,即可触发用户自定义行为。
客户原声:使用自增列作为分区键
某商业银行: 智能收支业务测试中存在部分表将自增列做为主键,并通过自增列进行分库分表的设计,此前由于不支持自增列的分区表建立,只能通过复合方式完成,在完全的迁移性或兼容性上是无法完全符合要求。支持自增列建立分区表后,满足需求的同时大大减少对业务的侵入。
03 提高产品易用性,降低运维成本
支持 Schema History 回收功能和自动清空回收站功能,OceanBase 数据库回收站提供以租户为单位,当磁盘空闲空间不足时,按照 FIFO 的策略,自动清理回收站空间的功能。支持用户通过配置项 _schema_history_recycle_interval 控制Schema History 回收周期,通过配置项 recyclebin_object_expire_time 指定回收站中对象的过期时间。提供自动巡检能力,可以根据内置巡检规则及系统脚本对关心的资源设定时间进行检查并生成巡检报告。支持租户级别的最新状态物理恢复,恢复命令在缺省条件下恢复到 CLOG 中记录的目标租户的最新状态简化用户操作。
客户原声:支持自动清空回收站功能
某商业银行: 回收站作为运维人员的“定心丸”,可以作为误删数据、租户时的最后的屏障。但是否在运维过程中遇到在创建表时发现存储空间不足,而空间实际上被回收站中的对象大量占用的问题。这类问题可能需要消耗较长时间才可能排查出来。3.2版本提供的回收站自动清理功能,提供以租户为单位,当磁盘空闲空间不足时,按照 FIFO 的策略,自动清理回收站,并可以指定回收站中对象的过期时间。
OceanBase 数据库采用基于 Mitchell-Merritt 算法,使得分布式死锁检测在分布式数据库系统中的得以实现。目前死锁检测范围已包含嵌套执行、存储过程、触发器、外键等,后续版本也会持续增强和完善全局死锁检测能力。
客户原声:全局死锁检测
某商业银行: 在分布式数据库系统中,系统可能经常出现死锁,过去只能用超时等待方式在系统超时出现时再解除死锁。依靠OceanBase 3.2的最新全局死锁检测功能,系统可以第一时间检测到死锁,让死锁解除大幅加速。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69909943/viewspace-2841616/ ,如需转载,请注明出处,否则将追究法律责任。