Dolt's core proposition is deceptively simple: a SQL database where every change is automatically versioned with Git semantics. In practice, this means every INSERT, UPDATE, and DELETE creates a commit. Tables can be branched independently, modifications diffed at the row level, and branches merged with three-way conflict resolution. These operations execute as SQL stored procedures inside normal transactions, which means version control is not an external layer bolted on but a fundamental database capability.
MySQL wire protocol compatibility is the decision that makes Dolt practical rather than academic. Any MySQL client, ORM, or application that connects to MySQL works with Dolt without modification. This means existing tools like MySQL Workbench, Prisma, Sequelize, and thousands of MySQL-compatible applications gain automatic versioning simply by pointing their connection string at Dolt instead of MySQL. The migration cost from MySQL to Dolt is as close to zero as database migrations can realistically get.
The branching model works exactly as developers expect from Git. Create a branch with CALL dolt_checkout to experiment with a schema change or data transformation. Run dolt_diff to see exactly which rows were modified, added, or deleted. Merge back with dolt_merge and the system handles three-way conflict resolution automatically, flagging true conflicts for manual review. The entire history is queryable through SQL — you can SELECT data as it existed at any point in time.
DoltHub provides a GitHub-style collaboration platform for databases. Teams fork databases, browse table histories through a web interface, submit pull requests on data changes, and review row-level diffs before merging. This makes Dolt particularly powerful for collaborative data curation, where multiple analysts or data engineers need to modify the same dataset with proper review workflows rather than hoping their edits do not conflict.
AI and ML workflows are where Dolt's versioning primitives become transformative. Training data can be branched per experiment, letting teams test different preprocessing approaches or labeling strategies without duplicating the entire dataset. Diffing between branches reveals exactly which rows changed between training runs, making it straightforward to diagnose why model performance shifted. The full commit history serves as an audit trail that regulators and compliance teams increasingly demand.
The agent memory use case has emerged organically from the community. AI agents that need persistent memory can branch a Dolt database per session, write conversation state and tool outputs freely, and merge results back to a shared knowledge base. Concurrent agents operating on separate branches never interfere with each other. The database's native conflict resolution handles the inevitable overlapping writes when agents merge their work.
Performance benchmarks show Dolt's read throughput approaching MySQL parity for standard queries, with writes carrying a small overhead from the versioning bookkeeping. The prolly-tree storage engine optimized for versioned data handles the additional metadata efficiently. For most application workloads, the performance difference is negligible. Write-heavy transactional workloads at extreme scale may notice the overhead.