Fork me on GitHub

Hello everyone,


I am thinking about using Dolt ( to keep track of master data file changes over the lifetime of a project. I like that it uses GIT commands and allows comments for each change. However, i would love to use Clojure and a datalog type db instead. Would this be a good usecase for my needs? If not, is there anything in the Clojure ecosystem that is similar? I don't need all the functionality of Dolt, just to recognize updates to tables and attach comment reasons, and possibly rollback if needed.


As someone who dreams of taking a sabbatical to build a system like this, I feel compelled to issue a disclaimer. it's certainly possible to do, and there's a lot about the Clojure Datalog DBs that make them better candidates than other databases. But even if dolt does more than you need, you need to ask the question of whether maintaining such a Clojure/Datalog based data versioning system yourself is worth the effort as compared with solving the problem you need Dolt to solve. I found myself in a similar situation with DVC, a similar tool. As much as I might have wanted to replace it with something cool like Datahike, at the end of the day, I couldn't justify the maintenance burden it would impose on me.


Trust me, I completely understand where you are coming from, but I am trying to break away from the Python ecosystem (Funny enough, I am also looking at DVC). I just thought this would be a good project to start to learn many part of Clojure, as I am new to the community. My workplace is not expecting the consultants to create something like this, I would just like to create it in my spare time. I guess I am just wondering if this is the right tool for the job if I decided to attempt it.


Here's a project that you might be interested in taking a look at (a different part of the data/ML lifecycle):


@UT2EHQN7Q you can use Datahike to track changes in your data model over time when using the history feature. But things like branch and merge we don't have.


Does Datahike have Redundancy Elimination?


The data structures we use are persistent and therefore can share structures, but it depends on how you write to them whether you actually share structure in practice. It is definitely possible to implement branching and we have prototyped merging two Datahike databases here, but got sidetracked by implementing faster write operations to our indices first.


What do we have to do to get the native-image support on main? @U1C36HC6N @UB95JRKM3


By the way, this implementation is on a system I don't control and the revision aspect isn't something that is native to that software.

🙌 1