Mehrere Server Datenbank Architektur?

Hallo,

mich interessiert wie größere Unternehmen z.B. Google/ Facebook die Serverarchitektur gestaltet haben?
Haben Sie auf jedem Server je eine Datenbank und aktualisieren Sie dann die Datenbanken jeweils mit den Datenbanken auf den anderen Servern?
Oder greifen sogar mehrere Server auf eine Datenbank zu?
Ich weiß zwar das sie mehrere Data-Center haben doch wie läuft das intern ab? Wie schaffen Sie das alle Server anscheinend die selben Daten dem Client schicken können?
(Z.B. updatet ein User sein Profil und dann sofort danach fragt der Client indirekt einen anderen Server(da Google jedesmal einen anderen Server für den Clienten je Suchanfrage verteilt)
und dort sind dann die Daten auf einmal auch da? Wie kann der Server die Daten dann auch haben? )

Ich kann es mir nur so vorstellen, dass mehrere Server auf eine Datenbank zugreifen doch dann stelle ich mir das System da hinter auch wiederrum langsam vor wenn alle Clients nur eine Datenbank benutzen(die müsste dann ja ziemlich ausgelastet sein)… Also wie machen das große Unternehmen mit den Servern und Datenbanken? Wie sieht die Architektur ungefähr aus?

Für große Unternehmen wie Google gilt trotz Größe trotzdem das CAP-Theorem, dementsprechend können auch diese Unternehmen keine Technologien vorstellen, die sofort und ohne Probleme große, verteilte Systeme überall auf dem selben, konsistenten Stand halten. Dementsprechend muss je nach Anwendung des verteilten Systems bzw. der Daten entschieden werden welche Architektur die richtige ist und welche Datenbank verwendet wird.

Folgendes Bild versuch zu verdeutlichen welche Eigenschaft bei welchem DBMS hervorgehoben wird.

Eine ausführlichere Erklärung findest du hier: The CAP theorem and the design of large scale distributed systems: Part I.

Im Falle von Search Engines z.B. wird wahrscheinlich eine Graphendatenbank verwendet werden da meines Wissens besonders die Vernetzung einzelner Knoten wichtig ist und dann auf diesen Graphenkanten die Algorithmen gefahren werden.