The rise of distributed applications and cloud computing has created a demand for scalable, high-performance key-value storage systems. This paper presents a performance evaluation of three prominent NoSQL key-value stores: Redis, Aerospike, and Dragonfly, using the Yahoo! Cloud Serving Benchmark (YCSB) framework. We conducted extensive experiments across three distinct workload patterns (read-heavy, write-heavy), and balanced while systematically varying client concurrency from 1 to 32 clients. Our evaluation methodology captures both latency, throughput, and memory characteristics under realistic operational conditions, providing insights into the performance trade-offs and scalability behaviour of each system
- ID de l'article : 2510.08863
- Titre : Comparative Performance Analysis of Modern NoSQL Data Technologies: Redis, Aerospike, and Dragonfly
- Auteurs : Deep Bodra (Harrisburg University of Science and Technology), Sushil Khairnar (Virginia Tech)
- Classification : cs.DB cs.DC
- Journal de publication : Journal of Research, Innovation and Technologies, Volume IV, Issue 2(8), 2025
- Lien de l'article : https://doi.org/10.57017/jorit.v4.2(8).05
Avec l'émergence des applications distribuées et de l'informatique en nuage, la demande de systèmes de stockage clé-valeur scalables et hautement performants s'accroît considérablement. Cet article évalue les performances de trois principaux systèmes de stockage clé-valeur NoSQL à l'aide du framework Yahoo! Cloud Serving Benchmark (YCSB) : Redis, Aerospike et Dragonfly. L'étude a mené des expériences approfondies selon trois modèles de charge de travail distincts (lecture intensive, écriture intensive et équilibrée), en faisant varier systématiquement le nombre de clients concurrents de 1 à 32. La méthodologie d'évaluation capture les caractéristiques de latence, de débit et de mémoire dans des conditions opérationnelles réalistes, fournissant des perspectives approfondies sur les compromis de performance et les comportements de scalabilité de chaque système.
- Défis des besoins des applications modernes : L'environnement numérique moderne implique la création et l'utilisation massives de données, et l'expansion rapide des applications Web, des technologies mobiles et des appareils IoT posent de nouveaux défis aux systèmes de bases de données
- Limitations des bases de données traditionnelles : Bien que les systèmes de gestion de bases de données relationnelles traditionnels soient puissants, ils éprouvent des difficultés à satisfaire les exigences de performance et de scalabilité des applications modernes, particulièrement celles nécessitant des temps de réponse sub-milliseconde et le traitement de millions d'opérations par seconde
- Émergence des bases de données NoSQL : Les bases de données NoSQL, en particulier les stockages clé-valeur, surmontent ces défis en mettant l'accent sur la performance et la scalabilité
- Valeur pratique : Fournir des orientations pratiques aux architectes système pour sélectionner des solutions de stockage clé-valeur appropriées
- Valeur académique : Combler le vide dans les évaluations comparatives systématiques des systèmes Redis, Aerospike et Dragonfly
- Valeur technique : Révéler les caractéristiques de performance de chaque système par une évaluation systématique selon différents modèles de charge de travail et niveaux de concurrence
Bien que ces systèmes soient largement utilisés, il existe un manque d'études comparatives complètes évaluant systématiquement leurs caractéristiques de performance selon diverses charges de travail et niveaux de concurrence.
- Comparaison de performance complète : Fournir une analyse comparative exhaustive incluant les métriques de latence et de débit
- Analyse des caractéristiques de consommation mémoire : Analyse approfondie des modèles d'utilisation mémoire et de l'efficacité des trois systèmes
- Évaluation multi-charges de travail : Évaluation systématique selon trois charges de travail : lecture intensive, écriture intensive et équilibrée
- Analyse de scalabilité : Révéler les caractéristiques d'extension de chaque système par des tests avec 1 à 32 clients concurrents
- Orientations pratiques : Fournir des conseils pratiques aux architectes système pour sélectionner des solutions de stockage clé-valeur appropriées
Redis :
- Stockage de structures de données en mémoire open-source, développé en 2009
- Architecture monothread, éliminant les mécanismes de verrouillage complexes mais limitant la scalabilité des systèmes multi-cœurs
- Supporte plusieurs structures de données : chaînes, hachages, listes, ensembles, ensembles triés, etc.
- Implémente la persistance par snapshots périodiques ou fichiers d'ajout seul
Aerospike :
- Base de données NoSQL distribuée, fondée en 2009
- Architecture mémoire hybride : DRAM pour le stockage des index, SSD pour le stockage des données
- Architecture sans partage, chaque nœud fonctionnant indépendamment
- Fournit une cohérence forte et un basculement automatique en cas de défaillance
Dragonfly :
- Stockage de données en mémoire lancé en 2022, conçu comme substitut direct à Redis
- Architecture multi-thread sans partage, capable d'exploiter plusieurs cœurs CPU
- Compatible avec le protocole Redis
- Implémente une gestion mémoire complexe et des structures de données sans verrous
Environnement matériel :
- Système : Mac OS avec processeur Apple M3 Pro
- Configuration : 12 cœurs, 36 Go de RAM, macOS Sequoia
- Déploiement : Utilisation de conteneurs Docker pour assurer un environnement cohérent et isolé
Framework de benchmark :
- Utilisation du Yahoo! Cloud Serving Benchmark (YCSB)
- Approche en deux phases : phase de chargement remplissant les données initiales, phase d'exécution exécutant les opérations de benchmark
- Niveaux de concurrence : 1, 2, 4, 8, 16, 32 clients
- Distribution de sélection de clés : distribution Zipfienne, simulant les modèles d'accès non uniformes réels
Charge de travail lecture intensive :
- 95 % lectures, 5 % opérations de mise à jour
- Données de 1 Ko par enregistrement (10 champs, 100 octets chacun)
- Chargement de 1 474 560 enregistrements
- Simule les scénarios de cache, les systèmes de distribution de contenu, etc.
Charge de travail équilibrée :
- 50 % lectures, 50 % opérations de mise à jour
- Structure d'enregistrement identique de 1 Ko
- Représente les modèles d'accès mixtes des plateformes de médias sociaux, applications collaboratives, etc.
Charge de travail écriture intensive :
- 10 % lectures, 90 % opérations d'insertion
- Données de séries chronologiques, 64 champs, 8 caractères par champ
- Phase d'exécution effectuant 2 949 120 opérations d'insertion
- Simule les scénarios d'ingestion de données à haut débit des applications IoT, systèmes de surveillance, etc.
Aerospike affiche les meilleures performances :
- Latence P99 : 436 ms (client unique) à 2 979 ms (32 clients)
- Débit : 3 348 ops/s à 32 592 ops/s
- L'avantage de performance provient de l'architecture mémoire hybride et de la conception sans partage
Redis affiche des performances intermédiaires :
- Latence P99 : 862 ms à 4 447 ms
- Débit : 1 656 à 17 158 ops/s
- L'architecture monothread devient un goulot d'étranglement à haute concurrence
Dragonfly présente la latence la plus élevée :
- Latence P99 : 1 137 ms à 4 883 ms
- Débit : 1 371 à 16 328 ops/s
- Les frais généraux de coordination multi-thread compensent les avantages du traitement parallèle
La hiérarchie de performance reste cohérente :
- Aerospike : Latence P99 441-2 409 ms, débit 3 372-33 741 ops/s
- Redis : Latence P99 874-4 017 ms, débit 1 664-17 004 ops/s
- Dragonfly : Latence P99 1 187-4 631 ms, débit 1 278-16 497 ops/s
Tous les systèmes affichent les meilleures performances :
- Aerospike : Latence P99 410-2 233 ms, débit 3 562-34 896 ops/s
- Redis : Latence P99 808-3 547 ms, débit 1 757-17 170 ops/s
- Dragonfly : Latence P99 1 124-3 859 ms, débit 1 331-16 925 ops/s
| Système | Avant exécution (Mo) | Après exécution (Mo) | Facteur de croissance |
|---|
| Redis | 36,32 | 2 610 | 72x |
| Aerospike | 232,1 | 772,3 | 3,3x |
| Dragonfly | 58,98 | 2 350 | 40x |
Conclusions clés :
- Aerospike affiche la meilleure efficacité mémoire, grâce à son modèle de stockage hybride
- Redis présente les frais généraux mémoire les plus importants, reflétant les limitations du stockage en mémoire sur nœud unique
- Dragonfly se situe entre les deux, avec des frais généraux supplémentaires dus aux structures de coordination multi-thread
Caractéristiques d'extension de débit :
- Aerospike : Extension quasi-linéaire, amélioration de 9-10x
- Redis : Amélioration de 10-11x, mais croissance de latence plus significative
- Dragonfly : Amélioration de 12-13x, performance de base plus faible
L'article cite plusieurs études connexes :
- Frameworks de benchmark : Le framework YCSB de Cooper et al. (2010) a jeté les bases du benchmark des systèmes de services cloud
- Études comparatives NoSQL : Comparaison empirique des stockages clé-valeur par Anthony & Rao
- Recherches spécifiques aux systèmes : Étude Aerospike de Volminger (2021), analyse Redis de Charan et al.
- Développements récents : Évaluation NoSQL des charges de travail OLAP de Mohan et al. (2024)
- Aerospike leader global : Affiche les meilleures performances dans toutes les charges de travail et niveaux de concurrence, avec la meilleure scalabilité de débit et une latence relativement faible
- Redis stable et fiable : Affiche des performances stables et prévisibles dans tous les modèles de charge de travail, mais limité par l'architecture monothread
- Dragonfly : potentiel et défis : Malgré une conception moderne, affiche de mauvaises performances de latence, montrant du potentiel dans les scénarios d'écriture intensive
- Impact significatif de la charge de travail : Tous les systèmes affichent les meilleures performances dans les conditions d'écriture intensive
- Besoins de performance maximale : Choisir Aerospike
- Priorité à la simplicité opérationnelle : Redis est suffisant pour répondre aux besoins
- Exigences de compatibilité Redis : Dragonfly est un choix intéressant, mais nécessite une évaluation prudente pour les applications sensibles à la latence
- Environnement de test sur machine unique : Tous les tests ont été effectués sur une seule machine, ne reflétant pas pleinement les avantages des systèmes distribués
- Conditions réseau limitées : N'a pas pris en compte l'impact de la latence réseau et des partitions sur la performance
- Distribution de données unique : Utilise uniquement la distribution Zipfienne, les applications réelles peuvent avoir des modèles différents
- Absence de mode cluster : N'a pas testé les scénarios de déploiement distribué réel
- Tests en environnement de production : Évaluer les performances des systèmes dans des conditions de production réelles
- Scénarios distribués : Tester la scalabilité distribuée réelle en mode cluster
- Étude des modèles de cohérence : Impact du théorème CAP sur la conception de chaque système
- Mécanismes de tolérance aux pannes : Évaluation des mécanismes de tolérance aux pannes lors de défaillances de nœuds
- Réplication inter-datacenters : Cohérence des données et délai de réplication en cas de partition réseau
- Méthodologie rigoureuse : Utilisation du framework YCSB standard pour assurer une comparaison équitable
- Expérimentation complète : Couvre plusieurs charges de travail et niveaux de concurrence
- Analyse approfondie : Fournit non seulement des données de performance, mais analyse également les causes architecturales
- Valeur pratique élevée : Fournit des orientations claires pour la sélection réelle de systèmes
- Rédaction claire : Structure logique, descriptions techniques précises
- Limitations d'environnement : L'environnement Docker sur machine unique ne peut pas pleinement démontrer les avantages des systèmes distribués
- Configuration unique : N'a pas testé l'impact de différents paramètres de configuration sur la performance
- Absence d'évaluation de persistance : N'a pas évalué en détail l'impact des mécanismes de persistance sur la performance
- Absence d'analyse de coûts : N'a pas pris en compte les coûts matériels et la complexité opérationnelle
- Stabilité à long terme : Manque de tests de stabilité sur longue durée
- Valeur académique : Fournit une approche systématique pour la recherche sur les performances des bases de données NoSQL
- Valeur pratique : Fournit une référence pour l'industrie dans la sélection de systèmes de stockage clé-valeur appropriés
- Contribution méthodologique : Démontre comment comparer systématiquement les performances des systèmes NoSQL
- Reproductibilité : La description détaillée de la configuration expérimentale facilite la reproduction et l'extension
- Sélection de système : Fournit une référence pour les projets nécessitant de choisir un système de stockage clé-valeur
- Optimisation de performance : Fournit des benchmarks pour l'optimisation de performance des systèmes existants
- Conception architecturale : Fournit une base pour la conception architecturale de systèmes distribués à grande échelle
- Recherche académique : Fournit des données de base et des références méthodologiques pour la recherche dans les domaines connexes
L'article cite plusieurs références importantes, notamment :
- Cooper, B.F. et al. (2010). Benchmarking cloud serving systems with YCSB
- Anthony, A., & Rao, Y. N. M. Memcached, Redis, and Aerospike Key-Value Stores Empirical Comparison
- Mohan, R. K. et al. (2024). Evaluating NoSQL Databases for OLAP Workloads
- Ainsi que la documentation officielle et les ressources techniques de chaque système de base de données
Cet article apporte une contribution précieuse au domaine de l'évaluation des performances des bases de données NoSQL. Grâce à une conception expérimentale systématique et une analyse approfondie, il fournit une référence importante pour comprendre les caractéristiques de performance des systèmes de stockage clé-valeur modernes et pour sélectionner des solutions technologiques appropriées.