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. IT-Systemadministrator (m/w/d) für das Referat IT-Infrastruktur
    DAAD - Deutscher Akademischer Austauschdienst e.V., Bonn
  2. Consultant IT-Controlling (m/w/d)
    Mekyska Management Consultants GmbH, Frankfurt am Main, Pforzheim (Home-Office)
Detailsuche

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.

Golem Akademie
  1. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
  2. Webentwicklung mit React and Typescript
    20.-24. September 2021, online
  3. IT-Sicherheit für Webentwickler
    2.-3. November 2021, online
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Venturi-Tunnel
Elektro-Motorrad mit Riesenloch auf der Teststrecke

White Motorcycle Concepts testet sein Elektromotorrad WMC250EV, bei dem der Fahrer auf einem riesigen Tunnel sitzt. Später soll es 400 km/h erreichen.

Venturi-Tunnel: Elektro-Motorrad mit Riesenloch auf der Teststrecke
Artikel
  1. Elektroauto: Cadillac Lyriq nach 19 Minuten weg
    Elektroauto
    Cadillac Lyriq nach 19 Minuten weg

    Einen der ersten Cadillac Lyriq zu reservieren, glich mehr einer Lotterie als einem Autokauf. In wenigen Minuten waren alle Luxus-Elektroautos vergriffen.

  2. Autos, Scooter und Fahrräder: Berlin reguliert Sharing-Mobilitätsangebote
    Autos, Scooter und Fahrräder
    Berlin reguliert Sharing-Mobilitätsangebote

    Die Nutzung des öffentlichen Raums durch Autos, Scooter und Fahrräder von Sharing-Unternehmen wird in Berlin reguliert.

  3. Abonnenten verunsichert: Apple hat Hörbücher aus Apple Music entfernt
    Abonnenten verunsichert
    Apple hat Hörbücher aus Apple Music entfernt

    Wer mit einem Musikstreamingabo Hörbücher hören will, muss von Apple Music zu Deezer, Spotify oder einem anderen Anbieter wechseln.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Nur noch heute: MM-Club-Tage (u. a. SanDisk Ultra 3D 2 TB 142,15€) • Corsair Vengeance RGB PRO 16-GB-Kit DDR4-3200 71,39€ • Corsair RM750x 750 W 105,89€ • WD Elements Desktop 12 TB 211,65€ • Alternate (u. a. Creative SB Z SE 71,98€) • ASUS ROG Crosshair VIII Hero WiFi 269,99€ [Werbung]
    •  /