首页 > 其他分享 >TiDB v7.5.0 vs Oceanbase v4.2.1.1: online ddl 吐血验证测试

TiDB v7.5.0 vs Oceanbase v4.2.1.1: online ddl 吐血验证测试

时间:2023-12-24 18:31:52浏览次数:44  
标签:v7.5 1.1 Oceanbase ddl 正常 TPS online 0.51 offline

作者: h5n1



1          测试环境

3台ARM服务器,同时部署TiDB和OceanBase。

TiDB: v7.5.0社区版,kv cache 32G ,CPU 48核(tidb+tikv+pd,numa),普通ssd。

Oceanbase: 4.2.1.1社区版,租户内存128G,48核,普通ssd。



2          测试内容

以Oceanbase 4.2.1官网文档为基准测试内容,验证TiDB和Oceanbase的online ddl能力。Sysbench初始化一张200万数据表,根据测试内容不同设置为不同分区,使用12个线程进行oltp_read_write等DML操作的同时执行DDL,观察DDL执行与TPS情况。

Oceanbase online ddl 说明:

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000252800

CREATE TABLE `sbtest1` (  `id` bigint(20) NOT NULL ,  `k` bigint(20) NOT NULL DEFAULT '0',  `c` varchar(120) NOT NULL DEFAULT '',  `pad` varchar(60) ,  PRIMARY KEY (`id`),  KEY `k_1` (`k`))  DEFAULT CHARSET='utf8'partition by range(id)( partition p1 values less than(1000001),partition p2 values less than(2000001),partition p3 values less than(3000001),partition pmax values less than(maxvalue));

 



3          测试目的

1、 对tidb、oceanbase支持的online ddl进行验证对比。

2、 验证oceanbase 官网的offline ddl在tidb能否online。



4          测试结果

本次测试结果汇总如下,环境、版本差异可能会有不同结果,仅供参考。从测试结果看TiDB支持的online ddl操作类型更多,实际使用也更丝滑,对于仅数据字典修改的ddl操作ob的性能要优于tidb,tidb的执行时间更加稳定(可能和环境有关系)。OB在自增列和stored生成列上支持的操作比tidb多,对应分区表tidb支持更多灵活的ddl操作。

 

OB定义

操作

TiDB

OceanBase

备注

增加索引

online,TPS降低约38%,15.02秒

online,TPS降低67%,29.5秒

删除索引

online,TPS正常,0.52秒

online,TPS正常,0.81秒

重命名索引

online,TPS正常,0.51秒

online,TPS正常,0.12秒

混合索引操作

online,TPS降低约40%,15.02秒

online,TPS正常,22.9秒

末尾加列

online,TPS正常,0.51秒

online,TPS正常,2.96秒

添加 VIRTUAL 列

online,添加后TPS降低约25%,0.51秒

online,TPS正常,0.15秒

删除 VIRTUAL 列

online,删除后TPS回升约25%,0.51秒

异常,TPS掉0,67.39秒

修改列为 NOT NULL

online,TPS正常,1.29秒

online,TPS正常,0.125秒

修改列为 NULL

online,TPS正常,0.51秒

online,TPS正常,0.2秒

设列默认值

online,TPS正常,0.51秒

online,TPS正常,0.14秒

删除列默认值

online,TPS正常,0.52秒

online,TPS正常,0.18秒

修改自增列值

online,TPS正常,0.51秒

online,TPS正常,0.19秒

重命名列

online,TPS正常,0.52秒

online,TPS正常,0.3秒

增加列类型长度或精度

online,TPS正常,0.51秒

异常,TPS掉0,55.8秒

混合列操作

online,TPS正常,2.29秒

异常,TPS掉0,54.7秒

有Offline操作则转为offline

增加外键、CHECK/NOT NULL 约束

online,TPS正常,0.0秒

online,TPS正常,1.25秒

重命名表

表名改了,应用报错,如何online?

修改行格式

因架构差异,未测试

修改块大小

因架构差异,未测试

修改压缩算法

因架构差异,未测试

优化表空间

因架构差异,未测试

添加分区

online,TPS正常,0.51秒

online,TPS正常,0.17秒

中间加列(BEFORE/AFTER/FIRST)

online,TPS正常,0.51秒

offline,TPS掉0,28秒

重排列(BEFORE/AFTER/FIRST)

online,TPS正常,0.52秒

offline,TPS掉0,56.7秒

添加自增列

不支持添加自增列,支持删除自增列属性

offline,TPS掉0,81秒

修改为自增列

不支持修改为自增列

online,TPS正常,14秒

修改列类型

部分online(字段类型限制),TPS正常,0.51秒

offline,TPS掉0,150秒

修改列为主键

聚簇表不支持修改,非聚簇表online

offline,TPS掉0,31.6秒

ob社区版修改主键为drop\add方式。Tidb不能执行,drop/add分开执行

添加/删除 STORED 生成列

不支持添加store生成列,支持online删除store生成列,0.52秒

offline,TPS掉0,87秒(加)、50秒(删)


删除列

online,TPS正常,0.52秒

offline,TPS掉0,58秒


混合列操作

online,TPS正常,2.29秒

异常,TPS掉0,54.7秒


添加/删除主键

聚簇表不支持,非聚簇表online

offline,TPS掉0,193秒(加)、34秒(删)


