Abo
  • Services:
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



Anzeige

Stellenmarkt
  1. Zühlke Engineering GmbH, Hannover
  2. inovex GmbH, verschiedene Standorte
  3. Net at Work GmbH, Paderborn
  4. Haufe Gruppe, Freiburg im Breisgau


Anzeige
Top-Angebote
  1. 12,99€
  2. (mehr als 2.500 reduzierte Titel)
  3. (Rabattcode: MB10)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Wettbewerbsfaktor Analytics im Internet der Dinge.
  2. Leitfaden für den gezielten Einsatz von SAP HANA
  3. Praxiseinsatz, Nutzen und Grenzen von Hadoop und Data Lakes


  1. IBM-Übernahme

    Agile 3 bringt Datenübersicht in die Chefetage

  2. Sicherheitsupdate

    Apple patcht Root-Exploits für fast alle Plattformen

  3. Aktionsbündnis Gigabit

    Nordrhein-Westfalen soll flächendeckend Glasfaser erhalten

  4. Mozilla

    Firefox 51 warnt vor unsicheren Webinhalten

  5. Thaumistry

    Bob Bates schreibt wieder ein Textadventure

  6. Resident Evil 7 Biohazard im Test

    Einfach der Horror!

  7. Trump-Personalie

    Neuer FCC-Chef will Netzneutralität wieder abschaffen

  8. Norton Download Manager

    Sicherheitslücke ermöglicht untergeschobene DLLs

  9. Der große Ultra-HD-Blu-ray-Test (Teil 1)

    4K-Filme verzeihen keine Fehler

  10. Snapdragon 835

    Erst Samsung, dann alle anderen



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Mi Mix im Test: Xiaomis randlose Innovation mit kleinen Makeln
Mi Mix im Test
Xiaomis randlose Innovation mit kleinen Makeln
  1. Smartphone-Hersteller Hugo Barra verlässt Xiaomi
  2. Xiaomi Mi Note 2 im Test Ein Smartphone mit Ecken ohne Kanten

Donald Trump: Ein unsicherer Deal für die IT-Branche
Donald Trump
Ein unsicherer Deal für die IT-Branche
  1. Potus Donald Trump übernimmt präsidiales Twitter-Konto
  2. USA Amazon will 100.000 neue Vollzeitstellen schaffen
  3. Trump auf Pressekonferenz "Die USA werden von jedem gehackt"

Begnadigung: Danke, Chelsea Manning!
Begnadigung
Danke, Chelsea Manning!
  1. Die Woche im Video B/ow the Wh:st/e!
  2. Verwirrung Assange will nicht in die USA - oder doch?
  3. Whistleblowerin Obama begnadigt Chelsea Manning

  1. Re: VHS rein, Bildfehler. DVD rein, stocken...

    chewbacca0815 | 16:12

  2. hohe Verluste -> Selber Schuld

    aTechGuy | 16:12

  3. Re: Freisprecheinrichtung

    Berner Rösti | 16:10

  4. Re: Solange 'Tatort' nicht in 4K gesendet wird...

    der_wahre_hannes | 16:09

  5. Re: Sitzabstand

    as (Golem.de) | 16:08


  1. 16:14

  2. 15:55

  3. 15:49

  4. 15:38

  5. 15:28

  6. 14:02

  7. 12:49

  8. 12:28


  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