时序数据库 QuestDB 特性解析
QuestDB 是一款针对时序数据实时处理优化的关系型列存数据库。
存储模型
QuestDB 采用列存(column-based)存储模型,表里的数据按列存储到不同的文件,每次新的写入数据追加到文件末尾,保持跟写入顺序一致。
追加模型
QuestDB 采用列存模型,每个列存储到不同的文件,文件通过 mmap 方式映射到内存,每次写入直接在映射内存大末尾追加数据,非常高效,对于定长类型列,通过行号就能固定定位到数据位置;针对变长类型列,每个列除了对应一个数据文件,还要对应一个索引文件,索引文件的记录为定长,指向各个记录在数据文件的位置。
CREATE TABLE IF NOT EXISTS trades(name STRING, value INT);
INSERT INTO trades VALUES('abc', 123456);
$tree trades
.
├── default
│ ├── name.d
│ ├── name.i
│ └── value.d
├── _meta
└── _txn
相关文章