Data and databases · Edition No. 27 · 21 Sep 2026

dolthub/dolt

A SQL database you can branch, commit, compare and merge like a code repository.

← Data and databasesRead the whole edition →

24.0k stars · Apache-2.0 · v2.3.5 (2026-09-16), read from /releases/latest; the yearless '16 Sep' resolves to 2026 because it is in the past. ungh.cc's cached copy was OLDER, showing v2.2.3 of 2026-07-30 and pushedAt 2026-07-24, so GitHub's own page was taken as newer · Track this in Scout

A SQL database you can branch, commit, compare and merge like a code repository.

Repo detailsthe review · specs · pros & cons · install

What it is

A database that speaks the MySQL protocol, so most existing tools and libraries connect to it unchanged. Version control is exposed as SQL: there are system tables you can query for history and stored procedures for commit, branch, merge and reset.

What it is good for. Data that people edit by hand and argue about afterwards: price lists, mapping tables, configuration, reference data, a dataset several people maintain together. In an ordinary database the question "what changed last week and who changed it" has no answer unless somebody built an audit system in advance. Here it is one query. It is also a good fit for data shipped alongside code, because a change to the data can be reviewed the same way a change to the code is reviewed, before it is merged.

Stars24.0k
LicenceApache-2.0
Latestv2.3.5 (2026-09-16), read from /releases/latest; the yearless '16 Sep' resolves to 2026 because it is in the past. ungh.cc's cached copy was OLDER, showing v2.2.3 of 2026-07-30 and pushedAt 2026-07-24, so GitHub's own page was taken as newer
Good
  • Apache-2.0 and a single program to install, with no cluster and no extra services.
  • MySQL-compatible up to MySQL 8.4, so an existing application can often point at it with only a connection string change.
  • The version-control features are real database features, not a wrapper: branching and merging happen inside the engine.
Watch for
  • It is slower than MySQL on some operations. The project publishes its own benchmark table with every release, which is honest and also means you should read it.
  • Version control on data is a habit, not a switch. If nobody commits, you have an ordinary database with extra commands.
  • Merging data has conflicts just as merging code does, and resolving them is a job somebody has to understand.
Similar repositories
Install
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
mkdir mydata && cd mydata
dolt init
dolt sql -q "CREATE TABLE prices (sku VARCHAR(16) PRIMARY KEY, amount INT)"
dolt commit -Am "first version"
Screenshots
dolthub/dolt: GitHub preview carddolthub/dolt: Screenshot 1dolthub/dolt: Screenshot 2dolthub/dolt: Screenshot 3dolthub/dolt: Screenshot 4

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.