Proiectul Dolt dezvoltă un SGBD care combină suportul SQL cu instrumente de versionare a datelor în stil Git. Dolt permite clonarea tabelelor, crearea de fork-uri și efectuarea de îmbinări ale tabelelor, precum și realizarea operațiunilor de push și pull, similar cu acțiunile dintr-un repository git. În același timp, SGBD-ul suportă interogări SQL și este compatibil cu MySQL la nivelul interfețelor client. Codul proiectului este scris în limbajul Go și este distribuit sub licența Apache 2.0.
Funcționalitățile de versionare a datelor în SGBD permit urmărirea originii datelor - legătura cu commit-urile oferă posibilitatea de a fixa starea pentru a obține rezultate identice, care pot fi replicate pe alte sisteme în orice moment, indiferent de starea curentă. În plus, utilizatorii pot naviga în istoric, urmări modificările din tabele folosind SQL fără a fi nevoie de compararea backup-urilor, efectua audituri de schimbări și formulara interogărilor care acoperă datele într-un anumit moment.

SGBD-ul oferă două moduri de operare - Offline și Online. După ce este trecut în offline, conținutul SGBD-ului devine accesibil ca un repository, cu care se pot efectua acțiuni utilizând o unealtă de linie de comandă asemănătoare git. Lucrul seamănă foarte mult cu git și se deosebește în principal prin faptul că modificările sunt urmărite nu pentru fișiere, ci pentru conținutul tabelelor. Prin intermediul interfeței CLI oferite, se pot importa date din fișiere în format CSV sau JSON, adăuga commit-uri cu modificări, afișa diferențele între versiuni, crea ramuri, seta etichete, efectua solicitări de push către servere externe și realiza îmbinări ale modificărilor propuse de alți participanți.
Dacă se dorește, datele pot fi stocate în directorul DoltHub, care poate fi considerat un analog GitHub pentru stocarea datelor și colaborarea asupra datelor. Utilizatorii pot crea fork-uri ale repository-urilor de date, propune modificările proprii și efectua îmbinări cu datele lor. De exemplu, în DoltHub se pot găsi diferite SGBD-uri cu statistici despre coronavirus, colecții de date annotate pentru sisteme de învățare automată, baze lexicale ale limbilor, colecții de imagini, seturi pentru clasificarea obiectelor și informații despre apartenență. adreselor IP.
În modul „online” se lansează Dolt SQL Server, care permite manipularea datelor prin intermediul limbajului SQL. Interfața oferită este apropiată de MySQL și poate fi utilizată prin conectarea clienților compatibili cu MySQL sau prin intermediul interfeței CLI. În acest sens, Dolt este mai degrabă un instrument pentru manipularea datelor decât un sistem de procesare a cererilor. De exemplu, în mod implicit, serverul SQL poate gestiona doar o singură conexiune activă a utilizatorului la depozitul situat în directorul curent (acest comportament poate fi modificat prin configurări). Este posibil să se treacă server în modul doar pentru citire. Multe acțiuni legate de gestionarea versiunilor pot fi, de asemenea, efectuate prin SQL, de exemplu, realizarea de commit-uri sau comutarea între ramuri.
Sursa: opennet.ro
