BaseOcean 3.2版本产品功能升级介绍

BaseOcean3.2版本是一个兼容MySQL的数据库。它采用分布式架构,可以实现数据的高可用性和高性能。BaseOcean支持事务、索引、复制和备份等MySQL的核心功能,并且具有自动分片、数据分布和负载均衡等特性。

一、硬核HTAP能力,OLTP和OLAP性能大大提高

在3.2版本中,兼容MySQL的数据库大大提高了HTAP的负载能力,通过执行计划索引剪枝、缓冲区刷新算法、去除重复表达式和TableScan算子,优化了各种算子的执行效率和内存消耗。与3.1版本相比,3.2版本大大提高了OLTP和OLAP的性能,可以更容易地应对海量数据、OLTP业务挑战高并发、OLAP业务和实时分析挑战,大大提高了TPC-H性能测试的655%,大大提高了OLAP的能力。

1、支持小规格部署,性能提升30%

持续优化系统内模块级内存的使用限制,突破小规格限制,支持8C64GB小规格机的部署和稳定运行。与3.1版本相比,性能水平总体上提高了30%。增强和优化内存使用的性能,如内存写入平滑性、系统并发执行、系统可用会话池、收发包内存等。进一步减少数据库对内存资源的消耗。重要的技术升级如栈内存、Diagnose内存、SQL线程缓存、CloseSTMT队列等,大大提高了兼容MySQL的数据库对内存资源的利用率。

2、突破分布式数据库事务限制,支持超大事务

当分布式数据库系统的内存Memstore中写入的数据量超过一定限制时,Memstore将被“冻结”并将数据dump放在磁盘上。然而,在冻结和转储过程中,Memstore要求没有未提交的事务,这将导致活动事务频繁搬迁和租户内存爆炸的风险。OceanBase通过转储未提交的事务技术(租户级别的调度和冻结超过内存限制的活动未提交的事务)和Paxos即时写日志技术(通过Paxos同步冻结事务生成clog)实现了分布式超大数据存储。

3、内核能力优化提升性能优化

通过Marker去除重复的表达式,加强核心能力,取代原来的HashSet,以获得更好的性能;增加支持人工收集优化器的统计信息,提高人工调优能力;增加自动加密索引,提高数据存储的安全性。

二、提高兼容性,降低业务迁移改造成本

作为一款兼容MySQL的数据库,OceanBase数据库在功能、语法、函数、过程语言、系统包等方面都进行了兼容性增强,进一步降低了业务迁移到OceanBase数据库的转换成本,以及用户使用OceanBase数据库的学成本。

1、支持存储过程读写和定时器任务管理调度能力的Oracle兼容性

UTL_新增支持系统包FILE,为了实现多系统之间的数据交换、同步和整合,用户可以将数据库中的数据写入文件并同步到下游系统,也可以将其他系统生成的数据文件读入数据库进行进一步处理,以避免系统重构成本。增加了定时器任务DBMS_JOB,在复杂的业务场景下,如定时任务、循环任务、异步任务等,可轻松管理和调度任务,实现自定义任务的管理和调度,降低人力维护成本。

2、适用于MySQL5.7协议,支持MySQL模式下的自增列和DML触发器

适应MySQL5.7驱动协议,支持5.7新增会话变量,可推高OceanBaseMySQL兼容版,避免企业内部安全审计问题。新增加的自增列作为分区键,为数据的逻辑分离提供了更好的灵活性。OceanBase的MySQL模式不支持DML触发器,因此客户需要自己编写代码来实现对数据和记录的约束,OceanBase数据库在MySQL模式下可以创建DML触发器,用户可以在3.2版本中使用DML触发器,用户可以使用DML触发器。

三、核心场景更加稳定,为业务保驾护航

OceanBase数据库有针对性地提高了系统在访问连续性、数据一致性和事务执行性方面的稳定性,为客户业务的连续性和正确性提供了更有效的保障。增加全局死锁检测、本地路由表自动刷新、备机一致性强、系统异常状态检测强化、集群网络流控优化能力。

1、增加全局死锁检测功能,及时处理死锁问题,确保事务执行稳定。

死锁是数据库非常常见的问题。出现死锁时,需要 DBA 来监控或巡检发现,并人工进行处理;定位时间和周期都比较长。针对这一场景,OceanBase 数据库在3.2版本支持全局死锁检测功能。实现分布式死锁检测的关键在于,如何汇总每个节点上的局部锁等待关系,并基于汇总出来的全局锁等待关系产生全局的锁等待图(wait-for graph),找出图中成环(deadlock cycle)的事务,最后挑选出最优的事务作为牺牲者(victim)去解开死锁。

基于Mitchell-Merritt算法,兼容MySQL的数据库使用分布式死锁检测在分布式数据库系统中得以实现。当前死锁检测范围已经包括嵌套执行、存储过程、触发器、外键等,后续版本也将继续增强和完善全局死锁检测能力。

2、支持超多分区,突破数量规格限制,保证业务系统的稳定性

BaseOcean 3.2版本增强优化了多个重要模块组件,如分区级联方案、分区状态算法、心跳、日志传输等,从而实现数据库集群支持规模达到50万级分区数量,帮助用户保证业务快速增长下的系统稳定性。

3、优化集群网络流控,避免因网络带宽耗尽而导致的访问故障

在兼容MySQL的数据库的实际业务场景中,当大规模数据同步复制(如故障数据迁移和备份恢复)时,很容易耗尽网络带宽,从而影响正常的业务访问。OceanBase数据库优化了所需的网络带宽资源的使用,如集群网络流控、同步、迁移、补充副本、RRebuild操作复制静态数据等。在事务日志中,更好地控制网络流量,并通过规则和保证方案避免访问故障。

四、加强管控能力,满足复杂的业务场景

1、支持公共云海外部署形式,帮助客户拓展全球业务

OceanBase公共云在海外发布,通过数据存储压缩技术的优势,在满足海外安全合规需求的同时,通过数据存储压缩技术实现成本降低30%。

2、支持多租户资源隔离,满足跨业务、跨部门复杂业务场景

在大规模复杂的业务场景中,不同的业务和部门需要实现权限和资源隔离,以避免业务之间因资源竞争而相互影响。针对多租户场景,提供租户级磁盘空间限制管理能力,通过自动化任务定期积极探测空间使用情况,超出时触发空间限制管理策略。支持租户级快照备份恢复,可根据业务类型和重要性指定备份策略,并支持定制备份目的地。