Dolt

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.dolthub.com

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

Проект разработан для сценариев, где требуется отслеживание эволюции данных, совместная работа над наборами данных и воспроизводимость состояния базы в разные моменты времени. Dolt позволяет клонировать базы, работать локально с копией данных и затем синхронизировать изменения между репозиториями. В системе сохраняются детализированные метаданные о изменениях строк и схем, что облегчает аудит, откат и сравнение версий. Точные технические детали и эволюция проекта зависят от публично доступных описаний и релизов; если официальная документация неполна, общая функциональность может описываться через аналогии с системами контроля версий, применёнными к реляционным данным.

  • Версионирование данных: коммиты изменений таблиц с историей, идентичной концепции в системах контроля версий.
  • Ветвление и слияние: возможность создавать независимые ветки данных и выполнять их слияние с разрешением конфликтов на уровне строк или таблиц.
  • Форк и клонирование: создание копий репозитория данных для локальной работы и последующей синхронизации.
  • SQL-совместимость: поддержка синтаксиса, совместимого с MySQL, для выполнения привычных запросов и транзакций.
  • CLI-инструменты: командная утилита для управления репозиторием данных, выполнения коммитов, пулов, пушей и просмотра истории.
  • Сравнение и диффы: механизмы для сравнения версий таблиц и получения различий между состояниями.
  • Аудит и отслеживаемость: сохранение метаданных о том, кто и когда вносил изменения, с возможностью отката к предыдущим состояниям.
  • Локальная разработка данных: поддержка рабочего процесса, при котором разработчики работают с локальными клонaми набора данных.
  • Интеграция рабочих процессов: применение подходов CI/CD и совместной работы к управлению данными, включая обзоры изменений и управление миграциями.
  • Прозрачность схемы: отслеживание изменений в структуре таблиц наряду с данными.
Подробнее