Abo
  • Services:

RocksDB: Weil Googles LevelDB für Facebook zu langsam ist

Facebook hat mit RocksDB eine einfache Embedded-Datenbank entwickelt. Sie basiert auf Googles LevelDB, die in ihrer Originalversion für Facebook zu langsam war, und soll für einen schnellen Zugriff auf lokale Daten sorgen, auch wenn diese nicht in den Arbeitsspeicher passen.

Artikel veröffentlicht am ,
RocksDB als Open Source veröffentlicht
RocksDB als Open Source veröffentlicht (Bild: Facebook)

Jedem, der Facebook aufruft, wird eine persönliche Startseite angezeigt, die bei jedem Nutzer anders aussieht. Caching hilft dabei nicht weiter, so dass Facebook mit seinen mittlerweile 1,2 Milliarden Nutzern die Startseiten in Echtzeit aus einer großen Datenmenge von mehreren Petabyte zusammenstellen muss. Um das zu schaffen, versucht Facebook ständig, die dafür zur Verfügung stehenden Werkzeuge zu verbessern. Dabei ist RocksDB ein Embedded-Key-Value-Store, der seit einigen Tagen quelloffen zur Verfügung steht.

Zehnmal schneller als LevelDB

Stellenmarkt
  1. BIM Berliner Immobilienmanagement GmbH, Berlin
  2. OHB System AG, Bremen, Oberpfaffenhofen

Ausgangspunkt für RocksDB war Googles Embedded-Datenbank LevelDB, die sich in Facebooks Tests aber als zu langsam erwies. RocksDB ist eine C++-Bibliothek, die sich in bestehende Applikationen einbetten lässt. Daten liegen dabei lokal auf dem gleichen System vor, auf dem auch die Applikation läuft. Das soll für schnellere Antwortzeiten sorgen, verglichen mit Systemen, bei denen die Applikation über das Netzwerk auf die Datenbank zugreift. Dabei setzt Facebook ganz bewusst auf schnellen Flash-Speicher und Systeme mit vielen CPU-Kernen, um auch Datenmengen auf einem System zu halten, die nicht in den Arbeitsspeicher passen.

Das Verhindern von Locks und die Vermeidung zu vieler Context-Wechsel soll darüber hinaus für hohe Geschwindigkeit sorgen, so dass RocksDB in der Lage ist, schnellen Flash-Speicher auszureizen, um auf einem System mehr als 1 Million IOPS zu erreichen. Im Vergleich zu LevelDB soll RocksDB beim Schreiben zufälliger Daten rund zehnmal schneller sein, bei zufälligen Lesezugriffen rund 30 Prozent schneller.

Maximale Leistung auf einer Maschine

Dabei setzt Facebook auf eine flexible Architektur, die es erlaubt, einzelne Komponenten auszutauschen, ohne an den übrigen Komponenten von RocksDB etwas zu verändern. So lassen sich beispielsweise verschiedene Kompressionsbibliotheken wie Snappy, zlib oder bzip verwenden und auch neue leicht testen. Auch lassen sich eigene Compaction-Filter einsetzen, was Facebook selbst nutzt, um Daten nach Ablauf einer bestimmten Frist zu löschen.

So soll sich RocksDB letztendlich für IO-limitierte Workloads ebenso eignen wie für In-Memory-Datenbanken als auch solche, bei denen Daten nur einmal geschrieben, aber oft gelesen werden. Unter IO-limitierten Workloads versteht Facebook solche, bei denen die Daten nicht in den Arbeitsspeicher passen und oft aus dem Storage gelesen werden müssen.

RocksDB ist ausdrücklich keine verteilte Datenbank, sondern darauf ausgerichtet, auf einer einzelnen Maschine maximale Leistung zu bringen.

Facebook hat RocksDB auf Github im Quellcode veröffentlicht. Weitere Details zu RocksDB finden sich unter rocksdb.org.



Anzeige
Hardware-Angebote
  1. 119,90€

dabbes 27. Nov 2013

https://github.com/facebook/rocksdb/wiki/Rocksdb-Architecture-Guide#persistency


Folgen Sie uns
       


Commodore CDTV (1991) - Golem retro_

Das CDTV wurde in den frühen 1990er Jahren von Commodore als High-End-Multimediasystem auf den Markt gebracht. Wir beleuchten die Hintergründe seines Scheiterns und spielen Exklusivtitel.

Commodore CDTV (1991) - Golem retro_ Video aufrufen
Padrone angesehen: Eine Mausalternative, die funktioniert
Padrone angesehen
Eine Mausalternative, die funktioniert

CES 2019 Ein Ring soll die Computermaus ersetzen: Am Zeigefinger getragen macht Padrone jede Oberfläche zum Touchpad. Der Prototyp fühlt sich bei der Bedienung überraschend gut an.
Von Tobias Költzsch

  1. Videostreaming Plex will Filme und Serien kostenlos und im Abo anbieten
  2. People Mover Rollende Kisten ohne Fahrer
  3. Solar Cow angesehen Elektrische Kuh gibt Strom statt Milch

IT-Jobs: Ein Jahr als Freelancer
IT-Jobs
Ein Jahr als Freelancer

Sicher träumen nicht wenige festangestellte Entwickler, Programmierer und andere ITler davon, sich selbstständig zu machen. Unser Autor hat vor einem Jahr den Schritt ins Vollzeit-Freelancertum gewagt und bilanziert: Vieles an der Selbstständigkeit ist gut, aber nicht alles. Und: Die Freiheit des Freelancers ist relativ.
Ein Erfahrungsbericht von Marvin Engel

  1. Job-Porträt Cyber-Detektiv "Ich musste als Ermittler über 1.000 Onanie-Videos schauen"
  2. Bundesagentur für Arbeit Ausbildungsplätze in der Informatik sind knapp
  3. IT-Jobs "Jedes Unternehmen kann es besser machen"

WLAN-Tracking und Datenschutz: Ist das Tracken von Nutzern übers Smartphone legal?
WLAN-Tracking und Datenschutz
Ist das Tracken von Nutzern übers Smartphone legal?

Unternehmen tracken das Verhalten von Nutzern nicht nur beim Surfen im Internet, sondern per WLAN auch im echten Leben: im Supermarkt, im Hotel - und selbst auf der Straße. Ob sie das dürfen, ist juristisch mehr als fraglich.
Eine Analyse von Harald Büring

  1. Gefahr für Werbenetzwerke Wie legal ist das Tracking von Online-Nutzern?
  2. Landtagswahlen in Bayern und Hessen Tracker im Wahl-O-Mat der bpb-Medienpartner
  3. Tracking Facebook wechselt zu First-Party-Cookie

    •  /