32.3. Concurrency Control
Concurrency control is the part of transaction handling that deals with the way multiple users access the shared database without running into each other—like a traffic light system. One way to avoid any problems is to allow only one user in the database at a time. The only problem with that solution is that the other users are going to get lousy response time. Can you seriously imagine doing that with a bank teller machine system or an airline reservation system, where tens of thousands of users are waiting to get into the system at the same time?
32.3.1. The Five Phenomena
If all you do is execute queries against the database, then the ACID properties hold. The trouble occurs when two or more transactions want to ...