| 字节数(bytes) | 原字节 (V2) | 含义 (Meaning) | 改动 |
---|
改动后字节(V3 difference) |
---|
MAGIC_STRING | 6 | 5473 4669 6c65 | TsFile |
5473 4669 6c65 |
|
VERSION_NUMBER | 6 | 3030 3030 3032 |
版本号000002 | 版本号改成000003 | 3030 3030 3033 | version: 000002 | version: 000003 |
Chunk Header | 1 |
Chunk Header放入Chunk Header中,改名为chunk type,若为04则表示chunk内只有一个page,不包含statistics | Move to Chunk Header,rename to chunk type,05 means there is only one Page in a chunk without statistics |
4 |
01 改成 0373 2e33chunk的大小是83字节Size of Chunk is 83 bytes | int |
改成 53数据类型是float 改成 03chunk内page的个数 | 删除 | Number of pages in chunk | remove this field |
2 | 0001 |
Snappy压缩方法Compression is Snappy | short 改成 byte |
01GORILLA编码Encoding is GORILLA | short 改成 byte |
06 | 解压后page data大小 | 删除?待讨论,如果删除,可能会导致解压时,多一次内存拷贝,建议保留,int 改成 varInt | 20 | Uncompressed size of page data |
|
4 | 0000 001b |
解压前page data大小Compressed size of page data | int |
改成 1b |
Page Statistics | 8 | 0000 0000 0000 0001 |
页中有1个点 改成 018 | 0000 0000 0000 0001 | start_time |
0000 0000 0000 0001
|
8 | 0000 0000 0000 0001 | end_time |
可以考虑改成与开始时间的delta值,用varInt存储(待讨论)0000 0000 0000 0001 | 4000 0000(bool, text do not has this field) |
|
4 | 4000 0000 | max_value |
4000 0000(bool, text do not has this field) |
|
4 | 4000 0000 | first_value |
4000 00004000 0000(bool, text do not has this field) | bool值需要支持sum,int、bool改成long类型 |
4000 0000 0000 0000 |
Page Data | 27 | 2004 1800 0d01 047f ff09 0138 0000 0000 0000 0001 0000 0040 c447 f8 |
27字节的数据
27 bytes of data | 数据里的int类型,以及string前面的 |
2004 1800 0d01 047f ff09 0138 0000 00000000 0001 0000 0040c447 f8 |
Chunk Group Footer | 1 | 00 | marker |
00move to chunk group header |
4 | 0000 0010 |
设备名长度 改成 1016 | 726f 6f74 2e74 7572 6269 6e65 312e 6431 |
设备名字 | 726f 6f74 2e74 7572 6269 6e65 312e 6431 | 0000 0000 0000 0069 | chunk group data size |
删除remove |
4 | 0000 0001 | chunk number |
删除remove |
MemTable Version | 1 | 03 | MemTable version marker |
03remove |
8 | 00 0000 0000 0000 65 |
版本是101 | 00 0000 0000 0000 65 | Metadatat Marker | 02 | 开始进入元数据区 | 02 | memtable version is 101 | remove |
Metadata Marker | 1 | 02 | the following is metadata |
|
ChunkMetadata(N个)
|
| 4 |
ChunkMetadata删除删除remove |
8 | 00 0000 0000 0000 0c | 该chunk的offset在12 |
00 0000 0000 0000 0c数据类型为float | 删除 |
Chunk Statistics | 8 | 0000 0000 0000 0001 | chunk中有1个点 | long |
改成 018 | 0000 0000 0000 0001 | start_time |
0000 0000 0000 0001
|
8 | 0000 0000 0000 0001 | end_time |
可以考虑改成与开始时间的delta值,用varInt存储(待讨论) | 0000 0000 0000 00014000 00004000 00004000 00004000 00004000 0000 0000 0000 |
|
TimeSeries Metadata(N个)
|
| 1 |
|
| 新增 timeseries metadata type,若为00则表示不包含statistics |
014 | 00 0000 03 | sensor名长度 | int 改成 varInt |
0373 2e33
|
2 | 0003 | 数据类型为float | short -> byte |
038 | 0000 0000 0000 00a0 | ChunkMetadataList的offset |
0000 0000 0000 00a0
|
4 | 0000 0041 | ChunkMetadataList的size | int 改成 varInt |
41 |
TimeSeries Statistics | 8 | 0000 0000 0000 0001 | 该序列在file中有1个点 | long 改成 varInt |
018 | 0000 0000 0000 0001 | start_time |
0000 0000 0000 0001
|
8 | 0000 0000 0000 0001 | end_time |
可以考虑改成与开始时间的delta值,用varInt存储(待讨论)0000 0000 0000 0001 | 4000 00004000 00004000 00004000 00004000 0000 0000 0000 |
|
MetaDataIndex Node
|
| 4 | 0000 0001 | 树的第二层,他有多少个孩子 | int |
改成 01 |
MetaDataIndex Entry(N个) | 4 | 0000 0003 | sensor名长度为3 | int |
改成 03732e 33
|
8 | 00 0000 0000 0000 e1 | offset of the child |
00 0000 0000 0000 e1
|
| 8 | 00 0000 0000 0001 26 | endOffset of the last child |
00 0000 0000 0001 26
|
| 1 | 03 | Node type是Leaf_Measurement |
03 |
|
MetaDataIndex Node
|
| 4 | 0000 0001 |
树的第二层,他有多少个孩子 改成 01 |
MetaDataIndex Entry(N个) | 4 | 0000 0010 |
设备名长度为16size of deviceid is 16bytes | int |
改成 1016 | 726f 6f74 2e74 7572 6269 6e65 312e 6431 |
设备名 | 726f 6f74 2e74 7572 6269 6e65 312e 6431 | 0000 0000 0000 0126 | offset of the child |
0000 0000 0000 0126
|
| 8 | 0000 0000 0000 0142 | endOffset of the last child |
0000 0000 0000 0142
|
| 1 | 02 | Node type是Internal_Measurement | Node type改成LEAF_DEVICE |
01 |
total chunk number |
| 4 | 0000 0001 | total chunk number |
删除remove |
invalid chunk number |
| 4 | 0000 0000 | 无效的chunk number |
删除remove |
Version Info
|
| 4 | 00 0000 01 | version pair的个数 |
int 改成 varInt01 |
Version Pair(N个) | 8 | 00 0000 0000 0000 9f | offset of current version |
00 0000 0000 0000 9f | 00 0000 0000 0000 65 | 版本是101 |
00 0000 0000 0000 65remove |
Bloom Filter
| 4 | 0000 001f | bloom filter size | int 改成 varInt |
1f31 | 00 0000 0040 0000 0000 0000 0000 0100 0000 2000 0000 0020 0000 0000 0000 0004 |
bloom filter data |
00 0000 0040 0000 0000 0000 00000100 0000 2000 0000 0020 0000 0000 0000 0004
|
4 | 0000 0100 | filter size | int 改成 varInt |
82004 | 0000 0005 | hash function size | int 改成 varInt |
05Footer4 | 0000 0078 | tsfile metadata size |
int 改成 varInt78 | MAGIC_STRING | 6 | 5473 4669 6c65 | TsFile |
5473 4669 6c65