Se immagini un'azienda come Amazon (o qualsiasi altra grande applicazione web di e-commerce), che gestisce un negozio online su vasta scala e ha solo una quantità limitata di articoli fisici nei suoi magazzini, come possono ottimizzarla in modo tale che non ci sia collo di bottiglia singolo? Naturalmente, devono disporre di un numero di database con replica e di molti server che gestiscono il carico in modo indipendente. Tuttavia, se più utenti vengono serviti da server separati ed entrambi tentano di aggiungere lo stesso articolo al carrello, per il quale ne rimane solo uno, deve esserci una "fonte di verità" per la quantità lasciata per quell'articolo. Ciò non significherebbe che almeno tutti gli utenti che accedono alle informazioni sul prodotto per un singolo articolo devono eseguire una query sullo 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.