Si imagina una empresa como Amazon (o cualquier otra aplicación web de comercio electrónico grande), que opera una tienda en línea a gran escala y solo tiene una cantidad limitada de artículos físicos en sus almacenes, ¿cómo pueden optimizar esto para que no haya solo cuello de botella? Por supuesto, deben tener varias bases de datos con replicación y muchos servidores que manejan la carga de forma independiente. Sin embargo, si varios usuarios están siendo atendidos por servidores separados y ambos intentan agregar el mismo artículo a su carrito, para lo cual solo queda uno, debe haber alguna "fuente de verdad" para la cantidad que queda para ese artículo. ¿No significa esto que, como mínimo, todos los usuarios que acceden a la información del producto para un solo artículo deben consultar la misma base de datos en serie?
Me gustaría entender cómo puede operar una tienda tan grande usando computación distribuida y no crear un gran cuello de botella en un solo DB que contiene información de inventario.