Об этом проекте

Dolt — это SQL-база данных, применяющая версионный контроль в стиле Git к таблицам. Базу данных можно форкать, клонировать, ветвить, объединять, отправлять и получать, как репозиторий Git. Проект также предоставляет DoltHub для публикации общедоступных баз, DoltLab для размещения собственного экземпляра и Hosted Dolt для управляемого сервера. Подключение и клиенты: Dolt поставляется с сервером, совместимым с MySQL, запускаемым через команду dolt sql-server, который по умолчанию слушает порт 3306, и клиентом, совместимым с MySQL, доступным через dolt sql. В README указано, что любой клиент, совместимый с MySQL, может подключаться по TCP или сокету, с поддержкой до MySQL 8.4, рекомендуется использовать LTS-версию 8.4; в приложенной статье объясняется настройка caching_sha2_password для MySQL 9.0. Версионный контроль через SQL: CLI Dolt повторяет команды Git, включая init, status, add, diff, reset, clean, commit, branch, checkout, merge, conflicts, cherry-pick, revert, clone, fetch, pull, push, remote, tag и blame, а также специфические для баз данных команды: sql, sql-server, schema, table, dump, backup, migrate, read-tables, filter-branch и gc. В SQL операции чтения доступны через системные таблицы (например, dolt_log, dolt_status и таблицы диффов для каждой таблицы), а операции записи — через хранимые процедуры с именами по шаблону dolt_command, такие как dolt_add и dolt_commit. Передача параметров следует модели командной строки, а системная переменная dolt_transaction_commit позволяет создавать коммит Dolt для каждой транзакции. Коммит Dolt отличается от стандартного коммита транзакции SQL. Функции базы данных: Dolt поддерживает внешние ключи, вторичные индексы, триггеры, проверочные ограничения и хранимые процедуры. В руководстве демонстрируется соединение трёх таблиц с поддержкой до двенадцати соединений. Руководство охватывает создание схемы, вставку данных, просмотр диффов перед коммитом и анализ журнала. Установка: Dolt распространяется как один бинарный файл размером около 103 МБ. Варианты установки включают скрипт установки для Linux и macOS (размещает бинарник в /usr/local/bin), пакеты Arch Linux, Homebrew, сообщественный порт MacPorts, MSI-установщик для Windows, Chocolatey, официальные Docker-образы (dolthub/dolt для CLI и dolthub/dolt-sql-server для серверного режима) или сборку из исходников с помощью Go и C-инструментария из-за зависимости от cgo. Имя пользователя и email настраиваются через dolt config, как в Git. Экосистема: в README упоминается Doltgres — вариант, ориентированный на Postgres, находящийся в бета-версии, Discord-сообщество, открытая дорожная карта, видео-введение и примеры использования, такие как Beads и Gas Town, позиционируя Dolt как базу данных для памяти агентов в многопроцессных и многомашинных рабочих процессах.