- 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.