Given that you're just a prototype, if you don't need strength, a simple atom will do. If you want durability using simple files look at https://github.com/alandipert/enduro
You can have one atom at a table or you can have an atom with a table-> docs map, no matter what you find easier. Any request will be just a filter.
For example, to add a document:
(def my-db (atom {}))
(defn add [table doc] (swap! my-db update-in [table] conj doc))
(defn search-by-name [table name]
(filter
source
share