dolthub/dolt
Dolt – Git for Data
Dolt – Git‑style version control for SQL data
What it is – Dolt is a relational database (MySQL‑compatible) that treats tables like files in a Git repository. You can fork, clone, branch, merge, push, pull and commit changes to data and schema using the same commands you know from Git, either via a command‑line tool (dolt) or through SQL system tables, functions and stored procedures.
Why it matters – Traditional databases keep a single, mutable state. Dolt adds time‑travel and collaborative capabilities: every change is recorded as a commit, you can view diffs, resolve merge conflicts, and roll back to any point in history. This makes it useful for data‑centric workflows such as collaborative analytics, reproducible research, and—importantly for AI—agent memory where multiple agents need a shared, versioned knowledge base.
Key features
- Git‑like CLI –
init,add,commit,branch,merge,push,pull, etc., operate on tables instead of files. - SQL‑level version control – system tables like
dolt_log,dolt_statusand stored procedures such asdolt_add,dolt_commitexpose the same functionality inside any MySQL client. - MySQL‑compatible server –
dolt sql-serverruns on the standard MySQL port (3306); any MySQL client can connect. - Full relational features – foreign keys, indexes, triggers, check constraints, stored procedures, and up to twelve‑table joins.
- Hosting options – public sharing via DoltHub, self‑hosted DoltLab, or fully managed Hosted Dolt. A PostgreSQL‑compatible front‑end (Doltgres) is also available.
- Cross‑platform installation – binaries (~103 MB), Homebrew, Arch, Chocolatey, Docker images, or build from source (Go + cgo).
Typical workflow
dolt inita new repository (creates a folder for the database).- Start the server:
dolt sql-server. - Connect with any MySQL client (
dolt -u root -p '' sqlor the standardmysqlclient). - Create/alter tables via normal SQL.
- Stage changes with
dolt_add(ordolt add <tables>), then commit withdolt_commit -m "msg". - Use
dolt_log,dolt_diff_<table>ordolt_statusto inspect history, anddolt mergeto combine branches.
Use cases highlighted by the project
- Collaborative data science and analytics pipelines.
- Versioned datasets for reproducible research.
- Agent memory stores for multi‑agent AI systems (the README calls it “the best database for agent memory”).
- Public data sharing (e.g., the DoltHub dataset catalog).
Getting started – Install via the provided script, Homebrew, Docker, or download the binary; configure a user name/email with dolt config; then follow the quick‑start in the README to spin up a server, create a schema, commit, and explore diffs.
All details above are taken directly from the repository’s README; no external assumptions have been added.
Related
- Project
- Project
- Project
- Project
- Project