Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



字节数(bytes)

原字节

(V2)

含义

(Meaning)

改动

改动后字节

(V3 difference)

MAGIC_STRING65473 4669 6c65TsFile
5473 4669 6c65

VERSION_NUMBER63030 3030 3032
版本号000002版本号改成0000033030 3030 3033
version: 000002version:  000003





Chunk Header

1
Chunk Header
01chunk header marker
放入Chunk Header中,改名为chunk type,若为00则表示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
00 0000 03string长度为3int
改成
-> varInt
03
373 2e33s.3
73 2e33

40000 0053
chunk的大小是83字节
Size of Chunk is  83 bytesint
改成
-> varInt
53
20003
数据类型是float
Datatype is  floatshort
改成
-> byte
03
40000 0001
chunk内page的个数删除
Number of pages in chunkremove this field
20001
Snappy压缩方法
Compression is Snappyshort 改成 byte
01
20006
GORILLA编码
Encoding is GORILLAshort 改成 byte
06


Page Header

40000 0020
解压后page data大小删除?待讨论,如果删除,可能会导致解压时,多一次内存拷贝,建议保留,int 改成 varInt20
Uncompressed size of page data
40000 001b
解压前page data大小
Compressed size of page dataint
改成
-> varInt
1b





Page Statistics

80000 0000 0000 0001
页中有1个点
countlong
改成
-> varInt
01
80000 0000 0000 0001start_time
0000 0000 0000 0001

80000 0000 0000 0001end_time
可以考虑改成与开始时间的delta值,用varInt存储(待讨论)

4
0000 0000 0000 0001
4000 0000min_value
4000 0000
(bool, text do not has this field)
44000 0000max_value
4000 0000
(bool, text do not has this field)
44000 0000first_value
4000 0000

44000 0000last_value
4000 0000

84000 0000 0000 0000sum
(bool, text do not has this field)bool值需要支持sum,int、bool改成long类型
4000 0000 0000 0000
Page Data272004 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 0000
0000 0001 0000 0040
c447 f8




Chunk Group Footer

100marker
00
move to chunk group header
40000 0010
设备名长度
size of deviceIdint
改成
varInt
10
16726f 6f74 2e74 7572 6269 6e65 312e 6431
设备名字
deviceId
8
726f 6f74 2e74 7572 6269 6e65 312e 6431
0000 0000 0000 0069chunk group data size
删除
remove
40000 0001chunk number
删除
remove


MemTable Version

103MemTable version marker
03
remove
800 0000 0000 0000 65
版本是10100 0000 0000 0000 65Metadatat Marker02开始进入元数据区02
memtable version is 101remove
Metadata Marker102the following is metadata








ChunkMetadata(N个)













4
ChunkMetadata
0000 0003sensor名长度remove
删除
4732e 33s.1
删除
remove
800 0000 0000 0000 0c该chunk的offset在12
00 0000 0000 0000 0c

20003
数据类型为float
data type is  floatremove
删除





Chunk Statistics

80000 0000 0000 0001chunk中有1个点long
改成
-> varInt
01
80000 0000 0000 0001start_time
0000 0000 0000 0001

80000 0000 0000 0001end_time
可以考虑改成与开始时间的delta值,用varInt存储(待讨论)0000 0000 0000 0001

44000 0000min_value
4000 0000

44000 0000max_value
4000 0000

44000 0000first_value
4000 0000

44000 0000last_value
4000 0000

84000 0000 0000 0000sum
4000 0000 0000 0000








TimeSeries Metadata(N个)















1

新增 timeseries metadata type,若为00则表示不包含statistics
01
400 0000 03sensor名长度int 改成 varInt
03
373 2e33s.1
73 2e33

20003数据类型为floatshort -> byte
03
80000 0000 0000 00a0ChunkMetadataList的offset
0000 0000 0000 00a0

40000 0041ChunkMetadataList的sizeint 改成 varInt
41









TimeSeries Statistics

80000 0000 0000 0001该序列在file中有1个点long 改成 varInt
01
80000 0000 0000 0001start_time
0000 0000 0000 0001

80000 0000 0000 0001end_time
可以考虑改成与开始时间的delta值,用varInt存储(待讨论)

4
0000 0000 0000 0001
4000 0000min_value
4000 0000

44000 0000max_value
4000 0000

44000 0000first_value
4000 0000

44000 0000last_value
4000 0000

84000 0000 0000 0000sum
4000 0000 0000 0000





MetaDataIndex Node





40000 0001树的第二层,他有多少个孩子int
改成
-> varInt
01


MetaDataIndex Entry(N个)

40000 0003sensor名长度为3int
改成
-> varInt
03
3732e 33s.3
732e 33

800 0000 0000 0000 e1offset of the child
00 0000 0000 0000 e1


800 0000 0000 0001 26endOffset of the last child
00 0000 0000 0001 26


103Node type是Leaf_Measurement
03



MetaDataIndex Node





40000 0001
树的第二层,他有多少个孩子
树的第一层,他有多少个孩子int
改成
-> varInt
01



MetaDataIndex Entry(N个)

40000 0010
设备名长度为16
size of deviceid is 16bytesint
改成
-> varInt
10
16726f 6f74 2e74 7572 6269 6e65 312e 6431
设备名
name of deviceId
8
726f 6f74 2e74 7572 6269 6e65 312e 6431
0000 0000 0000 0126offset of the child
0000 0000 0000 0126


80000 0000 0000 0142endOffset of the last child
0000 0000 0000 0142


102Node type是Internal_MeasurementNode type改成LEAF_DEVICE
01
total chunk number
40000 0001total chunk number
删除
remove
invalid chunk number
40000 0000无效的chunk number
删除
remove


Version Info




400 0000 01version pair的个数
int 改成 varInt
remove
01


Version Pair(N个)

800 0000 0000 0000 9foffset of current version
remove
8
00 0000 0000 0000 9f
00 0000 0000 0000 65版本是101
00 0000 0000 0000 65
remove




Bloom Filter





40000 001fbloom filter sizeint 改成 varInt
1f
3100 0000 0040 0000 0000 0000 0000
0100 0000 2000 0000 0020 0000 0000 0000 0004


bloom filter data

00 0000 0040 0000 0000 0000 0000
0100 0000 2000 0000 0020 0000 0000 0000 0004

40000 0100filter sizeint 改成 varInt
8200
40000 0005hash function sizeint 改成 varInt
05
Footer
Footer
40000 0078tsfile metadata size
int 改成 varInt
不能使用varInt,因为这个需要倒着读
78
MAGIC_STRING65473 4669 6c65TsFile
5473 4669 6c65