Hacker News new | ask | show | jobs
by jddj 805 days ago
I always found the idea behind dolt to be very enticing.

Not enticing enough to build a business around, due to it being that bit too different and the persistence layer being that bit too important. But the sort of thing that I'd love it if the mainstream DBs would adopt.

I didn't realise the engine was written in Go, and honestly the first place my mind wonders is to performance.

3 comments

If you like the idea of the Dolt prolly trees[1], I'm building a database[2] that uses them for indexing, (eventually) allowing for shared index updates across actors. Our core uses open-source JavaScript[3], but there are a few other implementations including RhizomeDB in Rust[4]. I'm excited about the research in this area.

[1] https://docs.dolthub.com/architecture/storage-engine/prolly-...

[2] https://fireproof.storage

[3] https://github.com/mikeal/prolly-trees

[4] https://jzhao.xyz/thoughts/Prolly-Trees

We haven't benchmarked the in-memory database implementation bundled in go-mysql-server in a while, but I would be surprised if it's any slower than MySQL, considering that Dolt runs on the same engine and is ~2x slower than MySQL including disk-access.

https://docs.dolthub.com/sql-reference/benchmarks/latency

Version Control is not the type of thing "mainstream DBs would adopt".

We needed to build a custom storage engine to make querying and diffing work at scale:

https://docs.dolthub.com/architecture/storage-engine

It based on the work of Noms including the data structure they invented, Prolly Trees.

https://docs.dolthub.com/architecture/storage-engine/prolly-...