Zurück zur Übersicht

Begriff

RocksDB

Database System S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Eine Datenbank ist meist ein Server (MySQL). RocksDB ist keine Datenbank zum "Starten". Es ist eine Library (C++). Du bindest sie in dein Programm ein (Embedded DB). RocksDB ist der Motor unter der Haube von fast allem, was schnell sein muss: Kafka Streams, CockroachDB, Flink, TiKV. Es ist optimiert für sehr schnelles Schreiben auf SSDs (Flash Storage). Es basiert auf LSM-Trees (Log Structured Merge Trees).

Merksatz: Ein extrem leistungsfähiger, eingebetteter Key-Value-Store, entwickelt von Facebook (basierend auf Googles LevelDB), optimiert für schnelle Speichergeräte (Flash/SSD) und hohe Schreiblasten.


Quick-Check

  1. Unterschied zu SQLite?
    SQLite ist B-Tree (gut für Reads, SQL). RocksDB ist LSM-Tree (gut für Writes, Key-Value). SQLite ist "Relationale DB in Startdatei". RocksDB ist "Hashmap auf Steroiden".
  2. Wer nutzt es?
    Facebook (MySQL MyRocks Engine), LinkedIn, Uber. Es ist der Standard-Baustein für moderne verteilte Datenbanken.
  3. RocksJava?
    Die Java-API (JNI). Achtung: Man muss manuell Speicher freigeben (close()), sonst Memory Leak (Off-Heap).