Readit News logoReadit News
timsehn commented on People Keep Inventing Prolly Trees   dolthub.com/blog/2025-06-... · Posted by u/lifty
zombot · 6 months ago
What the hell does "probabilistically balanced" mean?
timsehn · 6 months ago
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/

timsehn commented on How to test without mocking   amazingcto.com/mocking-is... · Posted by u/alexzeitler
Pxtl · 2 years ago
The problem with the CRUD situations is I haven't seen a database that resets to precondition states quickly.
timsehn · 2 years ago
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/

timsehn commented on Dolt Is Git for Data   dolthub.com/... · Posted by u/beefman
nikole9696 · 2 years ago
That seems like an unfortunate name. "Dolt" is another word for "idiot".
timsehn commented on A MySQL compatible database engine written in pure Go   github.com/dolthub/go-mys... · Posted by u/mliezun
geenat · 2 years ago
Interesting!

> If you have an existing MySQL or MariaDB server, you can configure Dolt as a read-replica. As the Dolt read-replica consumes data changes from the primary server, it creates Dolt commits, giving you a read-replica with a versioned history of your data changes.

This is really cool.

timsehn · 2 years ago
Coming soon we'll have the ability to replicate a branch HEAD to MySQL as well.
timsehn commented on A MySQL compatible database engine written in pure Go   github.com/dolthub/go-mys... · Posted by u/mliezun
jddj · 2 years 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.

timsehn · 2 years ago
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-...

timsehn commented on A MySQL compatible database engine written in pure Go   github.com/dolthub/go-mys... · Posted by u/mliezun
malkia · 2 years ago
Is this for integration/smoke testing?
timsehn · 2 years ago
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.

timsehn commented on A MySQL compatible database engine written in pure Go   github.com/dolthub/go-mys... · Posted by u/mliezun
maxloh · 2 years ago
I know it is a matter of choice, but why was MySQL chosen instead of PostgreSQL? The latter seems to be more popular on Hacker News.
timsehn · 2 years ago
> 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.

timsehn commented on Figure out who's leaving the company: dump, diff, repeat   rachelbythebay.com/w/2024... · Posted by u/l0b0
GauntletWizard · 2 years ago
Dolt is really close and yet just doesn't feel right; I don't want to "commit" between transactions, I want every transaction to be a commit.
timsehn · 2 years ago
timsehn commented on Show HN: DoltgreSQL – Version-Controlled DB, Like Git and PostgreSQL had a baby   github.com/dolthub/doltgr... · Posted by u/Hydrocharged
hahn-kev · 2 years ago
Really exciting, I was interested in Dolt but I prefer postgres.

I'm curious if you have any plans for local first development. I love the idea of a version controlled database, but I want to use it for local first and distributed data syncing for users who are frequently without internet. It's not clear how you would do this without running the database locally. Do you have thoughts on this? DoltLite?

timsehn · 2 years ago
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.

u/timsehn

KarmaCake day347February 15, 2019
About
CEO of DoltHub
View Original