400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
快速上手
SQL参考
工具指南
数据库是存储数据的地方,完成数据表建模和存储选型,下面就要向表写入数据。 数据写入面临如下挑战:
时序数据最大的特点就是数据量大,反应到实际场景中包括3个方面:
综上,在庞大的设备数量、采集指标又高频的采集密度下,产生的数据量巨大,对数据库的吞吐量是个极大的挑战。 MatrixDB开发了MatrixGate高速写入工具,通过segment节点并行接入数据的实现方式,可以达到5000万数据点/秒的写入速度。
实现方式,请参考MatrixDB - MatrixDB如何实现单机5000万数据点/秒写入速度
评测报告,请参考MatrixDB - 时序数据库插入性能评测:MatrixDB是InfluxDB的78倍
在实际场景中,数据写入面临的问题不仅仅是数据量大、来源形式多样化,还包括一些复杂的异常情况,如:
在某些场景中,设备在某个时刻的采集指标不会一次性的全部发送回来,而是分批次回传。多次回传的数据需要合并到一起,而不是分多条记录存放。
对于这种场景,MatrixDB提供了UPSERT语义,基于唯一约束做数据的合并。具体使用方法请参考:MatrixDB - MatrixDB 4.2新特性解读之UPSERT
乱序、延迟上报同样是通过upsert支持。
所谓的异频上报,是指设备的不同指标分别按照不同的频率来采集,比如,有的是1s采集一次,有的是2s采集一次。如下图所示:
异频上报会导致在存储数据的时候,对于低频采集的指标值中会存在大量NULL。只要存在NULL列,则在MatrixDB存储中也会占用存储空间,对于Heap表,存储开销为[列数/8]字节;对于Mars表,存储开销为[RowGroup行数/8]字节。所以要根据NULL的情况综合考虑解决方案。