A user will generated events which serves two purposes:1. update the db. 2. tell downstream event handler.
I wonder if this thing is possible with Datomic alone instead of Datomic + Kafka.
You can process the transaction log and use it to trigger downstream events.
Yup. Think about that too. Is it a production-used approach? Are you aware of any working example?
For completionist sake:
(time (do (mapv (fn [x] (update x :field :db/ident)) corpus) nil)) "Elapsed time: 142.214586 msecs" => nil
Yeah, they use this to do decanting.