TRUNCATE 表

online,TPS正常,0.52秒

online,TPS掉4.3秒


转换字符集

online,TPS正常,0.51秒

online,TPS正常,0.11秒

utf8转utf8mb4

删除表

表删除了,应用报错,如何online?

修改分区规则

online,TPS降低约25%,162秒

offline,TPS掉0,30.2秒

tidb支持分区交换、转换、重组等更多操作

删除分区

online,TPS正常,0.51秒

online,TPS正常,0.86秒

TRUNCATE 分区

online,TPS正常,0.51秒

online,TPS正常,0.47秒

--------------------------

具体测试详情: https://asktug.com/t/topic/1019469 查看pdf文档

-------------------------


标签:v7.5,1.1,Oceanbase,ddl,正常,TPS,online,0.51,offline
From: https://blog.51cto.com/tidb/8956435

相关文章

  • day20 企业级监控大盘配置管理-Prometheus Operator部署管理 (7.11.1-7.12)
    一、企业级监控大盘配置管理(上)1、Grafana简述Grafana是一个开源的度量分析与可视化工具。提供查询、可视化、报警和指标展示等功能,能灵活创建图表、仪表盘等可视化界面。主要功能:可视化:提供多种可选择的不同类型的图形,能够灵活绘制不同样式,且还提供很多插件。动态仪表......
  • 我写的蓝宝石留言本php版v7.5
    蓝宝石留言本php版v7.5蓝宝石留言本php版采用原生php,html5,css3,jquery编写,在php5.6.40~php8.x下调试通过。本留言本使用了utf-8编码。include/config1.php是数据库连接参数的配置文件,include/config2是留言板参数的配置文件,include/config1.php可以直接编辑或者在安装时修......
  • HTTP1.0、HTTP1.1、HTTP2.0的区别
    当谈到网络通信协议时,大家都熟悉的就是HTTP(HypertextTransferProtocol),它是一种用于在Web浏览器和服务器之间传输数据的协议。随着技术的发展,HTTP也在不断演进,从HTTP1.0发展到了HTTP2.0,带来了许多新的特性和改进。 一、如何通过浏览器查看当前的http版本:谷歌: 火狐:......
  • 记录 | 报错:libssl-dev : 依赖: libssl3 (= 3.0.8-1ubuntu1.1) 但是 3.0.8-1ubuntu1.2
    ubuntu上安装libssl-dev失败的报错解决报错:下列软件包有未满足的依赖关系:libssl-dev:依赖:libssl3(=3.0.8-1ubuntu1.1)但是3.0.8-1ubuntu1.2正要被安装E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。想当然,ubuntu下使用如下命令安......
  • 大二打卡(11.18)
    今天做了什么:三点一刻起床,眼珠子快炸了一样,困,只有一个字困,靠在墙根里面我都能睡着了,摄影师、化妆师啥玩意乱七八糟的全来了,拍素材,让我去找老爸老妈,让我去这儿,让我搬着个,好多事儿,好烦,好想睡觉,要不是这身衣服帅爆了我早昏死在床上了,我还有最重要的任务,堵门要红包。在姐夫他们来之前......
  • 大二打卡(11.17)
    今天做了什么:早上七点,昨天老姐说九点开席,我寻思我直接睡到八点,洗漱啥的半个小时,这不正好,结果炮仗声七点多就给我闹醒了,一堆不认识的亲戚开始上楼下楼,我躲在最深处的我的卧室根本不敢出去,谁也不认识,都不知道该怎么称呼,老爸老妈老姐都在忙,不躲着干嘛啊,过了会儿,八点多快九点了,表哥来......
  • 大二打卡(11.16)
    今天做了什么:今天的高铁票,老姐要结婚了,迫不及待穿上周一买的那身巨帅的大衣,但是大衣已经被表姐拿回去了,前几天看到老姨他们拍的视频,家门口已经大变样了,喜庆,红艳,但是距离我亲眼目睹这一切还剩四次课,uml,体育课,数据结构跟离散数学,uml今天开始上实验,每周都是,这周的只是让你下载个建模......
  • harbor1.1.2无损升级到最新版本harbor2.5.0
    目标将老版本的harbor1.1.2无损升级到最新版本harbor2.5.0,后面有条件可以随版本更新基础环境信息hostIP:192.168.56.35httpdocker-compose路径:/usr/src/harbordata路径:/data升级步骤下面是升级版本需要的安装包,同样也意味着版本升级步骤harbor-offline-installer......
  • Unity 3D定点数物理引擎实战系列1.1BEPUphysicsint 3D定点数物理引擎介绍
    1.1BEPUphysicsint3D定点数物理引擎介绍对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀帧同步的游戏中如果用物理引擎,为了保证不同设备上的结果一致,需要采用定点数来计算迭代游戏过程中的物理运算。也就是我们通常说的定点数物理引擎(确定性物理......
  • 大二快乐日记11.10
    MySQL提供了三种创建索引的方法:1)使用CREATEINDEX语句可以使用专门用于创建索引的CREATEINDEX语句在一个已有的表上创建索引,但该语句不能创建主键。语法格式:CREATE<索引名>ON<表名>(<列名>[<长度>][ASC|DESC])语法说明如下:<索引名>:指定索引名。一个表可以创建......