1.3 KiB
1.3 KiB
Колоночное хранилище
Хранилище с ориентацией на столбцы для аналитических запросов и агрегаций.
Использование
import barabadb/core/columnar
var batch = newColumnBatch()
var ageCol = batch.addInt64Col("age")
var nameCol = batch.addStringCol("name")
ageCol.appendInt64(25)
nameCol.appendString("Alice")
Агрегации
echo ageCol.sumInt64()
echo ageCol.avgInt64()
echo ageCol.minInt64()
echo ageCol.maxInt64()
echo ageCol.count()
Кодирование
RLE (Run-Length Encoding)
let rle = rleEncode(@[1'i64, 1, 1, 2, 2, 3])
Dictionary Encoding
let dict = dictEncode(@["apple", "banana", "apple"])
Типы столбцов
| Тип | Описание |
|---|---|
int32 |
32-битное целое |
int64 |
64-битное целое |
float32 |
32-битное с плавающей точкой |
float64 |
64-битное с плавающей точкой |
string |
Строка переменной длины |
bool |
Булевый |
Сценарии использования
- OLAP нагрузки
- Крупномасштабные агрегации
- Хранилища данных
- Анализ временных рядов