- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文分享自华为云社区《华为云GaussDB(for Influx)揭秘第八期:GaussDB(for Influx)与开源企业版性能对比》,作者:高斯Influx官方博客 。
“你们的数据库性能怎么样?”
“能不能满足我们的业务?”
“和其他数据库对比性能有优势么?”
…
客户在使用数据库时常有这样的担心和疑问。
本文从测试方案、测试工具、测试场景、测试结果等方面详细介绍了GaussDB(for Influx)和开源InfluxDB集群在X86架构下的性能测试情况。测试结果显示,GaussDB(for Influx)较企业版InfluxDB集群能提供更高的写入性能、更低的访问延迟以及更高的数据压缩率。
服务端配置
产品名称 | 规格 | 存储 | 架构 |
---|---|---|---|
GaussDB(for Influx) | 4U16G 2节点 | 100G | 集群架构 |
开源企业版InfluxDB | 4U16G 3节点 | 100G | 集群架构 |
测试工具为开源性能工具TS-benchMark。
本次测试采用风力发电数据模型,每个风场50个设备,每个设备50个传感器,1个风场1个线程,通过load数据的线程数来控制时间线的大小,通过收集时间的长短来控制数据量。
模型每条数据大小约为24字节,具体的类型如下:
Timestamp | farm | device |sensor | value
测试数据分为两个场景,大数据量和小数据量,具体数据量如下:
场景 | 时间线 | 数据量 |
---|---|---|
小数据量 | 5000 | 4亿 |
大数据量 | 250万 | GaussDB(for Influx) 150亿<br> 企业版InfluxDB 47亿 |
注:企业版InfluxDB在插入到47亿数据时OOM,以下性能对比都基于此数据量。
2.3.1 数据写入场景
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
在小数据量场景下,GaussDB(for Influx)的写入性能是企业版InfluxDB的13倍左右,在大数据量的场景下可以达到1.8倍左右。
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)查询性能在两种场景下比较稳定,在大数据量场景下低于开源版。
在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的进行,压缩率会进一步提升,当前数据对比是数据刚导入时的结果。
在GaussDB(for Influx)2节点对比开源版3节点场景下,GaussDB(for Influx)给客户带来了更高的写入能力、更稳定的查询能力、更高的压缩率。GaussDB(for Influx)写入能力在小数据量场景下是开源企业版的13倍,在大数据量场景下是开源企业版的1.8倍;查询能力在两种场景下表现稳定,在大部分查询场景下优于开源企业版;在压缩率方面,同样数据模型下,高出开源版本40%。
除了以上优势外,GaussDB(for Influx)还在集群化、冷热分级存储、高可用方面也做了深度优化,能更好地满足时序应用的各种场景。
本文作者:华为 云数据库创新Lab & 华为云时空数据库团队
更多技术文章,关注GaussDB(for Influx)官方博客:
高斯Influx官方博客的博客_云社区-华为云
Lab官网:云数据库创新Lab-主页-华为云
产品首页:时序数据库_GaussDB for Influx_数据库-华为云
欢迎加入我们!
云数据库创新Lab(成都、北京)简历投递邮箱:xiangyu9@huawei.com
华为云时空数据库团队(西安、深圳)简历投递邮箱:yujiandong@huawei.com
我一直在积极跟进 Blazor,现在我想从我的工作场所获取一个企业应用程序,并将其转换为 Blazor,并保持在企业的限制范围内。我有很多问题,但我会重点关注:在托管方面我应该从什么模型开始。 ASP
destoon实现首页显示供应、企业、资讯条数有多种方法,这里介绍的是直接调用php程序代码进行查询。destoon的模板里面是支持php的代码的,因此我们可以直接在模板里面查询出来即可。 实现代
我目前的任务是为软件开发创建一个文档化的、一致的架构指南。我们有很多聪明人在做正确的事情,但只是不一致和可重复。 我们使用 Microsoft 的应用程序架构指南 2.0 作为起点。因此,提出一个应用
我们正在使用 Zeek 以“连接日志”的形式从交换机收集网络流量。然后,连接日志通过 filebeat 存储在 Elasticsearch 索引中。每个连接日志都是一个包含以下字段的元组:(sourc
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足 Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以
我只是研究Corda enterprise,我在解压这个文件时下载了文件Corda enterprise3.zip,里面有很多文件jar。谁能帮我解释下corda enterprise的运行和使用方法
我的Apple开发者帐户中有一些有关InHouse App(企业)的预配配置文件。 如果删除那些配置文件,会有什么影响? 会影响已发布的应用程序吗? 删除它安全吗? 最佳答案 您可以删除它们: 已安装
我有一个要分发给公司员工的 iOS 应用程序。我知道为此我们需要考虑企业开发者帐户。我的疑问是我将如何分发构建。苹果是否提供企业商店?如果不是假设我通过 diawi.com 或类似的服务分发构建,将如
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
是否需要注册测试设备(UDID)?在标准程序中,每个用户设备 ID 都必须添加到开发程序中,并且构建必须使用包含 ID 列表的正确配置文件进行签名。它在企业程序中的样子如何。 最佳答案 在企业中,您不
我在 Sphinx 中已有两个数据源: source cities { ... sql_query = SELECT id, city_name, state_name, state_
我们的企业应用程序的生产 APNs 证书即将到期。 是否只是为我们的应用程序 ID 创建新的生产 APNs 证书并用我们的推送通知提供商替换即将过期的证书? 我是否需要重新捆绑和重新分发我们的企业应用
我有一个关于企业 Mac 应用程序分发的问题。我已经使用企业分发证书签署了我的 mac 应用程序,该证书有效期为 future 三年。 现在我的问题是,安装在 Mac 操作系统上的应用程序是否会在三年
我有一个只能在纽约使用的应用程序,它已经在试飞中发布。我可以将其切换到企业版吗? 最佳答案 没有“开关”,它们是两个完全不同的进程。您需要创建一个新的 Enterprise account ,创建企业
对于在供大量人员使用的大型程序中使用缓存,我还比较陌生。我知道什么是缓存以及为什么它总体上是有益的,并且我已经开始将 EHCache 集成到我使用 JSP 和 Spring MVC 的应用程序中。在我
我的应用程序 ID(MDM 应用程序)的企业 APNS 本周过期,不幸的是我没有注意到它。所以我提出了一个新请求,开始在 APP ID 中为 APNS 创建证书,然后完成请求。我可以在我的 App I
我的任务是切换框架并选择 EF 作为 ORM,但我一直在努力弄清楚如何做到这一点。我了解 N 层的基础知识,但在我们公司,我们支持 15 个以上的应用程序,我想了解我们是否应该为每个项目提供单独的 .
我正在设计一个 MySQL 数据库和一个相应的 RoR 应用程序,用于保存各种业务,每个业务都有一个地址。 此应用程序的要求是按城市/国家/地区搜索数据库(这将适用于整个欧洲/英国的企业)。搜索结果将
当使用“企业分发”选项为客户分发 iOS 应用程序时,该应用程序会下载并安装,但很快就会从主屏幕上消失。重新启动 iOS 设备后,它会重新出现。 最佳答案 在我的情况下,如果您在要保存 .ipa 文件
为了让您了解一些背景知识,我们有一个任何人都可以通过网络访问的软件应用程序。它是银行业和零售业的一个非常具体的应用程序。目前,此应用程序可在 Web 和“Windows 平板电脑信息亭”上访问,我们有
我是一名优秀的程序员,十分优秀!