Zurück zur Übersicht

Begriff

LSM-Tree (Log-Structured Merge-Tree)

Database Data Structures 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.

B-Trees sind langsam beim Schreiben (Random Writes). Jeder Eintrag muss an eine bestimmte Stelle auf der Platte. LSM-Trees drehen den Spieß um. Sie schreiben alles sequenziell (Append-Only) wie in ein Logbuch. Neue Daten kommen zuerst in den RAM (MemTable). Wenn der RAM voll ist, wird er auf die Platte "geflusht" (als SSTable – Sorted String Table). SSTables sind unveränderlich (Immutable). Um Daten zu lesen, musst du MemTable und alle SSTables durchsuchen. Da das langsam wäre, läuft im Hintergrund ständig ein Prozess (Compaction), der alte SSTables aufräumt und verschmilzt ("Merge"). Das Ergebnis: Extrem schnelles Schreiben (gut für IoT, Logs, Big Data).

Merksatz: Eine Datenstruktur für Datenbanken, die Schreibzugriffe durch Pufferung im Arbeitsspeicher und sequenzielles Schreiben auf die Festplatte optimiert, wobei Daten periodisch im Hintergrund verschmolzen (kompaktiert) werden.


Quick-Check

  1. Löschen?
    In Append-Only Files kann man nicht löschen. Man schreibt einen "Tombstone" (Grabstein). Der sagt: "Key X ist jetzt tot". Erst beim Compaction wird der Eintrag wirklich entfernt.
  2. SSD?
    LSM ist der beste Freund der SSD. SSDs hassen Random Writes (Write Amplification im Controller). LSM schreibt sequenziell, was SSDs lieben (weniger Wear Leveling Stress).
  3. Erfinder?
    Patrick O'Neil (1996). Aber populär gemacht wurde es erst durch Googles BigTable (2006).