PRODUCTS

KEYWORDS

Improving DoltLite

A couple weeks ago, we released DoltLite, a free, open source drop-in replacement for SQLite with Dolt-style version control features. DoltLite is entirely vibe-coded using Gas Town.

DoltLite Logo

Yesterday, Aaron reviewed it.

[DoltLite is] filled with…detritus, evidence of abandoned attempts, and [a] clear lack of understanding, at parts, of what problems we were trying to solve or what was important about our attempt to solve them.”

A Trad Coder killed my vibe. Working with my Mayor for six hours, I addressed the feedback.

That’s not it. Since the release, I spent another week and about $2,000 more in tokens improving DoltLite’s performance and correctness. I also added remote functionality and the attach feature. DoltLite is getting better quickly. Do I know “what problems we were trying to solve or what was important about our attempt to solve them”? No. That’s Claude’s job. Maybe Mythos will figure it out. Trad Coders gonna hate.

All DoltLite needs now is users so we can keep turning the quality flywheel. If you are interested in trying DoltLite to make it better or help with our vibe-coding experiment, come by our Discord or email me.

Performance#

The main performance metrics we use to measure Dolt is the sysbench test suite. Dolt is about 5% faster than MySQL on sysbench so we know Prolly Trees can be fast.

When we launched DoltLite, it had some performance problems, mostly with indexes. Fixing these performance problems was far and away the bulk of the work done since the DoltLite release. This was hand-to-hand combat with Claude fixing bugs in its Prolly Tree and index implementations.

I’m happy to report every sysbench metric is within 4X SQLite with the vast majority being under 2X. DoltLite is about as fast as it’s going to be for now.

DoltLite Performance

Correctness#

DoltLite passes all 5.7M tests in sqllogictest. This test suite tests complicated SQL queries. We use sqllogictest to test Dolt’s correctness as well. The SQLite query engine is untouched in DoltLite, meaning DoltLite’s Prolly Tree storage mimics SQLite’s B-Tree storage effectively.

Remotes#

The major missing version control feature at DoltLite release was remote functionality. DoltLite did not support clone, push, pull, or fetch. Remote features have been implemented as of DoltLite 0.3.0. DoltLite supports file and http remotes and ships with an http remote server.

Attach#

An early adopter requested the attach feature so DoltLite could attach to existing SQLite databases. attach was implemented as of DoltLite 0.3.5. attach makes it easy to migrate data from an existing SQLite database into DoltLite or mix versioned and unversioned data.

Conclusion#

DoltLite keeps getting better even if it can’t withstand a Trad Code review yet. Use it! If you are interested in trying DoltLite, come by our Discord and tell us about it. Vibe coders unite!