Datomic is a
distributed database
A distributed database is a database in which data is stored across different physical locations. It may be stored in multiple computers located in the same physical location (e.g. a data centre); or maybe dispersed over a network of interconne ...
and implementation of
Datalog
Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties ...
. It has
ACID transactions, joins, and a logical query language, Datalog. A distinguishing feature of Datomic is that
time
Time is the continued sequence of existence and events that occurs in an apparently irreversible succession from the past, through the present, into the future. It is a component quantity of various measurements used to sequence events, t ...
is a basic feature of data entities.
Architecture
It has been designed for first-class use with
JVM languages such as Java and
Clojure
Clojure (, like ''closure'') is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other Lisp dialects, Clojure treats code as data and has a Lisp macro system. The current development process is ...
.
In its reference architecture, Datomic uses peers
and transactors
which run on the
JVM.
References
2012 software
NoSQL
Logic programming languages
Proprietary cross-platform software
Proprietary database management systems
{{database-software-stub