Projekt Dolt vyvíjí databázový systém, který kombinuje podporu SQL s prostředky pro verzování dat ve stylu Git. Dolt umožňuje klonování tabulek, vytváření forků a provádění sloučení tabulek a také provádění operací push a pull analogicky k akcím v git repozitáři. Tento databázový systém podporuje SQL dotazy a je kompatibilní s MySQL na úrovni klientských rozhraní. Kód projektu je napsán v jazyce Go a je distribuován pod licencí Apache 2.0.
Možnosti verzování dat v databázi umožňují sledovat původ dat — vazba na commity dává možnost zaznamenat stav pro dosažení identických výsledků, které lze kdykoli nezávisle na aktuálním stavu zopakovat v jiných systémech. Kromě toho mohou uživatelé procházet historií, sledovat změny v tabulkách pomocí SQL bez nutnosti srovnávání záloh, provádět audit změn a vytvářet dotazy, které pokrývají data v určitém okamžiku.

Databázový systém poskytuje dva režimy práce — Offline a Online. Po přepnutí do offline režimu se obsah databáze stává dostupným jako repozitář, se kterým lze provádět akce pomocí utilit příkazového řádku podobných gitu. Práce do značné míry připomíná git a liší se především tím, že změny jsou sledovány ne pro soubory, ale pro obsah tabulek. Přes nabízené CLI rozhraní je možné importovat data ze souborů ve formátu CSV nebo JSON, přidávat commity se změnami, zobrazovat rozdíly mezi verzemi, vytvářet větve, nastavovat tagy, provádět push dotazy na externí servery a provádět sloučení změn navržených jinými účastníky.
Pokud si přejete, data mohou být umístěna v adresáři DoltHub, který lze považovat za analogii GitHubu pro umístění dat a spolupráci s daty. Uživatelé mohou vytvářet forky repozitářů s daty, navrhovat své změny a provádět sloučení se svými daty. Například, na DoltHubu můžete najít různé databáze se statistikou o koronaviru, kolekcemi anotovaných dat pro systémy strojového učení, jazykovými lexikálními databázemi, kolekcemi obrázků, soubory pro klasifikaci objektů a informacemi o příslušnosti. IP adress.
V režimu „online“ se spouští Dolt SQL Server, který umožňuje manipulaci s daty pomocí jazyka SQL. Poskytované rozhraní je podobné MySQL a může být používáno prostřednictvím připojení kompatibilních s MySQL klientů nebo pomocí CLI rozhraní. Dolt je spíše nástroj pro manipulaci s daty než systém zpracování dotazů. Například, výchozí SQL server může zpracovávat pouze jedno aktivní uživatelské připojení k repozitáři umístěnému v aktuálním adresáři (toto chování lze změnit prostřednictvím nastavení). serveru Možný převod do režimu pouze pro čtení. Mnoho akcí spojených s řízením verzí lze také provádět prostřednictvím SQL, například provádět commity nebo přepínat mezi větvemi.
Zdroj: opennet.ru
