7 Punkte von xguru 2025-06-25 | 2 Kommentare | Auf WhatsApp teilen
  • Eine in Go entwickelte Hochleistungs-Key-Value-DB mit Unterstützung für eine C-Schnittstelle, die moderne Prinzipien des Datenbankdesigns wie LSM-Tree, MVCC und lock-free Strukturen umsetzt
  • Garantiert auf Basis von WAL (Write Ahead Logging) sofortige Konsistenz und Dauerhaftigkeit und bietet durch Hintergrund-Flush/Kompaktierung sowie lock-free Parallelverarbeitung hohe Schreib-/Leseleistung
  • Als eingebettete Single-Node-Architektur für leichtgewichtige und schnelle Datenspeicherung ohne Netzwerk oder Verteilung ausgelegt

Die wichtigsten Merkmale von Wildcat

  • Basierend auf einem LSM-Tree, optimiert für schreibintensive Workloads
  • MVCC (Multiversion Concurrency Control) und lock-free Datenstrukturen für sperrfreie Verarbeitung auf den kritischen Pfaden
  • WAL-Logging: Protokollierung des vollständigen Transaktionszustands und Unterstützung der Wiederherstellung
  • Versionsbewusste Skip List zur Beschleunigung von In-Memory-MVCC
  • Thread-sichere/lock-free Schreibvorgänge sowie atomisches Cache-/Speichermanagement
  • SSTable als unveränderliche (immutable) BTree-Struktur mit Unterstützung für Key-Value-Trennung und Bloom-Filter-Optimierung
  • ACID-Garantien für Transaktionen sowie wählbare Dauerhaftigkeitsstufen (Full/Partial/None)
  • Crash Recovery zur Wiederherstellung sowohl von abgeschlossenen als auch unvollständigen Transaktionen
  • Batch/Iteratoren: Unterstützung für Bereichs-, Präfix- und bidirektionale Iteration
  • Moderne Architektur mit Bloom Filter, Key-Value-Trennung (.klog, .vlog), tombstone-/versionsbewusster Kompaktierung usw.
  • Statistik/Logging/Monitoring: verschiedene Diagnose- und Statistik-Schnittstellen wie Stats() und LogChannel
  • Build als C-Bibliothek und API: als Go-Shared-Library buildbar und direkt aus verschiedenen Sprachen nutzbar
  • Unterstützung für Go 1.24+ sowie Linux/macOS/Windows (64-Bit)

Warum ist das wichtig? (Abgrenzung zu anderen eingebetteten KVs)

  • Ähnliche LSM+MVCC-Architektur wie RocksDB oder Badger, aber mit Go-nativem lock-free Multi-Thread-Design für optimierte Nutzbarkeit in Go-Umgebungen
  • Auf eingebettete DBs spezialisiert: sofortige Konsistenz/Dauerhaftigkeit/hohe Performance ohne Overhead durch Netzwerk oder Replikation
  • Höhere Zuverlässigkeit und Transparenz durch Transaktionswiederherstellung und Erhalt unvollständiger Zustände
  • Vielfältige Parameter für Kompaktierung/Puffer/Cache ermöglichen workload-spezifisches Tuning

2 Kommentare

 
kuber 2025-06-25

Eine Sprache, aus der verdächtig viele Datenbanken hervorgehen

 
sjc02183 2025-06-25

Eine Sprache, in der verdächtig viele Datenbanken erscheinen.