Pitfalls of Isolation Levels in Distributed Databases
planetscale.comWeak article with numerous factual errors. SERIALIZABLE is much more feasible than they say
https://www.postgresql.org/docs/9.5/transaction-iso.html
and can be done w/o any locking or waiting -- you can keep track of which data transaction A has accessed and if transaction B commits that changes something A depends on you abort transaction A and the application can try it over.