clojurelog / clojurelog.github.io

Matrix of Open Source Clojure Datalog Databases
https://clojurelog.github.io
Creative Commons Zero v1.0 Universal
26 stars 4 forks source link

Suggestion: add Datomic #9

Open maxrothman opened 2 years ago

maxrothman commented 2 years ago

If you're not already familiar with Datomic, then you wouldn't necessarily know how the options presented in the site stack up against it. I think it would be a valuable addition, and might highlight the strenghts and weaknesses of the alternative models presented by tools like Asami and XTDB.

refset commented 2 years ago

Hi @maxrothman thanks for opening an issue to discuss this. I was keen to initially keep this analysis focused on open source projects as it was a more practical target, although I recognise that comparisons with Datomic would be quite helpful for everyone also.

I expect it would involve adding several new rows/dimensions, and it ought to have some cooperation / blessing from Cognitect too - PRs are welcome :)

In the meantime, I would be happy to try to answer comparison questions here as best I can (and hopefully others can chime in too!).

maxrothman commented 2 years ago

Do you think there'd be incremental value in simply adding a column for Datomic to the existing chart and filling out the existing rows? I agree that more dimensions are better, but as a newbie to Datalog databases, I at least would find it very useful to have something imperfect now over something perfect one day. If not in the chart, I would at least be interested in having that info memorialized in this ticket.

Unfortunately as a newbie I don't know enough about Datomic to usefully contribute to a PR. Hence this ticket!

refset commented 2 years ago

Do you think there'd be incremental value in simply adding a column for Datomic to the existing chart and filling out the existing rows?

Perhaps a little bit, but it really couldn't do Datomic justice without adding quite a few more rows (e.g. "has existed for 8+ years", "underpins a bank"), and I wouldn't want to publish anything without proper agreement/consent and mutual enthusiasm. Perhaps @MageMasher (hey!) or someone else relevant might want to chime in (or not, feel free to ignore :).

something imperfect now over something perfect one day

:pray:

nikonikoniko commented 2 years ago

Hello! I would also like to throw my hat in the pile and say it would be helpful to have datomic listed there. This table is the first thing (from a beginner's perspective) that allowed me to understand the full scope of these datalog databases, and it would be helpful to know if any of these open source implementations can do anything that datomic can't.

Would Datomic simply have a "yes" to each of the current features?

refset commented 2 years ago

it would be helpful to know if any of these open source implementations can do anything that datomic can't

Hey @nikonikoniko - on this point specifically, vs. XT, I would say 'no' for:

  1. Valid-Time history
  2. Lazy queries
  3. Ad-hoc "document" storage (i.e. maps of arbitrary types)
  4. Low-latency commits (asynchronous indexing)