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. Robert Bosch GmbH, Stuttgart-Feuerbach
  2. CNS-IT GmbH, Filderstadt
  3. Klinkhammer Förderanlagen GmbH, Nürnberg
  4. ROHDE & SCHWARZ GmbH & Co. KG, München


Anzeige
Blu-ray-Angebote
  1. 29,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Hobbit Trilogie Blu-ray 44,97€, Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. (u. a. Reign, Person of Interest, Gossip Girl, The Clone Wars)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Wie man falsche Erwartungen an digitales Marketing vermeidet
  2. Data Governance Framework für effektive Datenwertschöpfung
  3. Effektive und zukunftsorientierte Analytics ohne Kompromisse


  1. Samsung

    Neue Gear 360 kann in 4K filmen

  2. DeX im Hands On

    Samsung bringt eigene Desktop-Umgebung für Smartphones

  3. Galaxy S8 und S8+ im Kurztest

    Samsung setzt auf lang gezogenes Display und Bixby

  4. Erazer-Serie

    Medion bringt mehrere Komplett-PCs mit AMDs Ryzen heraus

  5. DJI

    Drohnen sollen ihre Position und ihre ID funken

  6. Xeon E3-1200 v6

    Intel aktualisiert seine Server-CPUs mit Kaby Lake

  7. Future Unfolding im Test

    Adventure allein im Wald

  8. Gesichtserkennung

    FBI sammelt anlasslos Fotos von US-Bürgern

  9. Hasskommentare

    Regierung plant starke Ausweitung der Bestandsdatenauskunft

  10. Rkt und Containerd

    Konkurrierende Container-Engines bekommen neutrale Heimat



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
NZXT: Lüfter auch unter Linux steuern
NZXT
Lüfter auch unter Linux steuern
  1. Creoqode 2048 Tragbare Spielekonsole zum Basteln erhältlich
  2. FluoWiFi Arduino-kompatibles Board bietet WLAN und Bluetooth
  3. Me Arm Pi Roboterarm zum Selberbauen

Forensik Challenge: Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
Forensik Challenge
Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
  1. Reporter ohne Grenzen Verfassungsklage gegen BND-Überwachung eingereicht
  2. Selektorenaffäre BND soll ausländische Journalisten ausspioniert haben
  3. Ex-Verfassungsgerichtspräsident Papier Die Politik stellt sich beim BND-Gesetz taub

Betrugsnetzwerk: Kinox.to-Nutzern Abofallen andrehen
Betrugsnetzwerk
Kinox.to-Nutzern Abofallen andrehen

  1. Re: Wer mag sowas?

    Icestorm | 17:13

  2. Re: Wieso müsste so ein Mac Mini aussehen?

    Pete Sabacker | 17:12

  3. Klinke

    Willi13 | 17:10

  4. Vermummungsgesetz gilt nur bei Versammlung, also ...

    rondam | 17:09

  5. Re: Finde den Vergleich Quatsch

    Berner Rösti | 17:08


  1. 17:00

  2. 17:00

  3. 17:00

  4. 15:20

  5. 14:50

  6. 14:20

  7. 14:00

  8. 13:51


  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