Datascript is an in-memory database for ClojureScript, modeled after Datomic, the commercial Clojure database produced by Cognitect. Why do we need an in-memory database in the browser? We've spent most of the book learning how to create more powerful applications. The core.async
channels, WebSockets and Om have given us the tools to collect and render large amounts of data. Adding a database to our large, complex SPA provides a useful tool for conveniently organizing and locating our data.
Datascript is closely modeled after Datomic due to Datomic's powerful API, and using the same API on client and server eliminates the need for a translation layer. We'll cover Datomic's data model and point out differences between the two.
Datomic is a consistent (CP, in CAP terms), ACID, non-SQL database built around the concept of a datom.