Dolt DBMS, który pozwala manipulować danymi w stylu Git

Projekt Dolt opracowuje system DBMS, który łączy obsługę SQL z narzędziami do wersjonowania danych w stylu Git. Dolt umożliwia klonowanie tabel, rozwidlanie i łączenie tabel oraz wykonywanie operacji wypychania i ściągania podobnych do działań w repozytorium git. Jednocześnie SZBD obsługuje zapytania SQL i jest kompatybilny z MySQL na poziomie interfejsu klienta. Kod projektu napisany jest w Go i rozpowszechniany na licencji Apache 2.0.

Możliwość wersjonowania danych w bazie pozwala na śledzenie pochodzenia danych - powiązanie z zatwierdzeniami umożliwia naprawę stanu w celu uzyskania identycznych wyników, które niezależnie od aktualnego stanu można w dowolnym momencie powtórzyć na innych systemach. Ponadto użytkownicy mogą przeglądać historię, śledzić zmiany w tabelach za pomocą SQL bez konieczności uzgadniania kopii zapasowych, kontrolowania zmian i tworzenia zapytań obejmujących dane w określonym momencie.

Dolt DBMS, który pozwala manipulować danymi w stylu Git

DBMS udostępnia dwa tryby pracy – Offline i Online. Po przełączeniu w tryb offline zawartość bazy danych staje się dostępna jako repozytorium, którym można manipulować za pomocą narzędzia wiersza poleceń podobnego do gita. Praca jest bardzo podobna do gita i różni się głównie tym, że zmiany są śledzone nie dla plików, ale dla zawartości tabel. Poprzez proponowany interfejs CLI możesz importować dane z plików CSV lub JSON, dodawać zatwierdzenia ze zmianami, pokazywać różnice między wersjami, tworzyć gałęzie, ustawiać tagi, wykonywać żądania push do serwerów zewnętrznych i scalać zmiany zaproponowane przez innych autorów.

W razie potrzeby dane można przechowywać w katalogu DoltHub, który można uznać za odpowiednik GitHuba do przechowywania danych i współpracy nad danymi. Użytkownicy mogą forkować repozytoria danych, proponować własne zmiany i łączyć się ze swoimi danymi. Na przykład w DoltHub można znaleźć różne bazy danych ze statystykami dotyczącymi koronaawirusa, zbiory danych z adnotacjami dla systemów uczenia maszynowego, językowe bazy leksykalne, zbiory obrazów, zestawy do klasyfikacji obiektów oraz informacje o własności adresów IP.

W trybie „online” uruchamiany jest Dolt SQL Server, który pozwala na manipulację danymi przy pomocy języka SQL. Dostarczony interfejs jest zbliżony do MySQL i można go używać poprzez podłączenie klientów kompatybilnych z MySQL lub przy użyciu interfejsu CLI. Jednak Dolt jest bardziej narzędziem do manipulacji danymi niż systemem przetwarzania zapytań. Przykładowo, domyślnie serwer SQL może przetworzyć tylko jedno aktywne połączenie użytkownika z repozytorium znajdującym się w bieżącym katalogu (to zachowanie można zmienić w ustawieniach). Istnieje możliwość przełączenia serwera w tryb tylko do odczytu. Wiele działań związanych z wersjonowaniem można również wykonać za pomocą języka SQL, takich jak dokonywanie zatwierdzeń lub przełączanie między gałęziami.

Źródło: opennet.ru

Dodaj komentarz