Immutability indeed gives <i>a lot</i> 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.<p>The cost of it, AFAICT, is either unbounded growth, or garbage collection, if deletion is even supported.<p>There are use case for a DB like that, but, unfortunately, it cannot replace most OLTP use cases.