Files
Baradb/docs/ru/columnar.md

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 нагрузки
  • Крупномасштабные агрегации
  • Хранилища данных
  • Анализ временных рядов