4 Punkte von xguru 2025-01-27 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Eine verteilte transaktionale Dokumentendatenbank, die Redis-kompatibel arbeitet und FoundationDB für Metadaten- sowie Speicherverwaltung nutzt
  • Ziel ist eine festplattenbasierte Storage-Engine mit MQL-ähnlicher Abfragesprache, ACID-Transaktionen und einem Primary-Standby-Replikationsmodell

Auf einen Blick

  • Grundsätzlich für horizontale Skalierung (Sharding) ausgelegt
  • Unterstützt verschiedene Deployment-Strategien durch Single-Master- oder Multi-Master-Cluster
  • Verwendet das Redis Serialization Protocol (RESP), sodass die Verbindung mit jedem Redis-Client möglich ist
  • Unterstützt Teile der Redis-Cluster-Spezifikation
  • Nutzt FoundationDB als Metastore für Cluster-Management und die Definition von Datenstrukturen
  • In Java implementiert und benötigt JDK 21 oder neuer

Aktueller Status

  • Erste Funktionen sind bereits implementiert, zugleich besteht eine stabile Grundlage
  • ZMap: Ein geordneter Key-Value-Store, der einen Redis-Protokoll-Proxy auf Basis der FoundationDB-API bereitstellt
  • Namespaces: Ein Konzept zur Isolation von ZMap und Buckets, umgesetzt als schlanker Wrapper um die Directory Layer von FoundationDB
  • Volume: Eine Storage-Engine-Implementierung mit Primary-Standby-Replikationsmodell
  • Clustering: Cluster können als Single-Master oder Multi-Master konfiguriert werden
  • Redis Data Structures (teilweise unterstützt): Unterstützt Teile der Datenstrukturen String und Hash

Weitere Planung

  • Es ist geplant, eine Datenstruktur namens Bucket zu entwerfen, um JSON-ähnliche Dokumente speichern zu können
  • Für Bucket sind FoundationDB-basierte Transaktionen und eine MQL-ähnliche Abfragesprache vorgesehen
  • Die üblichen Redis-Datenstrukturen (String, Hash, Sorted Sets usw.) sollen schrittweise unterstützt werden

Noch keine Kommentare.

Noch keine Kommentare.