通过充分利用时序大数据的特点,TDengine团队设计了一新颖的存储引擎,将数据的写入和查询速度大幅提升,同时数据压缩率也是大幅提高。与通用数据库相比,性能好至少十倍以上,存储空间不到1/5,与其他时序数据库相比,性能也是远超。与流行的时序数据库InfluxDB相比,完全采用InfluxDB自身提供的测试框架、数据集和测试场景(https://www.influxdata.com/blog/influxdb-outperforms-graphite-in-time-series-data-metrics-benchmark/),写入速度至少是2倍以上,在设备数量超过1000以后,写入速度是5.2倍。对于查询场景,极个别的与InfluxDB速度持平,绝大部分都是几倍的速度,有的甚至高达40倍。数据压缩上,两者都不错,但TDengine更好,存储空间不到InfluxDB的70%。
图一是写入所有数据所耗时间的测试结果。很明显的看出,在InfluxDB发布的自己最优的条件下,随着设备数量的增加,TDengine的优势越来越大,当设备数达到1000时,InfluxDB所消耗的时间是TDengine的5.2倍。与InfluxDB完整的写入对比测试,包括详细步骤和结果,请看“ TDengine VS InfluxDB,写入性能大PK!”
图二是获取部分设备全量数据所耗时间的测试结果。可以看出,当读取16个设备数据全量数据时,InfluxDB所消耗的时间是TDengine的8.78倍,当读取128个设备的全量数据时,InfluxDB所消耗的时间是TDengine的9.37倍。而且当读取的设备数量为256时,InfluxDB完全卡住,无法完成测试。与InfluxDB完整的查询对比测试,包括详细步骤和结果,请看“TDengine和InfluxDB查询性能对比测试报告”
我们完全可以将设备数量增大到十万、一百万甚至一千万,而且可以把时间跨度大幅增加,但实在由于InfluxDB太慢,我们没有耐心去做更多的测试。欢迎大家用我们提供的完整步骤,调整测试参数,自己运行测试得出结论。
与其他数据库MongoDB, ClickHouse, OpenTSDB等的对比测试报告, 请下载“TDengine与其他数据库对比测试的完整报告”都是时序数据库,为什么TDengine能如此出众?是由于TDengine采用了独特的存储结构,而不是照搬通用的KV存储或LSM存储引擎。它充分的利用时序数据的特点而做各种优化,创新的提出了包括“一个数据采集点一张表”与“超级表”的设计,详细请看 TDengine 架构设计。
Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2 联系我们