DataScript
Immutable database and Datalog query engine for Clojure, ClojureScript
...You create a database on page load, put some data in it, track changes, do queries and forget about it when the user closes the page. DataScript databases are immutable and based on persistent data structures. In fact, they’re more like data structures than databases (think Hashmap). Unlike querying a real SQL DB, when you query DataScript, it all comes down to a Hashmap lookup. Or series of lookups. Or array iteration. There’s no particular overhead to it. You put a little data in it, it’s fast. You put in a lot of data, well, at least it has indexes. That should do better than you filtering an array by hand anyway. ...