Facebook gibt RocksDB-Quellen frei

Der persistente Key-Value-Store RocksDB soll die Zugriffszeiten verringern und Nutzern so schneller den auf sie zugeschnittenen Inhalt bereitstellen können. Außerdem sollen sich damit auch Server mit mehreren CPU-Kernen effektiver verwenden lassen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Facebooks Engineering-Abteilung hat die Quellen einer weiteren hausinternen Entwicklung freigegeben. RocksDB ist ein persistenter Key-Value-Store, der sich durch seine Umsetzung als C++-Bibliothek einfach in andere Anwendungen einbinden lassen soll.

Normalerweise greifen Anwendungen per Remote-Prozeduraufrufen über das Netzwerk auf die für sie notwendigen Daten zu. Für Facebook erwies sich dieser Ansatz aber als nicht praktikabel, da die Masse an in Echtzeit bereitzustellenden Daten zu großen Verzögerungen führen würde. Statt dessen setzt man mit RocksDB auf das Konzept sogenannter "eingebetteter Datenbanken" (Embedded Database), dass die Verwaltung eines eigenen Datensets im Flash-Speicher vorsieht. Als Grundlage diente Googles LevelDB, die einen NoSQL-Datenspeicher zum Lesen, Schreiben und Löschen von Daten beschreibt.

Da diese allerdings Schwächen bei der Arbeit mit Datensets hatte, die größer als der Arbeitsspeicher des Servers sind, machten sich die Entwickler daran, den Code auszubauen. Das Ergebnis ist auf einer speziellen Webseite und GitHub zu finden. Neben der Abhilfe bei den beschriebenen großen Datensets, stellen die Entwickler von RocksDB die Fähigkeit, gut zu skalieren und so auch Server mit mehreren CPU-Kernen effizient nutzen zu können, die erweiterbare Architektur und die durchdachte Nutzung des Speichers in den Vordergrund.

Die Architektur von RocksDB soll es vergleichsweise einfach machen, einzelne Teile auszutauschen, ohne das gesamte System in Mitleidenschaft zu ziehen.

(Bild: Facebook )

(jul)