HeadlinesBriefing HeadlinesBriefing.com

KiviDB : alternative à Redis en Rust avec recherche intégrée

Hacker News •
×

Un développeur a publié KiviDB, une alternative open source et multithread à Redis et Valkey, écrite en Rust. Le projet a débuté en février 2026 comme un moyen d'apprendre Rust et de résoudre les pics de mémoire après les snapshots ainsi que les erreurs de mémoire insuffisante sur les pods en cours d'exécution, des problèmes rencontrés par l'auteur avec Dragonfly. KiviDB prend en charge les protocoles RESP2 et RESP3, de sorte que les clients Redis existants fonctionnent sans modification. Son espace de clés est réparti entre les threads et ses performances sont optimales sous Linux grâce à io_uring via la crate tokio_uring, avec un repli sur Tokio sur les autres systèmes d'exploitation. Le moteur principal est distribué sous licence AGPLv3, et l'auteur indique qu'environ 98 à 99 % des commandes de Redis 8.10 sont prises en charge.

L'auteur a réalisé des tests de performance sur deux serveurs c7gn.metal situés dans le même groupe de placement us-east1, à l'aide de memtier-benchmark, avec 10 millions de clés de 100 o chacune réparties sur 32 cœurs. Avec le pipelining à une profondeur de 16, KiviDB a atteint 21,2 millions d'opérations GET par seconde, contre 9,1 millions pour Dragonfly 2.0, 2,4 millions pour Redis 8.10 et 4,7 millions pour un Redis Cluster à 32 shards. Sans pipelining, Dragonfly était légèrement plus rapide, avec 3,35 millions d'ops/s contre 3,07 millions pour KiviDB. La consommation mémoire par clé était de 177 o pour KiviDB, 134 o pour Dragonfly et 178 o pour Redis. L'ingestion de vecteurs était plus lente que celle des alternatives, tandis que les requêtes vectorielles étaient plus rapides avec des valeurs ef faibles, mais plus lentes que Dragonfly avec des valeurs ef élevées.

Le projet intègre également une recherche plein texte et vectorielle, et l'auteur a conçu un concept de service managé dans le cloud couvrant AWS, GCP et Azure. Les lacunes connues en matière de commandes sont suivies sur GitHub, et les contributeurs sont invités à participer. Le projet peut être testé avec une seule commande Docker, qui démarre le serveur sur le port 6380.

Source: Hacker News · Résumé par HeadlinesBriefing