Skip to content
Tech News
← Back to articles

DoltLite: A SQLite fork with Git-style version control, built with 2k agent PRs

read original more articles
Why This Matters

DoltLite's transition to Beta marks a significant advancement in integrating version control directly into SQLite, enabling developers to branch, merge, and sync databases with Git-style features. This innovation simplifies managing database versions and collaboration, potentially transforming workflows in the tech industry and for consumers needing more robust data management tools.

Key Takeaways

My baby is growing up. Just five months after launch, DoltLite is Beta, version 0.50.0.

DoltLite started as a lark. I needed a pet project to test with Steve Yegge’s innovative agent orchestrator, Gas Town. I wanted a real problem, not a toy. We wanted an embedded version of Dolt for years but rewriting Dolt’s storage engine in C or Rust was a bridge too far. SQLite seemed like a logical host for that engine. Could a team of agents pull it off? It only took about 2,000 pull requests but DoltLite going Beta proves a team of agents certainly could.

This article explains what DoltLite is and what a Beta launch means.

What Is DoltLite#

DoltLite is a fork of SQLite. Everything above the B-tree layer is the same. That means the SQL parser and analyzer, the file system interaction layer, and test harness are stock SQLite. With other Dolt products we had to implement a SQL engine on top of version-controlled storage. Building a SQL engine is hard. With DoltLite we got one for the cost of writing a version-controlled storage engine in C.

The B-tree layer is swapped out for a Prolly Tree backed by a single file chunk store. Prolly Trees are content-addressed B-trees. This magical data structure powers the version control functionality in all Dolt products.

That means you get all the version control features of Dolt and Git in a SQLite package. Have you ever wanted to branch, merge, and diff SQLite? DoltLite is for you. Or maybe even more importantly, have you ever wanted a conflict aware SQLite sync engine powered by Git-style push, pull, clone, and fetch? DoltLite is for you. You can even use DoltHub as your sync backend.

What Does Beta Mean?#

So what does DoltLite going Beta mean for you? Beta means four things:

Storage Format Stability SQL Compatibility Full Version Control Production Performance

... continue reading