Search code examples
clojurestatedistributeddatomic

In Clojure, is a distributed atom in Datomic the same concept as a distributed atom in Avout?


When I look at the Avout Framework - I see an advanced system for distributed transactional state in Clojure. There is a concept of a Distributed Atom.

Now I create a distributed atom in my code - I'm going to call it a datom. But this triggers off a thought of another Clojure Framework Datomic (link).

Now it appears that Datomic is a distributed mechanism for storing facts (called Datoms).

Now I have some program state I'd like to distribute. (eg Two real-time tanks on a grid with multiple different clients without turns). I'm trying to make a decision about distributing this state using Avout or Datomic - and even if I can use both of these to solve my problem.

My question is: In Clojure, is a distributed atom in Datomic the same concept as a distributed atom in Avout?


Solution

  • No, these are two very different things. A Datomic datom is an immutable tuple, an Avout atom is a distributed atom. Datomic's datom is not short for distributed atom, it is a play on words from "datum", which is the singular form of "data".