摘要:相比于企业版InfluxDB,GaussDB(for Influx)能为客户提供更高的写入能力、更稳定的查询能力、更高的数据压缩率,高效满足各大时序应用场景需求。

本文分享自华为云社区《华为云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

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

GaussDB(for Influx)与开源企业版性能对比的更多相关文章

  1. 相关 Excel 开源类库性能对比

    性能数据 · Excelize 中文文档https://xuri.me/excelize/zh-hans/performance.html Golang library for reading and ...

  2. 揭秘华为云GaussDB(for Influx)最佳实践:hint查询

    摘要:GaussDB(for Influx)通过提供hint功能,在单时间线的查询场景下,性能有大幅度的提升,能有效满足客户某些特定场景的查询需求. 本文分享自华为云社区<华为云GaussDB( ...

  3. 不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 环境搭建 测试用例 MSDN说明 ...

  4. iOS中保证线程安全的几种方式与性能对比

    来源:景铭巴巴 链接:http://www.jianshu.com/p/938d68ed832c 一.前言 前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized. ...

  5. 2017年的golang、python、php、c++、c、java、Nodejs性能对比(golang python php c++ java Nodejs Performance)

    2017年的golang.python.php.c++.c.java.Nodejs性能对比 本人在PHP/C++/Go/Py时,突发奇想,想把最近主流的编程语言性能作个简单的比较, 至于怎么比,还是不 ...

  6. Net Core下多种ORM框架特性及性能对比

    在.NET Framework下有许多ORM框架,最著名的无外乎是Entity Framework,它拥有悠久的历史以及便捷的语法,在占有率上一路领先.但随着Dapper的出现,它的地位受到了威胁,本 ...

  7. Ceph与Gluster之开源存储的对比

    一.Ceph与Gluster之开源存储的对比 一.Ceph与Gluster的原理对比 Ceph和Gluster是Red Hat旗下的成熟的开源存储产品,Ceph与Gluster在原理上有着本质上的不同 ...

  8. MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

  9. Elasticsearch的几种架构(ELK,EL,EF)性能对比测试报告

    Elasticsearch的几种架构性能对比测试报告 1.前言 选定了Elasticsearch作为存储的数据库,但是还需要对Elasticsearch的基础架构做一定测试,所以,将研究测试报告输出如 ...

  10. 两大主流开源分布式存储的对比:GlusterFS vs. Ceph

    两大主流开源分布式存储的对比:GlusterFS vs. Ceph 存储世界最近发生了很大变化.十年前,光纤通道SAN管理器是企业存储的绝对标准,但现在的存储必须足够敏捷,才能适应在新的基础架构即服务 ...

随机推荐

  1. 【scipy 基础】--聚类

    物以类聚,聚类算法使用最优化的算法来计算数据点之间的距离,并将它们分组到最近的簇中. Scipy的聚类模块中,进一步分为两个聚类子模块: vq(vector quantization):提供了一种基于 ...

  2. [vue]精宏技术部试用期学习笔记 I

    精宏技术部试用期学习笔记(vue) 什么是vue? 我个人对 vue 的理解 是把 html\css\js 三件套融合起来的结构,同时用组件化的思维把一个页面装填起来 同时让页面形成树状结构 优点是方 ...

  3. 25. 干货系列从零用Rust编写正反向代理,序列化之serde是如何工作的

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现 ...

  4. webgoat _v8.1全流程通关

    1.1 (A1)SQL Injection (intro) 概念 本课程介绍了什么是结构化查询语言(SQL),以及如何操纵它以执行开发人员原始意图之外的任务. 目标 用户将对SQL的工作原理和用途有基 ...

  5. 颠覆了!eShop跟随.Net 8迎来重磅升级,微服务架构与GPT的完美结合!

    .Net 8正式发布了,发布了诸多重大的新功能.新特性! .Net 8新增的功能带来诸多惊喜,还未一一体验完毕呢,我又发现了跟随.Net 8的发布,eShop也迎来重磅升级! eShop一直以来都是微 ...

  6. 机器人的运动范围(dfs)(leetcode 4.8 每日打卡)

    地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动到方格外),也不能进入行坐标和列 ...

  7. Cplex学术版申请及Python API环境配置

    当使用Cplex时弹出下面错误: CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at http ...

  8. Unicode编码解码

    一.Unicode概述 Unicode是一种字符编码标准,旨在解决不同字符集之间的兼容性问题.它为全球所有语言提供了一种统一的编码方式,使得各种字符能够在计算机系统中正确显示和处理.Unicode字符 ...

  9. [USACO2007FEBS] Cow Party S

    题目描述 寒假到了,\(n\) 头牛都要去参加一场在编号为 \(x\) 的牛的农场举行的派对,农场之间有 \(m\) 条有向路,每条路都有一定的长度. 每头牛参加完派对后都必须回家,无论是去参加派对还 ...

  10. 打造一个极度舒适的Chrome扩展项目开发环境

    大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. Chrome 扩展能够提高浏览器的使用体验,通过自定义 UI 界面,监听浏览器事件,改变 Web 页 ...