You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

一、实验设置

IoTDB版本

  • v0.13.1

实验环境

  • FIT楼166.111.130.101 / 192.168.130.31
  • CPU:Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz,(6核12线程)
  • L1 cache 284KB, L2 cache 1536KB, L3 cache 12MB
  • 内存:16G
  • 硬盘:1.8T HDD /dev/sdb1 mounted on /disk
  • 操作系统:Ubuntu 16.04.7 LTS
  • 工作文件夹:/disk/rl/tsfileReadExp/

数据集

  • 中车数据:/disk/rl/zc_data
  • 人工数据:时间戳从1开始以步长1递增,值在[0,100)随机取整数

实验工具

RLTsFileReadCostBench用法

(1) 用人工数据写TsFile

java -jar RLTsFileReadCostBench-0.13.1-jar-with-dependencies.jar WRITE_SYN [pagePointNum] [numOfPagesInChunk] [chunksWritten] [timeEncoding] [valueDataType] [valueEncoding] [compressionType]
  • WRITE_SYN:用来标识是“写人工数据/写真实数据/读数据”中的“写人工数据”

  • pagePointNum(ppn):一个page内的点数

  • numOfPagesInChunk(pic):一个chunk内的pages数

  • chunksWritten(cw):写的chunks总数

  • timeEncoding(te):时间戳列编码方式

  • valueDataType(vt):值列数据类型

  • valueEncoding(ve):值列编码方式

  • compressionType(co):压缩方式

(2) 用真实数据集写TsFile

java -jar RLTsFileReadCostBench-0.13.1-jar-with-dependencies.jar WRITE_REAL [path_of_real_data_csv_to_write] [pagePointNum] [numOfPagesInChunk] [timeEncoding] [valueDataType] [valueEncoding] [compressionType]
  • WRITE_REAL:用来标识是“写人工数据/写真实数据/读数据”中的“写真实数据”

  • path_of_real_data_csv_to_write:用来写TsFile的真实数据集csv地址

  • pagePointNum(ppn):一个page内的点数

  • numOfPagesInChunk(pic):一个chunk内的pages数

  • timeEncoding(te):时间戳列编码方式

  • valueDataType(vt):值列数据类型

  • valueEncoding(ve):值列编码方式

  • compressionType(co):压缩方式

(3) 读实验

java -jar RLTsFileReadCostBench-0.13.1-jar-with-dependencies.jar READ [path_of_tsfile_to_read] [decomposeMeasureTime] [D_decompose_each_step] (timeEncoding)
  • WRITE_REAL:用来标识是“写人工数据/写真实数据/读数据”中的“读数据”

  • path_of_tsfile_to_read:要读取的TsFile地址

  • decomposeMeasureTimeFALSE to measure the read process as a whole, in which case D_decompose_each_step is useless. TRUE to measure the decomposed read process, and the decomposition granularity is controlled by D_decompose_each_step.

  • D_decompose_each_step:When decomposeMeasureTime is TRUE, D_decompose_each_step=FALSE to measure the "(D_1)decompress_pageData" and "(D_2)decode_pageData" steps without further deomposition, D_decompose_each_step=TRUE to break down these two steps further and measure substeps inside.

  • timeEncoding(te):If timeEncoding is not specified, TS_2DIFF will be used by default. timeEncoding should be the same with that used to write the TsFile.


控制参数decomposeMeasureTime=FALSEdecomposeMeasureTime=TRUE, D_decompose_each_step=FALSEdecomposeMeasureTime=TRUE, D_decompose_each_step=TRUE
测量最小单元步骤total_time(A)1_index_read_deserialize_MagicString_FileMetadataSize(us) (A)2_index_read_deserialize_IndexRootNode_MetaOffset_BloomFilter(us) (A)3_2_index_read_deserialize_IndexRootNode_exclude_to_TimeseriesMetadata_forExactGet(us) (B)4_data_read_deserialize_ChunkHeader(us) (B)5_data_read_ChunkData(us) (C)6_data_deserialize_PageHeader(us) (D-1)7_data_decompress_PageData(us) (D-2)8_data_decode_PageData(us)(A)1_index_read_deserialize_MagicString_FileMetadataSize(us) (A)2_index_read_deserialize_IndexRootNode_MetaOffset_BloomFilter(us) (A)3_2_index_read_deserialize_IndexRootNode_exclude_to_TimeseriesMetadata_forExactGet(us) (B)4_data_read_deserialize_ChunkHeader(us) (B)5_data_read_ChunkData(us) (C)6_data_deserialize_PageHeader(us) (D-1)7_1_data_ByteBuffer_to_ByteArray(us) (D-1)7_2_data_decompress_PageDataByteArray(us) (D-1)7_3_data_ByteArray_to_ByteBuffer(us) (D-1)7_4_data_split_time_value_Buffer(us) (D-2)8_1_createBatchData(us) (D-2)8_2_timeDecoder_hasNext(us) (D-2)8_3_timeDecoder_readLong(us) (D-2)8_4_valueDecoder_read(us) (D-2)8_5_checkValueSatisfyOrNot(us) (D-2)8_6_putIntoBatchData(us)




  • No labels