Browse Clojure Foundations for Java Developers

Using Datomic and Other Datastores

When a database is more than CRUD: immutable history, queries, and data modeling trade-offs.

Some datastores fit Clojure’s strengths unusually well because they treat data as immutable facts and make history/querying first-class.

This section is about engineering trade-offs:

  • when an immutable log/history model helps (auditing, temporal queries, debugging)
  • how query models change how you think about your domain
  • how to keep datastore-specific types from leaking into your application core

The goal is not “use Datomic everywhere.” It is learning how to evaluate datastores with a Clojure-first mental model.

In this section

Revised on Friday, April 24, 2026