写点什么

GaussDB(for Influx) 与开源企业版性能对比

  • 2022 年 5 月 11 日
  • 本文字数:2101 字

    阅读完需:约 7 分钟

本文分享自华为云社区《华为云GaussDB(for Influx)揭秘第八期:GaussDB(for Influx)与开源企业版性能对比》,作者:高斯 Influx 官方博客 。


“你们的数据库性能怎么样?”

“能不能满足我们的业务?”

“和其他数据库对比性能有优势么?”

客户在使用数据库时常有这样的担心和疑问。


本文从测试方案、测试工具、测试场景、测试结果等方面详细介绍了 GaussDB(for Influx)和开源 InfluxDB 集群在 X86 架构下的性能测试情况。测试结果显示,GaussDB(for Influx)较企业版 InfluxDB 集群能提供更高的写入性能、更低的访问延迟以及更高的数据压缩率。

1. 测试方案

1.1 资源配置

服务端配置

1.2 测试工具

测试工具为开源性能工具 TS-benchMark。

2. 测试设计

2.1 测试模型

本次测试采用风力发电数据模型,每个风场 50 个设备,每个设备 50 个传感器,1 个风场 1 个线程,通过 load 数据的线程数来控制时间线的大小,通过收集时间的长短来控制数据量。


模型每条数据大小约为 24 字节,具体的类型如下:

Timestamp | farm | device |sensor | value

2.2 测试数据量

测试数据分为两个场景,大数据量和小数据量,具体数据量如下:


注:企业版 InfluxDB 在插入到 47 亿数据时 OOM,以下性能对比都基于此数据量。

2.3 测试场景

2.3.1 数据写入场景

  • batch_size(每个批次写入的数据量) 固定为 50,线程数分别从 1、2、4、8、16、32、64、128、256、512 递增;

  • 线程数(客户端并发请求的连接数)固定为 8, batch_size 分别从 50、100、150、200、250、300 递增。

2.3.2 数据查询场景

单线程进行不同语句的查询,并统计其时延信息。

第一类查询: 所有 TAG 查询

select * from sensor where f='f1' and d='d2' and s='s1' and time>=1514768400000000000 and time<=1514772000000000000
复制代码

第二类查询: TAG + VALUE 查询

select * from sensor where f='f1' and s='d2' and value>=3.0 and time>=1514768400000000000 and time<1514854800000000000
复制代码

第三类查询: 聚合查询

select mean(value) from sensor where f='f1' and s='s1' and time>=1514768400000000000 and time<=1514854800000000000 group by f,d,s,time(1h)
复制代码

第四类查询: 或条件查询

select * from sensor where f='f1' and (s='s1' or s='s2' or s='s3' or s='s4' or s='s5') and time>=1514768400000000000 and time<=1514769150000000000
复制代码

第五类查询: 单个 TAG 查询

select * from sensor where f='f1' and time>=1514768400000000000 and time<=1514769150000000000
复制代码

3. 测试结果分析

3.1 写入吞性能比对

在小数据量场景下,GaussDB(for Influx)的写入性能是企业版 InfluxDB 的 13 倍左右,在大数据量的场景下可以达到 1.8 倍左右。



3.2 查询性能对比

1)第一类查询(所有 TAG 查询):无论是大数据量还是小数据量场景下,GaussDB(for Influx)的吞吐量是开源 InfluxDB 企业版的 2 倍左右。



2)第二类查询(TAG + VALUE 查询):在小数据量场景下,开源 InfluxDB 企业版性能高于 GaussDB(for Influx),GaussDB(for Influx)在大数据量和小数据量场景下性能基本持平。



3)第三类查询(聚合查询):GaussDB(for Influx)查询性能明显优于开源 InfluxDB 企业版,在小数据量场景下是开源版本的 14 倍,大数据量下也是开源版本的 8 倍左右。



4)第四类查询(或条件查询):GaussDB(for Influx)查询性能在两种场景下比较稳定,开源企业版 InfluxDB 在两种场景下差异较大;GaussDB(for Influx)在小数据量场景下表现优于开源版,在大数据量场景下低于开源版。



5)第五类查询(单个 TAG 查询):GaussDB(for Influx)查询性能在两种场景下比较稳定,在大数据量场景下低于开源版。



3.3 数据压缩率对比

在 250 万时间线场景下,GaussDB(for Influx)导入了 151 亿条数据,导入前数据大小为 337.5G,导入后为 49.8G,压缩率为 6.8;开源企业版导入了 47 亿条数据,导入前 105G,导入后 21.3G,压缩率为 4.9。GaussDB(for Influx)压缩率是开源企业版的 1.4 倍左右。


Influx 引擎采用 LSM tree 架构,随着后台 compaction 的进行,压缩率会进一步提升,当前数据对比是数据刚导入时的结果。

4. 总结

在 GaussDB(for Influx)2 节点对比开源版 3 节点场景下,GaussDB(for Influx)给客户带来了更高的写入能力、更稳定的查询能力、更高的压缩率。GaussDB(for Influx)写入能力在小数据量场景下是开源企业版的 13 倍,在大数据量场景下是开源企业版的 1.8 倍;查询能力在两种场景下表现稳定,在大部分查询场景下优于开源企业版;在压缩率方面,同样数据模型下,高出开源版本 40%。除了以上优势外,GaussDB(for Influx)还在集群化、冷热分级存储、高可用方面也做了深度优化,能更好地满足时序应用的各种场景。

5. 结束

本文作者:华为 云数据库创新 Lab & 华为云时空数据库团队

更多技术文章,关注 GaussDB(for Influx)官方博客https://bbs.huaweicloud.com/community/usersnew/id_1586596796288328

Lab 官网https://www.huaweicloud.com/lab/clouddb/home.html

产品首页https://www.huaweicloud.com/product/gaussdbforinflux.html

欢迎加入我们!云数据库创新 Lab(成都、北京)简历投递邮箱:xiangyu9@huawei.com 华为云时空数据库团队(西安、深圳)简历投递邮箱:yujiandong@huawei.com


点击关注,第一时间了解华为云新鲜技术~​

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
GaussDB(for Influx)与开源企业版性能对比_数据库_华为云开发者社区_InfoQ写作社区