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

TiFlash5.0.1与4.0.10 对比测试

PingCAP 2023-06-27
133

作者: 刘春雷

1、汇总

1.1、前言

因之前对比测试过DorisDB、ClickHouse、TiDB/TiFlash 4.0.10 版本的星型模型测试集,最近TiDB 5.0.1发布,引入MPP,官方表明:在分析查询上比4.0.x 会有质的提升,现进行测试。

1.2、测试结果

单表执行:

  • 5.0.1 单表查询,执行计划默认走TiKV,依然存在执行计划无法完美走TiFlash情况,强制走TiFlash比自动选择的TiKV快
    • 4.0.10 单实例 强制 比 4.0.10 单实例 默认 快:73.65%
    • 5.0.1 单实例 强制 比 4.0.10 单实例 默认 快:66.42%
  • 5.0.1 单表查询,强制TiFlash,两实例比单实例快的不多,比4.0.10 单实例 强制TiFlash 快:17.62%

多表关联执行:

  • 4.0.10 单实例 强制 比 4.0.10 单实例 默认 慢:11.38%
  • 5.0.1 单实例 强制 比 5.0.1 单实例 默认 快:97.57%
  • 5.0.1 单实例 默认 比 4.0.10 单实例 默认 快:80.60%
  • 5.0.1 单实例 强制 比 4.0.10 单实例 强制 快:98.36%
  • 5.0.1 两实例 强制 比 5.0.1 两实例 默认 快:56%

总结:

  • 提升:
    • 5.0.1 TiFlash整体性能有提升:单表查询 比4.0.10 快的不明显,多表关联查询,快的很多!
    • 5.0.1 TiFlash 默认执行计划 比 4.0.10 有提升
    • 与DorisDB、ClickHouse的性能差距 比4.0.10 提升 明显,尤其多表关联查询相差小很多
  • 问题:
    • 还是存在执行计划有一定的不准确,导致SQL执行时间不是最优

TiFlash 5.0.1 在性能上,比4.0.10 好很多,且在稳定性上也有提升,推荐大家及时升级,及时用起来~

注:DorisDB、ClickHouse测试数据,为引用之前的测试结果,可以参考之前的文章

【单表执行情况】:

【多表关联执行情况对比】:

2、准备工作

2.1、机器信息

img

2.2、添加表至Tiflash

alter table lineorder SET TIFLASH REPLICA 1;

alter table customer SET TIFLASH REPLICA 1;

alter table dates SET TIFLASH REPLICA 1;

alter table part SET TIFLASH REPLICA 1;

alter table supplier SET TIFLASH REPLICA 1;

alter table lineorder_flat SET TIFLASH REPLICA 1;

img

2.3、测试流程

已有集群5.0.1 -->导入数据 -->添加1个TiFlash–> 把表加入到TiFlash -->进行单表查询、多表查询、走默认tidb_isolation_read_engines 与 强制走TiFlash 进行对比

扩容至2个TiFlash 节点 -->等待均衡数据 --> 再次进行测试

【等待均衡】:

img

3、单表测试

参考文档执行SQL,地址: https://www.dorisdb.com/zh-CN/blog/1.8

【举例:5.0.1 单表查询,默认】

可以看到执行计划默认走tikv

强制走TiFlash

set SESSION tidb_isolation_read_engines = “tiflash”;

4、多表关联查询测试

参考文档执行SQL

【举例:5.0.1 多表查询,默认】:

可以看到执行计划默认走tikv、tiflash 组合的

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论