Projekt Dolt rozwija system DBMS, który łączy obsługę języka SQL z narzędziami do wersjonowania danych w stylu Gita. Dolt umożliwia klonowanie tabel, tworzenie forków i scalanie tabel, a także operacje push i pull podobne do działań w repozytorium Gita. Jednocześnie system DBMS obsługuje zapytania SQL i jest kompatybilny z MySQL na poziomie interfejsu klienta. Kod projektu jest napisany w języku Go i jest dystrybuowany na licencji Apache 2.0.
Funkcje wersjonowania danych w bazie danych pozwalają śledzić pochodzenie danych — powiązanie commit pozwala zablokować stan, aby uzyskać identyczne wyniki, które można w dowolnym momencie replikować w innych systemach, niezależnie od ich aktualnego stanu. Użytkownicy mogą również przeglądać historię zmian, śledzić zmiany w tabelach za pomocą języka SQL bez konieczności uzgadniania kopii zapasowych, przeprowadzać audyt zmian oraz tworzyć zapytania obejmujące dane w określonym momencie.

System DBMS oferuje dwa tryby pracy — offline i online. Po przełączeniu w tryb offline zawartość bazy danych staje się dostępna jako repozytorium, w którym można wykonywać operacje za pomocą narzędzia wiersza poleceń podobnego do Gita. Działanie jest bardzo podobne do Gita, a różni się głównie tym, że zmiany są śledzone nie w plikach, a w zawartości tabel. Za pomocą proponowanego interfejsu CLI można importować dane z plików CSV lub JSON, dodawać zatwierdzenia ze zmianami, wyświetlać różnice między wersjami, tworzyć gałęzie, ustawiać tagi, wykonywać żądania push na serwery zewnętrzne oraz scalać zmiany zaproponowane przez innych uczestników.
Opcjonalnie dane mogą być hostowane w katalogu DoltHub, który można uznać za platformę podobną do GitHub do hostowania danych i współpracy. Użytkownicy mogą rozdzielać repozytoria danych, proponować zmiany i scalać swoje dane. Na przykład, DoltHub oferuje różne bazy danych ze statystykami dotyczącymi koronawirusa, zbiory danych z adnotacjami dla systemów uczenia maszynowego, bazy danych leksykalnych języków, zbiory obrazów, zestawy klasyfikacji obiektów oraz informacje o właścicielach. Adresy IP.
Dolt SQL Server działa online, umożliwiając manipulowanie danymi za pomocą języka SQL. Dostępny interfejs jest podobny do MySQL i może być używany za pośrednictwem klientów zgodnych z MySQL lub interfejsu CLI. Dolt jest jednak bardziej narzędziem do manipulowania danymi niż systemem przetwarzania zapytań. Na przykład, domyślnie SQL Server obsługuje tylko jedno aktywne połączenie użytkownika z repozytorium znajdującym się w bieżącym katalogu (to zachowanie można zmienić w ustawieniach). Możliwe jest również tłumaczenie. serwer w tryb tylko do odczytu. Wiele działań kontroli wersji można również wykonać za pomocą SQL, na przykład zatwierdzanie lub przełączanie gałęzi.
Źródło: opennet.ru
