Anzeige
RocksDB als Open Source veröffentlicht
RocksDB als Open Source veröffentlicht (Bild: Facebook)

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.

Anzeige

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

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.


eye home zur Startseite
dabbes 27. Nov 2013

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

Kommentieren



Anzeige

  1. Java-Entwickler (m/w)
    Jetter AG, Ludwigsburg
  2. Professional User Experience Design Services (m/w)
    Deutsche Telekom Kundenservice GmbH, Bonn
  3. Software Tester / Test Engineer Schwerpunkt Automatisierung (m/w)
    Haufe Gruppe, Freiburg im Breisgau
  4. Senior IT Risk Management und IT Governance (m/w)
    T-Systems International GmbH, Bonn

Detailsuche



Anzeige
Blu-ray-Angebote
  1. NEU: 4 Blu-rays für 30 EUR
    (u. a. Der große Gatsby, Mad Max, Black Mass, San Andreas)
  2. Game of Thrones [dt./OV] Staffel 6
    (jeden Dienstag ist eine neue Folge verfügbar)
  3. VORBESTELLBAR: Batman v Superman: Dawn of Justice Ultimate Collector's Edition (inkl. 3D-Steelbook & Batman Figur) (exklusiv bei Amazon
    139,99€

Weitere Angebote


Folgen Sie uns
       


  1. Darknet-Handel

    Nutzerdaten von Telekom-Kunden werden verkauft

  2. HTML5 Video

    Chrome-Bug hebelt Web-DRM aus

  3. Langer Marsch

    Chinas neue Raumfahrt

  4. Sicherheitslücke

    Lenovo warnt schon wieder vor vorinstallierter Software

  5. Telefónica

    Nutzer im E-Plus-Netz surfen bald langsamer

  6. Download

    Netflix-Offline soll wohl noch dieses Jahr kommen

  7. Neue Windows Server

    Nano bedeutet viel mehr als nur klein

  8. B150M Mortar Arctic

    MSI bringt weißes und günstiges Mainboard

  9. Homeland Security

    Frage nach Facebook-Konto bei Einreise in die USA geplant

  10. Weltraumteleskop

    Nasa verlängert Hubble-Mission



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Zenbook 3 im Hands on: Kleiner, leichter und schneller als das Macbook
Zenbook 3 im Hands on
Kleiner, leichter und schneller als das Macbook
  1. 8x Asus ROG 180-Hz-Display, Project Avalon, SLI-WaKü-Notebook & mehr
  2. Transformer 3 (Pro) Asus zeigt Detachable mit Kaby Lake
  3. Asus Zenbook Flip kommt für fast 800 Euro in den Handel

Android Wear 2.0 im Hands on: Googles Aufholjagd mit Komplikationen
Android Wear 2.0 im Hands on
Googles Aufholjagd mit Komplikationen
  1. Android Wear 2.0 Google etabliert Fragmentierung bei Smartwatches
  2. Microsoft Outlook-Watch-Face für Android-Smartwatches
  3. Samsung Keine neuen Smartwatches mit Android Wear geplant

E-Mail-Verschlüsselung: EU-Kommission hat Angst vor verschlüsseltem Spam
E-Mail-Verschlüsselung
EU-Kommission hat Angst vor verschlüsseltem Spam
  1. Netflix und Co. EU schafft Geoblocking ein bisschen ab
  2. Android FTC weitet Ermittlungen gegen Google aus
  3. Pay-TV Paramount gibt im Streit um Geoblocking nach

  1. Re: Perfekt für Linux, aber Windows?

    Wallbreaker | 14:46

  2. Liste an Ländern, die ich besuchen will sinkt ...

    Füchslein | 14:45

  3. Re: Visafreiheit für US-Bürger aufkündigen

    non_sense | 14:44

  4. Re: Was, nur 200Mbit??

    M.P. | 14:44

  5. Re: Wieder nach Hause geschickt zu werden

    haseausmhut | 14:42


  1. 14:47

  2. 14:29

  3. 14:02

  4. 13:40

  5. 12:45

  6. 12:29

  7. 12:05

  8. 12:02


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel