Se immagini un'azienda come Amazon (o qualsiasi altra grande applicazione web di e-commerce), che gestisce un negozio online su larga scala e ha solo una quantità limitata di articoli fisici nei suoi magazzini, come possono ottimizzare questo in modo tale che non c'è un singolo collo di bottiglia? Ovviamente, devono avere un numero di database con replica e molti server che gestiscono il carico in modo indipendente. Tuttavia, se più utenti vengono serviti da server separati ed entrambi cercano di aggiungere lo stesso articolo al loro carrello, per il quale ne rimane uno solo, deve esserci qualche "fonte di verità" per la quantità rimasta per quell'elemento. Questo non significa che, per lo meno, tutti gli utenti che accedono alle informazioni sul prodotto per un singolo articolo devono interrogare lo stesso database in serie?
Vorrei capire come è possibile gestire un negozio così grande utilizzando il calcolo distribuito e non creare un enorme collo di bottiglia su un singolo DB contenente informazioni di inventario.