Datomic&#x27;s immutable storage and time-travel query capabilities are awesome, and I often miss them in other DBs. But Datomic currently isn&#x27;t designed for write-intensive workloads. And while you can shard Datomic&#x27;s transactor and then combine multiple DBs in a query (<a href="http:&#x2F;&#x2F;nosql.mypopescu.com&#x2F;post&#x2F;19310504456&#x2F;thoughts-about-datomic#comment-465580077" rel="nofollow">http:&#x2F;&#x2F;nosql.mypopescu.com&#x2F;post&#x2F;19310504456&#x2F;thoughts-about-d...</a>), that&#x27;s only going to get you so far.<p>However, Apache Geode lets you add custom indexes so it might not be too hard to add Clojure&#x27;s persistent data structures as a custom index scheme and hook in Apache Geode as a backend to Clojure Datalog:<p>Clojure Datalog: <a href="https:&#x2F;&#x2F;github.com&#x2F;fogus&#x2F;bacwn" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fogus&#x2F;bacwn</a><p>Datscript: <a href="https:&#x2F;&#x2F;github.com&#x2F;tonsky&#x2F;datascript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tonsky&#x2F;datascript</a><p>Clojure&#x27;s Persistent Data Structures for Java: <a href="https:&#x2F;&#x2F;github.com&#x2F;grignaak&#x2F;clj-ds" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;grignaak&#x2F;clj-ds</a>