Remix.run Logo
IanCal a day ago

A version controlled db? Have a look at dolts main page then, it’s been around for some time - this is just adding an embedded version.

1718627440 21 hours ago | parent | next [-]

If you want to take a version from a database, it's usually for backup. If you want different versions in your data, you put that IN the database. Manually merging different database versions does not sound too surprising.

A VCS is useful for code, because plaintext lacks a version feature. This problem does not exist for databases, because you design the structure yourself.

IanCal 15 hours ago | parent [-]

> If you want to take a version from a database, it's usually for backup. If you want different versions in your data, you put that IN the database. Manually merging different database versions does not sound too surprising.

This is not primarily for backups and has been part of ml and ds work for a while. And more, but that’s where I hit it.

> This problem does not exist for databases, because you design the structure yourself.

It is entirely possible to solve a lot of this in a more generic way, so that you don’t have to solve it each time. That’s what dolt is about.

Here’s a blog post from a few years ago with some use cases from actual users

https://www.dolthub.com/blog/2024-10-15-dolt-use-cases/

thesz a day ago | parent | prev | next [-]

There are filesystems (ZFS and btrfs) with snapshots and this feature can be used to version-control things. They both do copy-on-write and this is pretty close to what content-addressable storage would give you in terms of compression.

IanCal 15 hours ago | parent [-]

With merging updates between branches?

thesz 14 hours ago | parent [-]

Physical or semantic merging?

darkfloo a day ago | parent | prev | next [-]

What problems does a version controlled database solves that is not solved by proper table auditing ?

timsehn 19 hours ago | parent | next [-]

For DoltLite in particular, push/pull/clone/fetch are an elegant solution to the local-first sync problem. You can use data conflicts instead of CRDTs.

https://www.dolthub.com/blog/2026-04-27-why-doltlite/

In general, branch and merge seem to be required primitives for agentic writes. Would you let a coding agent change your code if it wasn't in Git? We think the same will apply to databases.

zmmmmm 20 hours ago | parent | prev [-]

not having to implement proper table auditing?

bawolff a day ago | parent | prev [-]

I read it, and i think i understand even less than when i started.

grebc a day ago | parent [-]

They’re probably a VC backed product in search of a solution.

IanCal 11 hours ago | parent [-]

Version controlled data is a legitimate solution to actual problems.

grebc 10 hours ago | parent [-]

Care to name them?