СУБД Dolt, позволяющая манипулировать данными в стиле Git
7 марта 2021 года
Проект Dolt развивает СУБД, сочетающую поддержку SQL со средствами версионирования данных в стиле Git. Dolt позволяет клонировать таблицы, создавать форки и выполнять слияния таблиц, а также выполнять операции push и pull по аналогии с действиями в git-репозитории. При этом СУБД поддерживает SQL-запросы и совместима с MySQL на уровне клиентских интерфейсов. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0.
Возможности по версионированию данных в БД позволяют отслеживать происхождение данных (Архивная копия от 23 июня 2021 на Wayback Machine) - привязка к коммитам даёт возможность фиксировать состояние для получения идентичных результатов, которые независимо от текущего состояния в любое время могут быть повторены на других системах. Кроме того, пользователи могут перемещаться по истории, отслеживать изменения в таблицах при помощи SQL без необходимости сверки резервных копий, проводить аудит изменений, а также формировать запросы, охватывающие данные в определённый момент.
СУБД предоставляет два режима работы - Offline и Online. После перевода в offline содержимое БД становится доступно как репозиторий, с которым можно выполнять действия с использованием git-подобной утилиты командной строки. Работа во многом напоминает git и отличается главным образом тем, что изменения отслеживаются не для файлов, а для содержимого таблиц. Через предлагаемый CLI-интерфейс можно импортировать данные из файлов в формате CSV или JSON, добавлять коммиты с изменениями, выводить различия между версиями, создавать ветки, устанавливать теги, выполнять push-запросы к внешним серверам и выполнять слияния изменений, предложенных другими участниками.
При желании данные могут размещаться в каталоге DoltHub (Архивная копия от 10 марта 2021 на Wayback Machine), который можно рассматривать как аналог GitHub для размещения данных и совместной работы с данными. Пользователи могут создавать форки репозиториев данными, предлагать свои изменения и осуществлять слияния со своими данными. Например, в DoltHub можно найти различные БД со статистикой о коронавирусе, коллекциями аннотированных данных для систем машинного обучения, языковыми лексическими базами, коллекциями изображений, наборами для классификации объектов и информацией о принадлежности IP-адресов.
В режиме "online" запускается Dolt SQL Server, который позволяет манипулировать с данными при помощи языка SQL. Предоставляемый интерфейс близок к MySQL и может использоваться через подключение совместимых с MySQL клиентов или при помощи CLI-интерфейса (Архивная копия от 10 марта 2021 на Wayback Machine). При этом Dolt скорее является инструментом для манипулирования данными, чем системой обработки запросов. Например, по умолчанию (Архивная копия от 10 марта 2021 на Wayback Machine) SQL-сервер может обрабатывать только одно активное соединение пользователя к репозиторию, размещённому в текущей директории (через настройки данное поведение можно изменить). Возможен перевод сервера в режим только для чтения. Многие действия, связанные с управлением версиями, также можно выполнять через SQL, например, совершать коммиты или переключаться между ветками.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.