Files
Baradb/docs/zh/columnar.md

50 lines
785 B
Markdown

# 列式存储
用于分析查询和聚合的面向列的存储。
## 用法
```nim
import barabadb/core/columnar
var batch = newColumnBatch()
var ageCol = batch.addInt64Col("age")
var nameCol = batch.addStringCol("name")
ageCol.appendInt64(25)
nameCol.appendString("Alice")
```
## 聚合
```nim
echo ageCol.sumInt64()
echo ageCol.avgInt64()
echo ageCol.minInt64()
echo ageCol.maxInt64()
```
## 编码
### RLE
```nim
let rle = rleEncode(@[1'i64, 1, 1, 2, 2, 3])
```
### Dictionary
```nim
let dict = dictEncode(@["apple", "banana", "apple"])
```
## 列类型
| 类型 | 描述 |
|------|------|
| `int32` | 32 位整数 |
| `int64` | 64 位整数 |
| `float32` | 32 位浮点数 |
| `float64` | 64 位浮点数 |
| `string` | 可变长度字符串 |
| `bool` | 布尔值 |