Het Dolt-project ontwikkelt een database die SQL-ondersteuning combineert met versiebeheermiddelen in de stijl van Git. Dolt stelt gebruikers in staat om tabellen te klonen, forks te maken en tabellen samen te voegen, evenals push- en pull-operaties uit te voeren, vergelijkbaar met acties in een git-repository. De database ondersteunt daarnaast SQL-query's en is compatibel met MySQL op het niveau van clientinterfaces. De code van het project is geschreven in de programmeertaal Go en wordt verspreid onder de Apache 2.0-licentie.
De mogelijkheden voor versiebeheer in de database stellen gebruikers in staat om de oorsprong van gegevens te volgen - de koppeling aan commits maakt het mogelijk om een status vast te leggen voor het verkrijgen van identieke resultaten die op elk moment, ongeacht de huidige status, op andere systemen kunnen worden herhaald. Bovendien kunnen gebruikers door de geschiedenis navigeren, wijzigingen in tabellen volgen met behulp van SQL zonder dat er een controle van back-ups nodig is, audits van wijzigingen uitvoeren en query's opstellen die gegevens op een specifiek moment bestrijken.

De database biedt twee werkmodi - Offline en Online. Na de overgang naar offline wordt de inhoud van de database beschikbaar als een repository waarop acties kunnen worden uitgevoerd met behulp van een git-achtige commandoregeltool. Het werk lijkt sterk op git, maar verschilt voornamelijk doordat wijzigingen niet voor bestanden, maar voor de inhoud van tabellen worden gevolgd. Via de aangeboden CLI-interface kunnen gegevens worden geïmporteerd vanuit bestanden in CSV- of JSON-formaat, kunnen commits met wijzigingen worden toegevoegd, verschillen tussen versies worden weergegeven, kunnen takken worden aangemaakt, tags worden ingesteld, push-verzoeken naar externe servers worden uitgevoerd en kunnen wijzigingen die door andere deelnemers zijn voorgesteld worden samengevoegd.
Indien gewenst kunnen gegevens worden gehost in de DoltHub-directory, die kan worden gezien als een soort GitHub voor het hosten van gegevens en samenwerking aan gegevens. Gebruikers kunnen forks van gegevensrepositories maken, hun wijzigingen voorstellen en samenvoegen met hun gegevens. Bijvoorbeeld, in DoltHub zijn verschillende databases te vinden met statistieken over het coronavirus, verzamelingen van geannoteerde gegevens voor machine learning-systemen, taall lexicons, afbeeldingen verzamelingen, datasets voor objectclassificatie en informatie over toewijzing. IP-adressen.
In de «online» modus wordt Dolt SQL Server gestart, waarmee u gegevens kunt manipuleren met behulp van SQL. De aangeboden interface is vergelijkbaar met MySQL en kan worden gebruikt via compatibele MySQL-clients of via de CLI-interface. Dolt fungeert meer als een hulpmiddel voor gegevensmanipulatie dan als een query-verwerkingssysteem. Bijvoorbeeld, standaard kan de SQL-server slechts één actieve verbinding van een gebruiker naar de repository in de huidige directory verwerken (dit gedrag kan worden gewijzigd via instellingen). Er is een mogelijkheid tot overschakelen de server naar een alleen-lezen modus. Veel acties gerelateerd aan versiebeheer kunnen ook via SQL worden uitgevoerd, zoals commits maken of schakelen tussen takken.
Bron: opennet.ru
