- Base de données documentaire transactionnelle distribuée fonctionnant de manière compatible avec Redis, utilisant FoundationDB pour les métadonnées et la gestion du stockage
- Vise un moteur de stockage sur disque doté d’un langage de requête proche de MQL, de transactions ACID et d’un modèle de réplication Primary-Standby
En un coup d’œil
- Architecture prenant en charge nativement la montée en charge horizontale (sharding)
- Prend en charge diverses stratégies de déploiement via des clusters single-master ou multi-master
- Utilise le Redis Serialization Protocol (RESP), ce qui permet une connexion avec n’importe quel client Redis
- Prend en charge une partie de la spécification Redis Cluster
- Utilise FoundationDB comme metastore pour la gestion du cluster et la définition des structures de données
- Implémenté en Java et nécessite JDK 21 ou version ultérieure
État actuel
- Les fonctionnalités initiales sont implémentées et la base est déjà solide
- ZMap : Ordered key-value store fournissant un proxy de protocole Redis au-dessus de l’API FoundationDB
- Namespaces : concept d’isolation pour ZMap et Buckets, reposant sur un léger encapsulage de la directory layer de FoundationDB
- Volume : implémentation du moteur de stockage adoptant un modèle de réplication Primary-Standby
- Clustering : possibilité de configurer un cluster en single-master ou en multi-master
- Redis Data Structures (prise en charge partielle) : prise en charge d’une partie des structures de données String et Hash
Feuille de route
- Conception prévue d’une structure de données appelée Bucket pour permettre le stockage de documents de type JSON-like
- Prévoit de fournir dans Bucket des transactions basées sur FoundationDB et un langage de requête de type MQL-like
- Prévoit de prendre progressivement en charge les structures de données courantes de Redis (String, Hash, Sorted Sets, etc.)
Aucun commentaire pour le moment.