Проектът Dolt беше обявен наскоро , разработвайки система за управление на бази данни, която комбинира SQL поддръжка с контрол на версиите в стил Git. Интересното при Dolt е, че той позволява на потребителите да клонират таблици, да създават fork и merge таблици, както и да извършват push и pull операции, подобни на тези в Git хранилище.
В същото време, тази система за управление на бази данни поддържа SQL заявки и е съвместима с MySQL на ниво клиентски интерфейс. Възможностите за версиониране позволяват на потребителите да проследяват произхода на данните, а свързването на commit-и позволява корекции за постигане на идентични резултати, които, независимо от текущото състояние, могат да бъдат репликирани в други системи по всяко време.
Освен това, потребителите могат лесно да навигират в историята, както и да проследяват промените в таблиците, използвайки SQL, без да е необходимо да съгласуват резервни копия, да одитират промените и също така да генерират заявки, които обхващат данни в определен момент.
На страницата на хранилището на проекта създателят описва Dolt, както следва:
Dolt е SQL база данни, която може да създава форк (fork), клонира, слива, добавя и изтегля данни като Git хранилище. Свържете се с Dolt точно както с всяка друга MySQL база данни, за да изпълнявате заявки или да актуализирате данни, използвайки SQL команди. Всички команди, които познавате за Git, работят по абсолютно един и същ начин и за Dolt. Файлове с версии на Git, таблици с версии на Dolt. Все едно Git и MySQL си направиха бебе!
Относно Dolt
СУБД предлага два режима на работа: офлайн и онлайн.
- В офлайн режим след прекъсване на връзката съдържанието на базата данни става достъпно като хранилище, с което можете да извършвате действия, използвайки помощна програма за команден ред, подобна на git.
- Dolt SQL Server се стартира в "онлайн" режим, който позволява манипулиране на данни с помощта на езика SQL. Предоставеният интерфейс е близък до MySQL и може да се използва чрез свързване на MySQL съвместими клиенти или използване на CLI интерфейс.
Работи много подобно на Git , като се различава главно по това, че промените се проследяват не за файловете, а за съдържанието на таблиците. Чрез предложения CLI можете да импортирате данни от CSV или JSON файлове, да добавяте commits с промени, да показвате разликите между версиите, да създавате версии, да задавате тагове, да изпращате заявки към външни сървъри и да обединявате промени, подадени от други участници.
Ако потребителят желае, данните могат да бъдат поставени в директорията DoltHub, която може да се разглежда като аналог на GitHub за хостване на данни и сътрудничество върху данни. Потребителите могат да разклоняват хранилища на данни, да предлагат промени и да се обединяват с техните данни.
Например на DoltHub можете да намерите различни бази данни със статистика за коронавируса, анотирани колекции от данни за системи за машинно обучение, езикови лексикални бази данни, колекции от изображения, комплекти за класификация на обекти и информация за свойствата на IP адреса.
Въпреки това, Dolt е по-скоро инструмент за манипулиране на данни, отколкото система за обработка на заявки . Например, по подразбиране SQL сървърът може да обработва само една активна потребителска връзка с хранилището, разположено в текущата директория (това поведение може да се промени чрез конфигурация). Възможно е сървърът да се постави в режим само за четене. Много действия за контрол на версиите могат да се извършват и чрез SQL, като например commit или превключване между клонове.
И накрая, ако се интересувате да научите повече за тази система за управление на бази данни, трябва да знаете, че кодът на проекта е в GitHub, написан е на езика Go и се разпространява под лиценза Apache 2.0.
Как да инсталирам Dolt на Linux?
За тези, които се интересуват от възможността да инсталират тази СУБД на своята система, те трябва да знаят, че Dolt е мултиплатформен и в случай на тези от нас, които използваме Linux, можем да извършим инсталацията, като отворим терминал и изпълним следната команда:
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'