Datomic architecture
Datomic is a distributed database that supports ACID (http://docs.datomic.com/acid.html) transactions and stores data as immutable facts. Datomic is focused on providing a robust transaction manager to keep the underlying data consistent, a data model to store immutable facts, and a query engine to help retrieve data as facts over time. Instead of having its own storage, it relies on an external storage service (http://docs.datomic.com/storage.html) to store the data on disk.
Datomic versus traditional database
A typical database is implemented as a monolithic application that contains the storage engine, query engine, and the transaction manager all packaged as a single application to which clients connect to store and retrieve data. Datomic, on the other hand, takes a radical approach of separating out the Transaction Manager (Transactor) as a separate process to handle all the transactions and commit the data to an underlying Storage Service that acts as a persistence...