THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
boolean serializeStatistic = (chunkMetadataList.size() > 1); |
(3)chunk header中保存的header信息如下:(3)Timeseries metadata中保存的信息如下:
Code Block |
---|
byte markertimeSeriesMetadataType; String sensor_namemeasurementID; // can remove varInt chunkMetaDataListDataSize; |
chunk header中保存的header信息如下:
Code Block |
---|
byte marker;
varInt data_size;
byte datatype;
byte compressionType;
byte encoding type |
...
Code Block |
---|
varInt uncompressed_size; varInt compressed_size; |
观察可知两者的header并不冲突,合并并不能节省空间
观察可知三者的header并不冲突,合并并不能节省空间
综上所述,目前的tsfile对于单chunk单page已经做了元数据去冗余的优化,本设计没必要合并Page和Chunk,但Timeseries metadata中保存了一份额外的measurement ID信息,这个信息完全可以从Timeseries index tree中读到,所以可以删除综上所述,目前的tsfile对于单chunk单page已经做了元数据去冗余的优化,本设计没必要合并Page和Chunk
去除统计信息
实验
实验场景
模拟海量时间序列一次刷盘1%的数据量,即100万时间序列,其中有1万个设备,每个设备下有100个工况,每条时间序列写10个点,生成tsfile
...