Dolt когда Git встречается с SQL

26 Jun, 2026
23,649
🔱 818
👥 122

Представьте, что вы можете делать с базой данных всё то же самое, что и с кодом в Git: коммитить изменения, создавать ветки, откатываться к предыдущим версиям и даже мержить конфликты. Именно это предлагает Dolt — уникальная гибридная система, сочетающая мощь SQL с удобством контроля версий.

Что такое Dolt?

Dolt позиционирует себя как "Git для данных" — это SQL-база данных с полным набором функций контроля версий. Под капотом это MySQL-совместимая СУБД, где каждая операция записи может стать коммитом, а вся история изменений доступна через привычные Git-команды.

Основные преимущества:

  • Полная совместимость с MySQL (работает с любым MySQL-клиентом)
  • Встроенная система версионирования таблиц
  • Поддержка ветвления и слияния данных
  • Возможность отката изменений в любой момент

Ключевые возможности

1. Знакомый интерфейс Git

Dolt предоставляет две точки входа:

  1. CLI-интерфейс с командами, идентичными Git:
dolt init      # инициализация репозитория
dolt add .     # добавление изменений
dolt commit -m "Сообщение"  # создание коммита
dolt log       # просмотр истории
  1. SQL-интерфейс через системные таблицы и хранимые процедуры:
-- Просмотр истории коммитов
SELECT * FROM dolt_log;

-- Создание коммита через SQL
CALL dolt_commit('-am', 'Добавил новые данные');

2. Полноценная SQL-база данных

Dolt поддерживает все основные функции реляционных СУБД:

Реклама
  • Внешние ключи и ограничения
  • Триггеры и хранимые процедуры
  • Сложные JOIN-запросы (до 12 таблиц)
  • Транзакции

Пример создания схемы:

CREATE TABLE employees (
  id INT PRIMARY KEY,
  name VARCHAR(100),
  department VARCHAR(50)
);

3. Работа с историей изменений

Просматривайте различия между версиями данных:

-- Какие строки изменились
SELECT * FROM dolt_diff_employees;

-- Кто и когда менял конкретную строку
SELECT * FROM dolt_blame_employees;

4. Откат изменений

Ошиблись в данных? Никаких проблем:

-- Отмена последних изменений
CALL dolt_reset('--hard');

-- Возврат к конкретному коммиту
CALL dolt_checkout('коммит_хэш');

Практическое применение

  1. Версионирование конфигураций — храните историю изменений настроек приложения
  2. Анализ данных — сравнивайте разные версии датасетов
  3. Коллаборация — несколько разработчиков могут работать параллельно в разных ветках
  4. Аварийное восстановление — мгновенный откат к рабочей версии данных

Как начать использовать

Установка проста — один бинарный файл (~100 МБ):

# Linux/Mac
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'

# Windows
choco install dolt

Dolt — это свежий взгляд на работу с данными, который особенно пригодится:

  • Командам, где важна история изменений данных
  • Разработчикам, уже знакомым с Git
  • Проектам, требующим сложного управления версиями данных

Если вы работаете с базами данных и хотели бы иметь такие же удобные инструменты контроля версий, как в Git, Dolt определённо заслуживает вашего внимания. Проект активно развивается и уже используется в продакшене многими компаниями.

Официальный репозиторий Dolt | Документация

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.