Apollo: Facebook stellt eigene NoSQL-Datenbank vor
Auf der Qcon in New York hat der Facebook-Entwickler Jeff Johnson die intern entwickelte NoSQL-Datenbank Apollo erstmals der Öffentlichkeit vorgestellt(öffnet im neuen Fenster) . Apollo ist stark von den Erfahrungen beeinflusst, die Facebook mit Hbase(öffnet im neuen Fenster) gemacht hat, wie Sander Mak schreibt, der den Vortrag in seinem Blog(öffnet im neuen Fenster) zusammenfasst.
Demnach ist Apollo komplett in C++ nach dem Standard von 2011 geschrieben und verwendet das Software-Framework Thrift.(öffnet im neuen Fenster) Als grundlegende Komponente setzt Apollo auf Shards(öffnet im neuen Fenster) , die hierarchisch angeordnet werden. Dies ist ähnlich wie die HDFS-Regions in Hblock. Apollo unterstützt " Tausende von Shards " und kann laut dem Bericht auf bis zu etwa 10.000 Servern verwendet werden.
Die Shards benutzen Quorum-Protokolle zur Kommunikation, die an Paxos(öffnet im neuen Fenster) angelehnt sind. Zur Konsens-Ermittlung wird der Raft-Algorithmus(öffnet im neuen Fenster) verwendet. Als unterliegender Datenspeicher kann RocksDB oder MySQL verwendet werden. Erlaubte Speicher-Datentypen sind Boolsche Werte, Maps, Vorrangwarteschlange(öffnet im neuen Fenster) sowie CRDTs. Der Vorteil von Apollo ist die Speicherung dieser Datentypen bei sehr geringer Latenzzeit. Neben dem Speichern und Durchsuchen nach Werten erlaubt Apollo aber auch das Ausführen von " Code in Form von fehlertoleranten Automaten ". Bei Facebook wird Apollo derzeit als In-Memory-Datenbank genutzt, die Memcached ersetzt. Ebenso wird Apollo für Taco verwendet, der im Speicher vorhandenen Version des TAO-Graph(öffnet im neuen Fenster) , oder um die Push-Nachrichten zu verwalten. Noch ist nicht abschließend geklärt, ob Facebook Apollo als freie Software bereitstellt.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



