Live data from Hacker News

Cognitect: Relevance merges with Metadata Partners (Datomic)

cognitect.com

11–20 of 27 posts

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#11

Any plans to opensource Datomic?

What is the big deal about Datomic? From their FAQ: "Datomic is not a good fit if you need unlimited write scalability, or have data with a high update churn rate (e.g. counters)." Don't you get most of that through... caching? Also, it seems to assume that the dataset will fit into RAM.

TLDR: Datomic is like Git.

In traditional ACID databases (SQL), all queries (read and write) mostly only scale UP (beefier db machine), not OUT (lots of db machines is very hard). Datomic is an ACID database where writes still scale UP, but reads can scale OUT.

Consequences of this separation of read and write means that datomic reads scale practically arbitrarily for both query load and for dataset size. Writes do not.

This is a lot like Git, where you have to push to a central place which orders and rejects commits, but you can make useful reads from your local machine without touching network. Datomic is a lot like Git + realtime secret sauce.

That's only half the value though - Datomic also doesn't have an object relational impedance mismatch. This means Datomic doesn't need ORMs; Datomic's programming model is simpler than SQL for a competitive set of features. So you code faster with less bugs.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#12
post #10
post #8

Earlier quoted context omitted.

Datomic is interesting because it's a different take on what a database should look like. The TLDR version by someone who's looked into it a bit but not actually used it: * Storage, Transactions, and Querying are separated as in different processes/machines separated. * Data is immutable. Storage is pluggable and has implementations on top of Dynamo/Riak. * Transaction semantics and ordering are controlled by a singl…

You mean the whole data is fetched to the client and only queried afterwards? Why did they choose this way?

Only the data you need is fetched (and cached) so the client only has a subset of the database.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#13
post #10
post #8

Earlier quoted context omitted.

Datomic is interesting because it's a different take on what a database should look like. The TLDR version by someone who's looked into it a bit but not actually used it: * Storage, Transactions, and Querying are separated as in different processes/machines separated. * Data is immutable. Storage is pluggable and has implementations on top of Dynamo/Riak. * Transaction semantics and ordering are controlled by a singl…

You mean the whole data is fetched to the client and only queried afterwards? Why did they choose this way?

Only partial indexes are retrieved (what is needed to answer your exact query). The bonus is that that data is now local. Transversing deep structures then often approaches the speed of hash-map lookups. As someone who has worked on very complex SQL databases, this is a major win.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#15
post #14

I miss a piece of info here, could someone please fill in? Rich Hickey is known for Clojure, Metadata Partners for Datomic. What are the Relevance guys known for? (Honest question, not a cheap attempt at dismissal :-) )

Hosting a high density of clojure/core, and all that implies.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#16
post #14

I miss a piece of info here, could someone please fill in? Rich Hickey is known for Clojure, Metadata Partners for Datomic. What are the Relevance guys known for? (Honest question, not a cheap attempt at dismissal :-) )

Quite a few members of the Clojure core team and community work there, as evidenced by the intersection of http://thinkrelevance.com/team and http://clojure.com/about.html.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#18

Any plans to opensource Datomic?

What is the big deal about Datomic? From their FAQ: "Datomic is not a good fit if you need unlimited write scalability, or have data with a high update churn rate (e.g. counters)." Don't you get most of that through... caching? Also, it seems to assume that the dataset will fit into RAM.

It does not at all assume or require that your dataset will fit in RAM. To an extent, it will cache some indexes in RAM of query peers, but there is no expectation that the whole dataset is in RAM.

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#19

Any plans to opensource Datomic?

Follow up: What are some open-source alternatives or similar software?

I'd love to be proved wrong, but I don't think there are any (at least that aren't just research prototypes)

Re: Cognitect: Relevance merges with Metadata Partners (Datomic)

#20
post #14

I miss a piece of info here, could someone please fill in? Rich Hickey is known for Clojure, Metadata Partners for Datomic. What are the Relevance guys known for? (Honest question, not a cheap attempt at dismissal :-) )

Quite a few members of the Clojure core team and community work there, as evidenced by the intersection of http://thinkrelevance.com/team and http://clojure.com/about.html .

In addition, Relevance has had a close relationship with Rich for years, as such we've had a major hand in the development of Clojure, ClojureScript, Datomic, core.async, Pedestal, Simulant, and many other Clojure projects.
Post reply on HN