Login
Login-Name Passwort


 
Newsletter
Werbung

Mi, 27. November 2013, 08:19

Software::Distributionen

RocksDB-Quellen freigegeben

Facebook hat die Quellen einer weiteren hauseigenen Entwicklung, RocksDB, einer NoSQL/InMemory-Datenbank, für die Allgemeinheit freigegeben.

Konzept RocksDB

Dhruba Borthakur

Konzept RocksDB

RocksDB ist ein persistenter Key-Value-Store ähnlich Redis. Die Besonderheit von RocksDB besteht darin, dass die Software als C++-Bibliothek realisiert ist und sich deshalb besonders einfach in andere Anwendungen einbinden lässt. RocksDB basiert auf Googels LevelDB.

So genannte Key-Value-Stores/Key-Value-Datenbanken sind eine besonders einfach gestrickte Variante von NoSQL-Datenbanken, bei der stets ein bestimmter Schlüssel auf einen Wert, zum Beispiel eine Zeichenkette, verweist. Key-Value-Datenbanken finden sich in der Informationsverarbeitung in vielen Anwendungen, beispielsweise in klassischen Embedded-Datenbanken unter Unix, wie Berkley DB, dbm oder gdbm. Die moderneren NoSQL-Varianten laufen in der Regel als Standalone-Dienste und werden über Web-Technologien, wie z.B. REST angesteuert. Dabei greift eine Anwendung im Normalfall per RPC-Call über das Netzwerk oder Internet auf die benötigten Daten zu. Der Ansatz hat sich für Facebook angesichts der Masse an in Echtzeit bereitzustellenden Daten aber als nicht praktikabel erwiesen.

Mit der Eigenentwicklung RocksDB nutzt auch Facebook das Konzept eingebetteter Datenbanken, welches das Verwalten eines eigenen Datensets im Flash-Speicher beinhaltet. RocksDB orientiert sich im Wesentlichen an LevelDB von Google, ebenfalls ein NoSQL-Datenspeicher zum Lesen, Schreiben und Löschen von Daten. Allerdings wies LevelDB im Rahmen der Anforderungen von Facebook Schwächen bei Datenmengen auf, welche die Größe des Arbeitsspeicher des Servers überschreiten. Die Facebook-Entwickler haben daher den LevelDB-Code weiter ausgebaut und stellen RocksDB auf einer eigenen Webseite, sowie via GitHub der Allgemeinheit zur Verfügung. RocksDB erleichtert nicht nur den Umgang mit großen Datenmengen, sondern soll auch sehr gut skalieren und kann Server mit mehreren Kernen effizienter ausnutzen, was neben der erweiterbaren Architektur im Vordergrund der Konzeption stand.

Werbung
Kommentare (Insgesamt: 6 || Alle anzeigen || Kommentieren )
Re[5]: Storage-Engine (blablabla233, Do, 28. November 2013)
Re[4]: Storage-Engine (a4t, Mi, 27. November 2013)
Re[3]: Storage-Engine (blablabla233, Mi, 27. November 2013)
Re[2]: Storage-Engine (Pffft..., Mi, 27. November 2013)
Re: Storage-Engine (blablabla233, Mi, 27. November 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung