TDengine 压缩性能实际测试(对比 DolphinDB )

这篇具有很好参考价值的文章主要介绍了TDengine 压缩性能实际测试(对比 DolphinDB )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公司项目需要,对两个国产时序数据库 TDengine 与 DolphinDB 做了压缩比测试。

测试数据来源于 TDengine 官方的性能测试工具 Benchmark。

先上结果:DolphinDB 压缩比优于 TDengine 1.65 倍

TDengine

TDengine 是一款开源、云原生的时序数据库(Time Series Database),专为物联网、工业互联网、金融、IT 运维监控等场景设计并优化。它能对大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据进行高效实时的处理;对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。

DolphinDB

DolphinDB 是由浙江智臾科技有限公司研发的一款高性能分布式时序数据库,DB-Engines 时序库排行榜top 10。用户可在同一个系统内使用简洁高效的脚本语言快速开发大数据应用。适用于工业物联网及量化金融等领域。

测试环境:

Ubuntu20.04,内存32G,CPU i7x2.9 16核,硬盘256G SSD

TDengine社区版:3.0.1.4

DolphinDB社区版:2.00.8

部署方式:单服务器单节点

客户端:TDengine 使用命令行;DolphinDB 使用 v1.30.20.1 GUI 客户端

 整个测试都是在相同环境下进行,TDengine 在测试中开启最大程度压缩的二级压缩。两个产品部署在同一台 Linux 服务器上,用了同一组数据记录集。

数据记录集:

使用 TDengine 的 taosBenchmark 命令产生记录集,包含1张超级表meters,1w张普通表,总共1亿条数据,保存在test数据库中。

meters表详情:

字段名

ts

current

voltage

phase

groupid

location

字段类型

TIMESTAMP

FLOAT

INT

FLOAT

INT

BINARY(64)

数据

样例

2017-07-14 10:40:00.000

9.80000

113

0.30278

4

California.Cupertino

TDengine 压缩性能实际测试(对比 DolphinDB )

测试结果:

项目

原始数据data.csv(M)

DolphinDB(M)

TDengine(M)

性能比DolphinDB/TDengine

Δ(M)

磁盘空间占用

6,656

294

486

1.65倍

192

结果表明:

(1)TDengine 为了实现性能的超常发挥,采用了大量的非常规(重复、排序)数据进行 Benchmark 测试。

(2)DolphinDB 对重复标签及排序数据的处理优于 TDengine 。

测试过程

linux 执行生成记录集,包含1亿条数据。TDengine 磁盘空间占用486m。

1taosBenchmark

导出数据:

1taos> select * from test.meters >> ~/tdengine/data.csv;

data.csv 数据大小为6.5G,TDengine 压缩比约为13.7。

data.csv 导入 DolphinDB:

1login("admin","123456") 2schema = table(1000:0,`ts`current`voltage`phase`location`groupId , `TIMESTAMP`DOUBLE`INT`DOUBLE`SYMBOL`SYMBOL) 3t = loadText('/home/yjfeng/tdengine/data.csv', , schema) 4db_date=database(,VALUE,[datetime(2022.01.01)]) 5db_hash=database(,HASH,[SYMBOL,5]) 6db=database("dfs://test",COMPO,[db_date,db_hash],compressMethods={ts:"delta", voltage:"delta"},`TSDB) 7pt=createPartitionedTable(db,t,`meters,`ts`location,,`location`ts) 8pt.append!(t) 9

DolphinDB 磁盘空间占用:294M。

1select sum(diskUsage)/1024/1024+"m" from pnodeRun(getTabletsMeta{chunkPath="/test/%",tableName="meters",diskUsage=true,top=0})

DolphinDB 压缩比约为22.6。

项目

DolphinDB

TDengine

性能比

Δ

压缩比

22.6

13.7

1.65倍

8.9

结果分析

1、为啥dolphindb压缩比高于tdengine

我猜测主要原因是 DolphinDB 使用了 SYMBOL 数据类型?

研究了下文档里对SYMBOL的介绍

TDengine 压缩性能实际测试(对比 DolphinDB )

 TDEngine 没有类似的数据类型,字符串类型必须事先制定最大长度。TDengine 磁盘空间占用包括时序数据以及库、表相关的元数据、标签数据等。采用超级表+子表的方式存储,标签数据单独存储可以提高压缩比,但是相比 DolphinDB 的 SYMBOL 类型并不占优。

2、压缩算法不一样

TDEngine默认采用二阶段的压缩算法,即在初次压缩的基础上,采用通用的压缩算法再次压缩,这提高了 TDEngine 的压缩率,牺牲了一定的计算资源。

DolphinDB 采用的默认压缩算法是LZ4,LZ4算法并不追求压缩率,其主要优势在于压缩与解压的效率高(压缩特别是解压非常快)对于 CPU 占用少。

