What It Does
Dolt is a SQL database with git-style version control built in. You can fork, clone, branch, merge, push, and pull data just like a git repository, while querying it via a MySQL-compatible wire protocol. Every write is tracked in a commit graph, enabling efficient diffs between any two commits and three-way merges between branches. The commercial entity behind Dolt is DoltHub, which also provides a web-based collaboration platform for Dolt databases.
Dolt exposes version control operations as SQL system tables (for reads) and stored procedures (for writes), meaning existing MySQL clients and ORMs can interact with versioning features without special tooling. The project also has spin-offs: DoltgreSQL (PostgreSQL-compatible, beta quality) and DoltLite (SQLite-compatible, announced March 2026).
Key Features
- Git semantics for SQL data: Branch, commit, merge, diff, push, pull on structured data
- MySQL wire protocol compatibility: Drop-in replacement for MySQL in many scenarios; use existing clients, ORMs, and tools
- Cell-level merge: Three-way merge at the individual cell level, not just row-level, reducing merge conflicts
- Commit graph and audit trail: Every data change tracked with author, timestamp, and message
- Embedded and server modes: Run in-process (embedded) or as a standalone MySQL-compatible server
- DoltHub collaboration: Web UI for pull requests, code review of data changes, and hosting
- Conflict resolution: Schema and data conflicts surfaced as queryable system tables
- Replication: Push/pull between remotes, similar to git remotes
Use Cases
- Data versioning and audit: Regulated industries needing complete data lineage and the ability to roll back to any point in time
- Collaborative data editing: Multiple contributors editing shared datasets with branch/merge workflows and pull request review
- AI/ML data pipelines: Version training datasets, track data drift, reproduce experiments from specific data snapshots
- Embedded database for tools: Used by Beads (bd) as a version-controlled backend for AI agent issue tracking
- Testing with data branches: Create branches for test data without affecting production, merge validated changes
Adoption Level Analysis
Small teams (<20 engineers): Fits for niche use cases where data versioning is the primary requirement. The embedded mode is lightweight. However, operational knowledge of both SQL and git semantics is required, which is a steeper learning curve than plain SQLite or PostgreSQL.
Medium orgs (20-200 engineers): Fits if data versioning is a core workflow requirement (e.g., ML teams, data collaboration). DoltHub provides hosting and collaboration UI. Performance overhead vs. PostgreSQL/MySQL is a real consideration for high-throughput workloads.
Enterprise (200+ engineers): Uncertain. DoltHub offers commercial hosting, but Dolt lacks the ecosystem maturity, tooling breadth, and battle-tested production track record of PostgreSQL or MySQL. The PostgreSQL-compatible variant (DoltgreSQL) is still in beta. No major enterprise adoption case studies found.
Alternatives
| Alternative | Key Difference | Prefer when… |
|---|---|---|
| PostgreSQL + temporal tables | Mature, massive ecosystem, append-only audit | You need audit trail but not branch/merge semantics |
| Git LFS + CSV/Parquet | Simple file versioning, no SQL | Datasets are files, not relational tables |
| LakeFS | Git-like ops for data lakes (S3/GCS) | Your data lives in object storage, not SQL |
| DVC (Data Version Control) | ML-focused data/model versioning | You need experiment tracking alongside data versioning |
| SQLite + manual backups | Zero complexity, widely supported | You don’t need branching or collaboration |
Evidence & Sources
- Dolt GitHub Repository
- Dolt Documentation
- DoltHub Platform
- Dolt performance comparison to PostgreSQL/MySQL (GitHub issue #6536)
- Database of Databases — Dolt (CMU)
- DoltLite announcement (March 2026)
- Hacker News discussion on Dolt
Notes & Caveats
- Performance gap: Dolt is reported to be approximately 26x slower than PostgreSQL/MySQL in some benchmark scenarios (GitHub issue #6536). The Dolt team has been closing this gap but it remains a concern for high-throughput workloads.
- Server mode database dropping: Documented issue where migrating from embedded to server mode can cause databases to silently disappear from
SHOW DATABASESdespite existing on disk. Critical for production deployments. - MySQL-only wire protocol: The main Dolt only speaks MySQL protocol. PostgreSQL compatibility requires DoltgreSQL, which is still beta quality as of early 2026.
- Niche adoption: Dolt solves a genuinely unique problem (version-controlled SQL) but the intersection of users who need both SQL and git semantics is small. Most teams needing data audit use temporal tables or append-only patterns.
- Build complexity for embedded use: Embedding Dolt in Go applications requires CGO and C toolchain dependencies, which complicates cross-compilation and CI/CD.
- DoltHub commercial model: The open-source database is Apache-2.0, but DoltHub (the collaboration platform) is commercial. Standard open-core model with associated vendor dependency risks.