V3.1.2
更新时间:2022-02-24 21:38:13
本文主要介绍 3.1.2 版本 OceanBase 数据库的新特征,以及在之前版本数据库基础上新增的功能和做出的改动。
概要说明
在 OceanBase 3.1.2 版本,我们为 OceanBase 数据库的用户提供了免费的图形界面开发者工具(ODC)、运维监控云平台(OCP)、数据迁移工具(OMS)、导数工具(OBLOADER 和 OBDUMPER)。
OceanBase 数据库支持在线跨版本轮转升级,可通过 OBD 指定需要升级到的版本,自动完成最佳升级路径解析和应用升级,全过程无需人工干预且不影响业务运行。优化了热点行数据更新,性能提升了 300%。优化了分区表 SQL PLAN 淘汰机制。优化了底层通信代码等。新增了多个 SQL MODE 和系统函数。
特性更新
开发者中心(ODC)
OceanBase 社区版开发者中心(ODC)是为 OceanBase 数据库量身打造的开发平台。为数据库开发者提供了数据库对象的可视化管理、智能语法、会话管理、回收站管理、导入导出、资源和权限统一管理等多种能力。
ODC 核心功能如下:
多窗口开发模式
ODC 提供 SQL 窗口、匿名块窗口和命令行窗口开发模式。您可以按照自身习惯选择打开对应模式窗口进行开发,SQL 窗口与匿名块窗口支持智能联想提示、语法高亮、格式化等高级功能。
丰富的结果集管理
ODC 支持对结果集表格化的交互操作,可导出全部和部分的 SQL 窗口内的查询结果集。
灵活的导入导出
ODC 支持 SQL、CSV 和其他数据格式的文件,可以一次导入和导出单表、多表或全库数据,支持定义对象和表数据单独或混合导入导出。
协作管理
ODC 内置管控平台,您可以编辑用户群体的角色和权限,管理连接资源,提升企业协作管理效率。
运维监控工具(OCP)
OceanBase 社区版运维监控工具(OCP)是为 OceanBase 数据库量身打造的企业级数据库集群管理平台工具。您可使用 OCP 管理和运维主机、网络、软件包等资源,管理集群和租户的全生命周期,降低 IT 运维成本。
OCP 的核心功能如下:
集群管理
OCP 支持集群的安装、运维、性能监控、配置、升级、删除、主机添加和删除等功能
租户管理
OCP 支持租户的创建、结构拓扑图、性能监控、会话管理和参数管理等。
监控告警
OCP 支持集群、租户和主机三种维度的监控告警。您可以使用内置告警项或自定义配置告警项,可以选择 HTTP 通道或者脚本通道传递告警消息。
系统管理
OCP 支持查看和管理运行中的任务,可根据业务自定义参数配置。
安全
OCP 支持创建、修改或删除数据库用户和角色,拥有赋予和回收角色的权限。您可以通过用户中心管理 OCP 用户的个人设置、密码和告警订阅等信息。
数据迁移工具(OMS)
您可以使用 OceanBase 社区版数据迁移工具(OMS)实现异构数据库与 OceanBase 数据库的数据迁移。OMS 支持将异构数据库在线不停服地迁移至 OceanBase 数据库,同时在应用切换至 OceanBase 数据库后,将 OceanBase 数据库上所有的变更数据实时同步至切换前的源端数据库。您可以使用管理控制台创建数据传输项目、自定义任务配置和监控运维传输组件。
OMS 的核心功能如下:
支持数据库对象迁移:包括表、约束、索引的自动导出、转换和创建。
支持全量数据迁移。
支持增量数据迁移:通过日志解析将源端实时的增量数据迁移至目标端。
支持全量数据校验:源端和目标端表数据全字段的数据比对,对不一致的数据提供订正 SQL 语句。
支持切换后反向增量迁移:业务将应用切换至(源)目标端数据源时,将目标端增量数据实时同步回源端。
支持的 MySQL 版本包括:5.6、5.7。
支持用户自定义告警设置。
支持运维监控:包括主机监控、组件监控和组件运维。
数据导入导出工具(OBLOADER/OBDUMPER)
您可使用 OBLOADER 和 OBDUMPER 快速导入和导出数据。
您可以根据内核的负载能力指定并发数、分页查询的记录条数及分批处理数来提升导入和导出的并发性能。
OBLOADER 和 OBDUMPER 支持按照分区、指定条件、单表、多表、全库、以及自定义查询 SQL 导出,支持数据预处理、字段映射导入,兼容 SQL,CSV、 CUT 等多种文本格式。
在线跨版本轮转升级
您可以通过 obd cluster upgrade 命令升级 OceanBase 数据库。OBD 自动识别匹配版本间的升级路径,对每个 Zone 进行轮转升级。详细信息,请参考 obd cluster upgrade。
数据热点行优化
在热点数据更新场景中,OceanBase 数据库通过对 lock for write 加锁逻辑、填充日志前释放行级锁优化,使得 OceanBase 数据库在处理热点数据的并发更新性能从 3000TPS 提升到 9000TPS,提升了热点数据处理能力上限。
分区表 SQL PLAN 的淘汰机制优化
在分布式场景计划评估中,无法准确获得远端节点分区的行数反馈,存在计划退化的风险。
OceanBase 数据库采用最终 SQL 执行时间反馈负向优化执行计划,当采样的查询平均执行时间超过首次执行时间的 2 倍时,则针对性淘汰该 PLAN 并重新生成新的 SQL PLAN,解决因 SQL PLAN 劣化导致的性能下降问题。
通信时钟稳定性优化
OceanBase 数据库底层通信框架使用 CPU 时钟(SYS_clock_gettime)获取超时 时间,而上层 SQL 业务逻辑是使用操作系统时钟(get_timeofday)记录超时 时间,这两种时间精度上的误差会有极低概率导致上层业务逻辑重置底层的原始错误码,OceanBase 数据库通过设计可容忍超时误差计算逻辑,准确还原出系统运行报错的第一现场,提升问题分析诊断效率。
MySQL 兼容
新增支持系统函数:
VALIDATE_PASSWORD_STRENGTH()
该函数用来给密码的安全性进行评分,返回 0-100。如
SELECT VALIDATE_PASSWORD_STRENGTH('Password@123');。UUID_SHORT()
该函数可以生成一个 64 位无符号整数。如
SELECTUUID_SHORT();。TO_BASE64() 和 FROM_BASE64()
该函数提供基于 base-64 算法的字符编码与解码能力。如
SELECT TO_BASE64('12345') 和 SELECT FROM_BASE64('MTIZNDU=');。DAY()
该函数返回给定日期的月份的日期部分。如
SELECT DAY('2021-12-12');。ANY_VALUE()
该函数用来抑制 ONLY_FULL_GROUP_BY 的值被拒绝。
其他特性更新
开源 OBKV TABLE JAVA Client
提供通过 TABLE API 接口协议直接访问 OceanBase 数据库底层存储表数据的操作方式,用户开发程序可以以 JAR 包的形式调用该接口,支持认证、对行增删改查追加等操作。详细信息请访问 GitHub 仓库。
开源 OBKV HBASE API
基于 TABLE API 提供的基本接口协议,在数据模型上增加宽表模型(WideColumn),优化 filter 逻辑,支持 KEY 分区、RANGE 分区和前缀分区,支持 TTL。兼容 HBase API 客户端持续开源中。
新增配置支持统信 UOS 平台操作系统
observer 与 obproxy 全面兼容主流 X86 平台操作系统。兼容列表详见 GitHub 仓库。
增强管理员工具 ob_admin
ob_admin 支持解析和显式输出 block_file 文件、归档文件、备份元信息和数据。命令输入形式为
ob_admin dumpsst/archive_tool/dump_backup,详细信息请参考 ob_admin 简介。完善 OceanBase 社区版本文档。文档包括架构设计原理、性能调优、故障处理、日常维护指导等。




