InfluxDB vs TimeScaleDB 功能/性能对比 (一)

本文对比了InfluxDB和TimeScaleDB的功能和性能。功能方面,TimeScaleDB在PostgreSQL基础上提供了更多灵活性,而InfluxDB专注于时序数据,不支持数据修改。在性能测试中,InfluxDB在数据写入速度上表现出约两倍于TimeScaleDB的优势,且存储空间占用更少。然而,数据读取性能的比较还未完成。
摘要由CSDN通过智能技术生成

本篇主要对InfluxDB和TimeScaleDB进行功能和性能对比。

目录

目的及最终结论

对比InfluxDB与TimeScaleDB的功能

对比InfluxDB与TimeScaleDB数据写入性能

对比InfluxDB与TimeScaleDB数据存储空间占用

对比InfluxDB与TimeScaleDB数据读取性能

功能对比

性能对比

测试环境

测试机

TimeScaleDB配置

InfluxDB配置

测试方式

测试数据

测试结果

数据写入性能

存储空间占用

数据读取性能


 

目的及最终结论

对比InfluxDB与TimeScaleDB的功能

结论:TimeScaleDB的功能更加完善。

对比InfluxDB与TimeScaleDB数据写入性能

结论:InfluxDB的写入性能约为TimeScaleDB的两倍

使用相同的表结构,不做任何表结构层面的优化,在同一台机器进行测试,InfluxDB的写入性能约为TimeScaleDB的两倍

对比InfluxDB与TimeScaleDB数据存储空间占用

结论:InfluxDB的存储空间占用不到TimeScaleDB的50%

使用相同的表结构,不做任何表结构层面的优化,在同一台机器进行测试,InfluxDB的存储空间占用不到TimeScaleDB的50%

对比InfluxDB与TimeScaleDB数据读取性能

暂未完成

功能对比

TimeScaleDB的功能更完善。TimeScaleDB作为PostgreSQL的扩展,只是在数据存储上利用PostgreSQL的特性做了一些优化,PostgreSQL支持的功能,TimeScaleDB全部支持。而InfluxDB是分析型时序数据库,舍弃了很多交易型数据库必须支持的功能。

增删改:InfluxDB不支持对数据的修改,InfluxDB只支持按tag或时间戳删除。TimeScaleDB都支持。

索引:InfluxDB时间戳和tags带索引,不支持自定义索引。TimeScaleDB更加灵活,可自定义索引

约束:InfluxDB不支持,TimeScaleDB支持

聚合函数:常用的聚合函数两种数据库都支持,TimeScaleDB的函数覆盖面更广一些。

 

性能对比

测试环境

测试机

centos虚拟机

cpu: AMD Ryzen 5 1600 Six-Core(4线程)

内存:8G

磁盘:机械硬盘

TimeScaleDB配置

版本:PostgreSQL 10.4+TimeScaleDB 0.10

shared_buffers = 2g (推荐设置为机器内存的1/4,默认值为1g)

wal_buffers = 64m (推荐设置为shared_buffers的1/32,默认值为16m)

wal_writer_delay = 800ms(默认值200ms)

除上述修改之外均使用默认配置

 

InfluxDB配置

版本:1.6.0

cache-max-memory-size = "2g" (默认值为1g)

cache-snapshot-memory-size = "100m"(默认值为25m)

[http] log-enabled = false

wal与data目录指定不同磁盘

除上述修改之外均使用默认配置

 

测试方式

使用JAVA代码编写InfluxDB和TimeScaleDB的写入程序,在本地运行测试程序读写服务器的数据库,写入时batchsize为5000,读取数据时全表扫描读取

batchsize取用5000的原因是:使用上述表结构测试,TimeScaleDB和 Inf

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值