Recently the Dolt project was unveiled, which develops a database management system that combines SQL support with Git-style data version control. The interesting thing about Dolt is that it allows the user to clone tables, branch, merge tables and perform push and pull operations similar to those of a git repository.
At the same time, this database management system supports SQL queries and is compatible with MySQL at the client interface level. The possibilities of versioning the data allow the user to trace the origin of the data, as well as the link to confirmations that allows correcting the status to obtain identical results, which, regardless of the current status, can be repeated in other systems in any moment.
In addition to it users have the facility to browse history, as well as track table changes using SQL without the need to reconcile backups, audit changes, and also generate queries that span data at a specific point.
On the project repository page the creator describes Dolt as follows:
Dolt is a SQL database that you can fork, clone, fork, merge, push and pull like a git repository. Connect to Dolt like any MySQL database to run queries or update data using SQL commands. All the commands you know for Git work exactly the same for Dolt. Git version files, Dolt version tables. It's like Git and MySQL have a baby!
The DBMS pIt provides two modes of operation: offline and online.
- In offline mode after disconnecting, the database content becomes available as a repository, with which you can perform actions using a git-like command-line utility.
- Dolt SQL Server is launched in "online" mode, which allows data manipulation using the SQL language. The provided interface is close to MySQL and can be used by connecting MySQL compatible clients or using the CLI interface.
It works very similar to git and it differs mainly in that the changes are not tracked for the files, but for the contents of the tables. Through the proposed CLI, you can import data from CSV or JSON files, add commits with changes, show differences between versions, create versions, set tags, submit requests to external servers, and combine changes submitted by other contributors.
If the user wishes, the data can be placed in the DoltHub directory, which can be viewed as a GitHub analog for hosting data and collaborating on data. Users can fork data repositories, propose changes, and merge with their data.
For example, on DoltHub, you can find various databases with coronavirus statistics, annotated data collections for machine learning systems, language lexical databases, image collections, object classification kits, and IP address property information. .
Having said that, Dolt is more of a data manipulation tool than a query processing system. For example, by default, the SQL server can handle only one active user connection to the repository located in the current directory (this behavior can be changed through configuration). It is possible to put the server in read-only mode. Many of the actions related to version control can also be performed through SQL, such as committing or switching between branches.
Finally, if you are interested in knowing more about it of this database management system, they should know that the project code is on GitHub, It is written in the Go language and is distributed under the Apache 2.0 license.
How to install Dolt on Linux?
For those who are interested in being able to install this DBMS on their system, they should know that Dolt is multiplatform and in the case of those of us who use Linux we can perform the installation by opening a terminal and executing the following command:
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'