"The following post will serve as a brief introduction to the declarative programming paradigm through a closer examination of the logic programming language Datalog."
"Datomic is a distributed database designed to enable scalable, flexible and intelligent applications, running on next-generation cloud architectures.
It does this by:
Bringing declarative data manipulation into the application, and the data with it
Getting time, process and perception right
Process (writes) require coordination
Perception (reads) require none
The past doesn't change
Leveraging immutability, and a sound model of state
Datomic has:
ACID Transactions
Joins
A sound data model
A logical query language - Datalog
Thus, Datomic avoids the compromises and losses of many NoSQL solutions. In addition, it offers flexibility and power over the traditional model in supporting:
Hierarchy
Multi-valued attributes
Minimal schema
Reliable operation on unreliable, ephemeral cloud instances
Time
Datomic avoids manual caching and replication, complex configuration, sharding (automatic or manual), logging, locking, latching and disk management of traditional servers."