https://medium.com/@amulyakandukuri4/mastering-sql-transactions-and-concurrency-ensuring-data-integrity-e5b6ba018cda