Hacker Newsnew | past | comments | ask | show | jobs | submit | timsehn's commentslogin

We actually wrote another blog about this because I had the same question. I am the CEO of DoltHub so I can have my engineers write stuff to explain it to me :-)

https://www.dolthub.com/blog/2025-06-26-prolly-tree-balance/


We built a MySQL-compatible one and are building a Postgres-compatible one :-) Free and open source.

https://github.com/dolthub/dolt

We use the reset functionality to speed up our tests.

https://www.dolthub.com/blog/2022-06-10-enginetest-perf/



Coming soon we'll have the ability to replicate a branch HEAD to MySQL as well.


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-...


Most direct users of go-mysql-server use it to test Golang <> MySQL interactions without needing a running server.

We here at DoltHub use it to provide SQL to Dolt.


> Why is Dolt MySQL flavored?

TLDR; Because go-mysql-server existed.

https://www.dolthub.com/blog/2022-03-28-have-postgres-want-d...

We have a Postgres version of Dolt in the works called Doltgres.

https://github.com/dolthub/doltgresql

We might have a go-postgres-server package factored out eventually.



That's awesome. I will have to try that out.


So you can do local first with the `dolt_clone()`, `dolt_remote()`,`dolt_fetch()`, `dolt_pull()`, and `dolt_push()` procedures:

https://docs.dolthub.com/sql-reference/version-control/dolt-...

as well as the `dolt_remotes` system table:

https://docs.dolthub.com/sql-reference/version-control/dolt-...

We have a ton of remote options:

https://docs.dolthub.com/sql-reference/version-control/remot...

Right now, DoltHub (https://www.dolthub.com/) will still work as a remote but all the SQL there will be the MySQL version. Over time the Doltgres storage format may become more bespoke and we'll have to figure out how DoltHub will work.


Queries on DoltHub need to go to S3 to fetch all the chunks. This only works for databases < 1GB generally. You will get much better performance if you clone the database locally.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: