Using Datascript
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.
Understanding the Datascript/Datomic data model
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.
Note
A datom is a tuple (an ordered list of elements) composed of entity/attribute/value/time, commonly...