# История изменений

Все важные изменения в BaraDB документированы в этом файле.

## [0.1.0] — 2025-01-15

### Добавлено

- **Основные хранилища**
  - LSM-Tree с MemTable, WAL, SSTables и size-tiered compaction
  - B-Tree упорядоченный индекс с диапазонными сканированиями и MVCC copy-on-write
  - Bloom фильтры для эффективного пропуска SSTable
  - Memory-mapped I/O для чтения SSTable
  - LRU page cache с отслеживанием hit rate

- **Движок запросов (BaraQL)**
  - SQL-совместимый лексер с 80+ типами токенов
  - Рекурсивный нисходящий парсер производящий AST с 25+ видами узлов
  - Промежуточное представление (IR) для планов выполнения
  - Адаптивный оптимизатор запросов с кросс-модальным планированием
  - Исполнитель запросов с параллелизацией

- **Возможности BaraQL**
  - SELECT, INSERT, UPDATE, DELETE
  - WHERE, ORDER BY, LIMIT, OFFSET
  - GROUP BY, HAVING, агрегатные функции
  - INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN
  - CTEs с WITH
  - Подзапросы (EXISTS, IN, коррелированные)
  - CASE выражения
  - UNION, INTERSECT, EXCEPT

- **Векторный движок**
  - HNSW индекс для приближенного поиска ближайших соседей
  - IVF-PQ индекс для крупномасштабного векторного поиска
  - SIMD-оптимизированные функции расстояния
  - Квантование: скалярное 8-bit/4-bit, продуктовое, бинарное

- **Графовый движок**
  - Хранение списка смежности для направленных графов с весами
  - BFS и DFS обходы
  - Dijkstra кратчайший путь
  - PageRank важность узлов
  - Louvain обнаружение сообществ
  - Cypher-подобный парсер графовых запросов

- **Полнотекстовый поиск**
  - Инвертированный индекс
  - BM25 ранжирование
  - TF-IDF оценка
  - Нечёткий поиск с расстоянием Левенштейна
  - Многоязычные токенизаторы

- **Протоколы**
  - Бинарный wire протокол с 16 типами сообщений
  - HTTP/REST JSON API
  - WebSocket потоковая передача
  - Connection pooling
  - JWT аутентификация
  - TLS/SSL

- **Распределенные системы**
  - Raft consensus
  - Hash, range и consistent-hash шардирование
  - Sync/async/semi-sync репликация
  - Gossip протокол
  - Two-phase commit

### Производительность

- LSM-Tree: 580K записей/с, 720K чтений/с
- B-Tree: 1.2M вставок/с, 1.5M поисков/с
- Vector SIMD: 850K косинусных расстояний/с (dim=768)

### Тесты

- 262 теста в 56 тестовых наборах
- 100% прохождение