首页 > 编程知识 正文

WS8211时序,图数据库和时序数据库的区别

时间:2023-05-05 12:48:17 阅读:174029 作者:286

30秒执行摘要:

MatrixDB在中小型和大型场景中优于其他时间序列数据库,在许多场景中具有数十倍的性能优势

MatrixDB支持ACID,可确保数据不会丢失。 InfluxDB、TDengine不能保证数据是否好,是否不会丢失

MatrixDB在各种规模的数据写入中占用较少的内存,非常稳定;InfluxDB占用较多的内存; TDengine消耗的内存最多

MatrixDB支持冷热分级保存

背景物联网和实时数仓场景下,数据的快速写入能力至关重要,直接影响产品方案的可用性、可靠性和可扩展性。 例如,以物联网为例,面对千万甚至上亿个设备,每台设备平均收集几十到几百个指标,每秒产生的数据就达到几十亿到几百亿。 能否及时可靠地插入这种量级的数据,是评价物联网数据库的核心因素和首要需要。 据统计,时序数据具有泛读少读的特点,其中95 %~99 %以上是数据写入操作,从这个意义上讲,再怎么重视数据写入能力也不过分。

为了满足这种高吞吐量数据写入的需要,一些产品采用无事务或弱事务的方式来提高写入速度。 这将导致错误数据、重复数据或数据丢失。 通过MatrixGate组件,MatrixDB在保证严格的事务一致性(ACID )的前提下,支持高吞吐量数据高速写入。 同时,产品具有良好的线性可扩展性,通过增加节点,线性提高系统写入速度,满足电信、工业互联网、智能家居、智慧城市等各种物联网场景的数据写入需求

此博客详细介绍了在同一环境中MatrixDB、InfluxDB和TDengine这三种产品的写入功能,以帮助选定用户。 本文以行/秒测量了数据写入能力。 有些文章使用的是每秒数据点。 这两种方法可以互换。 例如,如果一个表包含时间列、设备ID列和五个指标列,则插入一行数据意味着插入五个据点;如果每秒插入1000行,则写入能力意味着每秒插入5000个据点。

测试结论

根据用户的使用场景,定义了三种不同的测试用例:小、中、大。 具体特点如下。

对于每个测试用例,分别采用3种产品推荐的快速加载方式获取最高值,测试结果如下。 其中,选择小规模100万设备1列指标数据、大中型10万设备400列指标数据、大规模100万设备800列指标数据。

MatrixDB与这两种产品的加载速度之比分别为:

综上,在三种场景下,加载性能从高到低分别是:

33558 www.Sina.com/tdengineinfluxdb

有趣的是,三种产品的事务支持不同。 单节点和群集多节点都支持完全严格的事务,包括原子(a )、一致性(c )、独立性(I )和持久性(d )。InfluxDB和TDengine支持tote 测试还注意到不同产品的内存消耗不同,MatrixDB内存消耗小而平稳,InfluxDB内存消耗多,TDenginie内存消耗最多,与设备数量呈正相关。 例如,500万设备的内存消耗超过80G。

MatrixDBMatrixDB、InfluxDB和TDengine均采用独立部署。 机器的构成如下。

测试环境和产品信息

01机器配置

02软件版本

03参数调整数据由tsbs_generate_data工具生成。 tsbs_generate_data是开源时间序列数据评估标准tsbs中的数据生成工具。 MatrixDB团队扩展了此工具以支持大型设备场景,并在参数--use-case='massiveiot '中使用。

数据生成

下载该工具。

tsbs_generate_data 命令常用参数说明如下:

详细的数据生成方法和命令,请参考文末链接:时序数据库加载性能测试过程

01 小规模文件大小  

02 中等规模文件大小

03 大规模文件大小 

如果全量生成的话,估算数据容量如下:

由于InfluxDB/TDEngine在列数超过100列时较慢,为避免写入时间过长,测试中采取限定时间范围方法:

限定时间范围后,实际数据大小如下:

数据写入

每种产品使用的写入方式如下:

01 小规模数据写入对比

值越大代表写入性能越好

MatrixDB与InfluxDB写入速度对比

MatrixDB写入速度最高是InfluxDB的11.6倍!

MatrixDBTDengine写入度对比

MatrixDB写入速度最高是TDengine的2倍!

02 中等规模数据写入性能数据

值越大代表写入性能越好

MatrixDB与InfluxDB写入速度对比

MatrixDB 写入速度最高是InfluxDB的73.8倍

备注

如果InfluxDB全量写入,按400列的2268.06行每秒的写入速度计算,14.4亿行,需要费时1058分钟,而MatrixDB 只需要14分钟,相比之下InfluxDB写入速度太慢。故InfluxDB 10列、50列,只写入1千万行,InfluxDB 100列,只写入100万行,400列,只写入10万行。

MatrixDB与TDengine写入速度对比

MatrixDB的写入速度最高是TDengine的28.6倍!

备注

按TDengine 100列全量写入需要262分钟计算,400列估算需要1050分钟。而MatrixDB 最快仅需要14分钟。10万设备数400列,相比之下写入速度太慢、费时太久,故设置1000个设备,然后推导出10万设备所需时间。

                                     

03 大规模数据写入性能数据

值越大代表写入性能越好

MatrixDB与InfluxDB写入对比

MatrixDB写入csv的速度最高是InfluxDB的84.8倍!

备注

如果InfluxDB全量写入,按10万设备量400列2268.06行每秒的写入速度计算,14.4亿行,需要费时1058分钟,100万设备量估算需要花费10580分钟,耗时太久。为避免InfluxDB写入费时太长,InfluxDB 100万设备数、100列和200列,只写入100万行,400、800列只写入10万行,然后同比推导出结果数据。

MatrixDB与TDengine写入速度对比

MatrixDB的写入速度最高是TDengine的38.7倍!

备注

TDengine按10万设备数、100列全量写入需要262分钟计算,400列估算需要1050分钟,而MatrixDB 400列最快仅需要14分钟,100万设备数,相比之下写入速度太慢、避免写入费时太久,故TDengine 100、200、400、800列,设置的是1000个设备,然后同比推导出结果数据。

附 录

时序数据库加载性能测试过程:https://ymatrix.cn/blog/load-test-steps

数据生成及加载工具下载链接:https://pan.baidu.com/s/1BFYcQR3DzqVLiy8ymXu9eg(提取码:8cba)

MatrixGate原理介绍:https://ymatrix.cn/doc/reference/mxgate.html

欲了解更多超融合时序数据库相关信息,烦请访问yMatrix官方网站:https://www.ymatrix.cn

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。