Files
Baradb/docs/ru/quickstart.md
T

2.5 KiB

BaraDB - Руководство по быстрому старту

Запуск сервера

После сборки BaraDB запустите сервер:

./build/baradadb

Сервер запустится на localhost:9470 по умолчанию.

Подключение через CLI

BaraDB включает интерактивную оболочку:

./build/baradadb --shell

Основные операции

Создание схемы

CREATE TYPE Person {
  name: str,
  age: int32
};

CREATE TYPE Movie {
  title: str,
  year: int32,
  director: Person
};

Вставка данных

INSERT Person { name := 'Alice', age := 30 };
INSERT Person { name := 'Bob', age := 25 };

Запрос данных

SELECT name, age FROM Person WHERE age > 18;

Обновление данных

UPDATE Person SET age = 31 WHERE name = 'Alice';

Удаление данных

DELETE FROM Person WHERE name = 'Bob';

Продвинутые запросы

JOIN

SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

Агрегатные функции

SELECT department, count(*), avg(salary)
FROM employees
GROUP BY department
HAVING count(*) > 5;

CTE (Common Table Expressions)

WITH active_users AS (
  SELECT * FROM users WHERE active = true
)
SELECT * FROM active_users;

Векторный поиск

-- Вставка вектора
INSERT vectors { id := 1, embedding := [0.1, 0.2, 0.3] };

-- Поиск похожих
SELECT * FROM vectors ORDER BY cosine_distance(embedding, [0.1, 0.2, 0.3]) LIMIT 10;

Графовые операции

-- Сопоставление графового шаблона
MATCH (p:Person)-[:KNOWS]->(other:Person)
WHERE p.name = 'Alice'
RETURN other.name;

Полнотекстовый поиск

-- Поиск в документах
SELECT * FROM articles WHERE MATCH(title, body) AGAINST('database');

HTTP/REST API

# GET запрос
curl http://localhost:9470/api/users

# POST запрос
curl -X POST http://localhost:9470/api/users \
  -H "Content-Type: application/json" \
  -d '{"name": "Alice", "age": 30}'

Следующие шаги