Practice this topic in a realistic system design interview
Placing an order can involve several steps: creating the order, charging the customer, and reserving inventory. Each step may happen in a different service with its own database. The challenge is what happens when some steps succeed but another fails, leaving the system in an inconsistent state.
This lesson covers what happens when one business operation needs to update data in several services or databases, why this is hard to do safely, and the main approaches used to keep data consistent, like two-phase commit and sagas.
It also covers how to approach distributed transactions in a system design interview, since they come up in many problems that involve money, orders, or bookings.