Immutability indeed gives a lot of features to a data store, because nothing ever can go invalid. Doing anything in parallel is trivial. Caching anything is totally safe. Distributed queries can be certain that the other side did not change during a distributed transaction.
The cost of it, AFAICT, is either unbounded growth, or garbage collection, if deletion is even supported.
There are use case for a DB like that, but, unfortunately, it cannot replace most OLTP use cases.
Immutability indeed gives a lot of features to a data store, because nothing ever can go invalid. Doing anything in parallel is trivial. Caching anything is totally safe. Distributed queries can be certain that the other side did not change during a distributed transaction.
The cost of it, AFAICT, is either unbounded growth, or garbage collection, if deletion is even supported.
There are use case for a DB like that, but, unfortunately, it cannot replace most OLTP use cases.
"This is an idea Rich Hickey introduced with Datomic in 2012: "
I am pretty sure the difference between online transaction processing and online analysis processing goes back a bit further than 2012.