目前市面上主流的压缩算法都是公开的,各家产品所采用的压缩算法之间并没有太大差距。压缩算法的选择,更多是根据产品定位不同而作出的取舍。压缩和解压本身是需要消耗资源的,并不存在对所有数据都表现优异的压缩算法。

数据的重复率、数据的排序等特征对于压缩比的影响非常大。对同个压缩算法来说,重复率高、排序的数据可拥有更高压缩比。

注:本文所讨论的压缩均为无损压缩,即在不损失数据精度的情况下,通过压缩算法减少数据的磁盘空间占用。有损压缩不在讨论范围之内,有损压缩可以通过算法或者是降采样的方式实现。比如,用年平均气温1个值来代替全年的365条记录,本质上也是一种有损压缩,而且压缩率达到 365 : 1,显然这样的压缩比在某些情况下是没有意义的。文章来源地址https://www.toymoban.com/news/detail-449466.html

到了这里,关于TDengine 压缩性能实际测试(对比 DolphinDB )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 31.Python从入门到精通—Python数据压缩 性能度量 测试模块

    🏘️🏘️个人主页:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。 💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。 🐘 希望大家能持续支持

    2024年04月14日
    浏览(32)
  • CYQ.Data 操作 Redis 性能测试:对比 StackExchange.Redis

    前几天,点开自己的博客,看了一下 CYQ.Data V5系列 都有哪些文章, 发现了一篇2019年写的:CYQ.Data 对于分布式缓存Redis、MemCache高可用的改进及性能测试,于是点进去看了看。 感觉文章中有些表述存有问题,不过不是重点。 重点,看了里面的测试结论,如果四五年过去了,

    2024年03月13日
    浏览(48)
  • CYQ.Data 操作 Json 性能测试:对比 Newtonsoft.Json

    在 CYQ.Data 版本更新的这么多年,中间过程的版本都在完善各种功能。 基于需要支持或兼容的代码越多,很多时候,常规思维,都把相关功能完成,就结束了。 实现过程中,无法避免的会用到大量的反射、锁等对性能有所影响的逻辑代码。 CYQ.Data 从V5.9 版本开始,开始大规

    2024年03月18日
    浏览(54)
  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(85)
  • 与 TDengine 性能直接相关——3.0 的落盘机制优化及使用原则

    许多用户会有一个疑问,“落盘”俩字听起来就很底层,似乎无法和手头的性能问题联系到一起,本篇文章的目的就是让大家对它们俩建立起直观的认识。 写到数据库的数据总要保存起来——所以时序数据库(Time Series Database) TDengine 中经常提到的“落盘”,其实指的是内存

    2024年02月12日
    浏览(40)
  • TDengine压力测试之RESTful

    生产系统上线前都会进行压力测试,能承受多少并发,在大并发下性能如何,都是上线前必须要了解的。 TDengine 作为时序数据库(Time Series Database),提供了 RESTFul 接口,可以使用 HTTP 协议进行操作。这个接口在生产环境中性能如何,是否能够满足高并发要求,都需要压测后才

    2024年02月07日
    浏览(29)
  • 五种多目标优化算法(MOAHA、MOGWO、NSWOA、MOPSO、NSGA2)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

    1.1MOAHA 1.2MOGWO 1.3NSWOA 1.4MOPSO 1.5NSGA2 为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3),其中Viennet2 与Viennet3的目标数为3,其余测试函数的目标数为2,并采用6种评价指标(IGD、GD、HV、Coverage、Spread、Spacing)进

    2024年02月21日
    浏览(54)
  • 五种多目标优化算法(MOJS、MOGWO、NSWOA、MOPSO、NSGA2)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

    1.1MOJS 1.2MOGWO 1.3NSWOA 1.4MOPSO 1.5NSGA2 为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3),其中Viennet2 与Viennet3的目标为3,其余测试函数的目标为2,并采用6种评价指标(IGD、GD、HV、Coverage、Spread、Spacing)进行评

    2024年02月21日
    浏览(48)
  • hive存储压缩格式对比说明

    文本压缩(Text Compression): 压缩算法:Gzip、Snappy、LZO等。 特点:压缩率高,但读写性能相对较低。适合非常大的文本文件。 适用场景:需要节省存储空间,但同时需要保持数据的可读性。 序列化文件格式(SequenceFile): 压缩算法:Gzip、Snappy、LZO等。 特点:支持压缩,可

    2024年02月12日
    浏览(62)
  • 【视频编解码】M-JPEG压缩、H.264压缩 对比

    参考这篇文章:https://blog.csdn.net/qq_41248872/article/details/83590337 写的比较好,这里就不赘述了。 我们在视频传输的时候,需要压缩,常见的压缩包括: jpeg 压缩 h264 压缩 当然使用最多的还是 264, 毕竟他的压缩比高嘛。对于一些实时的场景比较有优势,但是这玩意还是得分不同的

    2024年02月22日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包