Consistent updates in Datomic [Clojure/south 2019]

Gustavo BicalhoSep 1, 2019

PDF of slides

Datomic updates in production systems face a choice: take advantage of dead-simple reads with snapshot isolation in application code, or shove business logic into the serial transactions for foolproof consistency.

The first option is good enough for many applications – until it bites you back and you end up charging your customers doubled fees. The second option is as safe as it gets – until you hit a scale of millions of customers and the transactor cannot keep up.

In this talk, you will learn a few techniques we use in production to navigate this tradeoff and ensure consistency between the snapshot and the transactional levels.