Wie Facebook die Daten von 300 Millionen Nutzern verkraftet
Alle Backenddienste können über eine einheitliche Managementkosnole verwaltet werden, da sie auf dem gemeinsam genutzten Thrift basieren.
Cache als Herzstück der Architektur
Das Herzstück der Facebook-Architektur ist dessen Cache-System, denn traditionelle Ansätze sind den vernetzten Daten eines Social Network nicht gewachsen. Während auf anderen Seiten Nutzer nach ihren eigenen Daten schauen, gucken sie bei Facebook nach den Daten anderer.
Auf seinen Datenbankservern hält Facebook die Daten in normalisierter Form bereit. Nutzer werden zufällig über die Datenbankserver verteilt, ein Clustering nach Gruppen findet nicht statt. Dadurch kommt dem Caching-System zentrale Bedeutung zu, wobei Facebook auf das von Brad Fitzpatrick entwickelte Memcached setzt, das allerdings von Facebook deutlich erweitert wurde. Dies schließt auch Optimierungen am Netzwerkstack und den Ethernettreibern von Linux ein.
Im Hintergrund arbeiten tausende MySQL-Server, verteilt auf mehrere Rechenzentren. Allerdings nutzt Facebook wesentliche Funktionen einer relationalen Datenbank nicht. Beispielsweise nutzt Facebook kaum JOINs. Diese gibt es lediglich in speziellen Systemen wie der Suche, denn JOINs über die verteilten Datenbanken seien nahezu unmöglich. Anfangs liefen 20 MySQL Server auf einzelnen physischen Maschinen, nach und nach wurden diese auf mehr Server verteilt, was so aber recht einfach war.
Lösungen für die nächsten 300 Millionen Nutzer
Die Herausforderungen für Facebook seien heute größer denn je, sagte Rothschild. Ging es früher um die Frage, wie die nächste Million Nutzer untergebracht werden könne, gehe es heute um die Frage, wie mit den nächsten 300 Millionen umzugehen ist. So sucht Facebook nach einem besseren Weg, den Social Graph zu speichern, denn obwohl MySQL einen gut Dienst verrichte, sei eine relationale Datenbank dafür aus Effienzgesichtspunkten nicht ideal. Auch Themen wie Load-Balancing und die Suche unter Einbeziehung des Social Graph nennt Rothschild als wesentliche Forschungsbereiche und wirbt um talentierte Entwickler.
Rothschilds Präsentation "High Performance at Massive Scale - Lessons learned at Facebook" steht auf den Seiten der Universität San Diego als Videostream zur Verfügung. Die von Facebook als Open Source veröffentlichte Software steht unter developers.facebook.com/opensource.php zur Verfügung.
Wie Facebook die Daten von 300 Millionen Nutzern verkraftet |
Eins wird da wohl völlig reichen und selbst dann haste noch etliche Ressourcen frei um...
Schon gewusst, Facebook setzt MySQL gar nicht als relationale Datenbank ein. MySQL dient...
Da ich grad an der UCSD studiere, konnte mir das das anhören. Kann jedem Technik...
Dir ist aber schon klar, das Abmelden nicht gleich löschen heisst. Meist werden deine...