tpcds performance compare between tidb and impala
作者: 华健 - 梦诚科技原文来源:https://tidb.net/blog/2c99b51f
缘起
我们公司是做 SAAS 的,具体的说是企业信息系统。
信息系统的特点,是数据量不算很大,但表特别多,并发很小,但查询逻辑非常复杂。
目前我们大概有几十亿条数据,3000 多张表,TP+AP 的并发不到 100。
三年多以前,我们刚创业,做数据库选型时,跟东旭聊过,考察过 TIDB。当时还没有 TiFlash,TIDB 的 AP 性能不够用,最后选了 hadoop 体系下的 impala+kudu 的方案。当时东旭跟我说,要做列存,做了列存 AP 就快了,超过 impala 那都不叫事。
impala+kudu 的方案没有多行事务支持,我们在业务层做了很糙的事务处理,勉强支撑到现在。但这不是长久之计,而且国产化也是趋势,所以我又再次考虑数据库选型的问题。
三年多了,东旭吹过的牛 B 圆上了没,我们拭目以待。
环境准备
OLTP 的性能,我不打算测,我们这点并发,哪怕是单机 mysql 都绰绰有余,所以只考察 OLAP 能力。
考察 OLAP,我们会从很多角度,大部分是跟我们业务相关的,没有通用性,所以不在此赘述。
在这里只对比标准数据集 tpcds 下的性能。
由于我们是小数据量的场景,所以只使用 50G 的数据进行测试。
更大数据量的测试,以我的经验来看,只要硬件不出现瓶颈,对比结果不会相差很大。
测试用到的数据和脚本:
https://github.com/huaj1101/tpcds-tidb-impala
测试使用的集群配置及部署情况:
tidb version:5.4
impala version:3.2 (版本较老,是目前我们在用版本)
| 节点配置 | 数量 | tidb 部署内容 | hadoop 部署内容 || —————— | – | —————————————- | ———– || 16c 64g 150G ssd 云盘 | 3 | pd * 3 tidb * 3 monitor * 1 | master * 3 || 16c 64g 500G ssd 云盘 | 3 | tikv * 3 tiflash * 3 | data * 3 |
测试结果
资源占用
tidb
impala
总结
TIDB 5.4 现在的 OLAP 性能已经跟上,综合性能比 impala 3.2 高 15% 左右,东旭吹过的牛 B 圆的很好。
TIDB 跑 OLAP 时的资源占用还有很大的优化空间,CPU 和网络 IO 比 impala 高一倍以上。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/3d68a1e4431a4189e507ea58f】。文章转载请联系作者。
评论