Comments (1)
TsFile 文件结构变化记录
2018/11/13 黄向东、乔嘉林、刘昆、江天
-
- Thanos V1
- 2.3 文件结构
TsFile thanos分支中RowGroup 的 metadata存在数据之前,需要在内存中缓存整个 RowGroup 的数据。结构如下图。
1. 2.3 接口
写RowGroup Metadata:RowGroupWriter.writeMedatadata()
单列数据写入内存:ChunkWriter.write(datapoint)
单列数据写入磁盘:ChunkWriter.flush()
1. 2.3 数据恢复
将不完整的RowGroup切掉,最后生成完整的File Metadata,此种方式会丢失一个RowGroup。
* 2. Thanos V2
1. 2.3 文件结构
为了减少RowGroup 数据内存占用,现将 RowGroup Metadata 移动到每个 RowGroup数据之后,Chunk与 Page 结构不变。
此种结构,内存中仅需缓存一个 Chunk 的数据,按需要可以随时将 Chunk 写入磁盘。每个Header前的byte用来标识接下来的一个metadata的种类。
1. 2.3 接口
在内存创建RowGroup Metadata:RowGroupWriter.startRowGroup()
单列数据写入内存:ChunkWriter.write(datapoint)
单列数据写入磁盘:ChunkWriter.flush()
RowGroup Metadata 写入磁盘:RowGroupWriter.writeMetadata()
1. 2.3 数据恢复
将最后一个不完整的Chunk 切掉,生成RowGroup Metadata,生成File Metadata,此种方式会丢失一个Chunk。
from tsfile.
Related Issues (20)
- 重复时间戳写入没有丢弃 HOT 1
- Open source time for iotdb and TsFileSync HOT 3
- Add aggregation last in PageHeader HOT 1
- remove additional comma from json file HOT 2
- add checkstyle file from google
- Support:get the the memory size of write tsfile
- Add flush control for iotdb HOT 2
- FileSchema: Support string/Json to FileSchema and FileSchema to string/json HOT 2
- tsfile写入时TimeSeriesChunkMetaData中的startTime会出现-1的情况
- change version to 0.5.0-snapshot
- How to append content to an existing tsFile? HOT 5
- Default page size is too large
- wrong value of `first` in PageHeader. HOT 1
- new function: merge two tsfiles
- add code comment
- add code coverage plugin HOT 1
- TsFile index分拆 HOT 1
- TsFile是否考虑兼容问题
- LRUCache experiment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tsfile.