https://medium.com/@mdportnov/understanding-database-isolation-levels-balancing-concurrency-and-consistency-6290b79cc96e