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 Articolo: 2510.08863
- Titolo: Comparative Performance Analysis of Modern NoSQL Data Technologies: Redis, Aerospike, and Dragonfly
- Autori: Deep Bodra (Harrisburg University of Science and Technology), Sushil Khairnar (Virginia Tech)
- Classificazione: cs.DB cs.DC
- Rivista di Pubblicazione: Journal of Research, Innovation and Technologies, Volume IV, Issue 2(8), 2025
- Link Articolo: https://doi.org/10.57017/jorit.v4.2(8).05
Con l'emergere delle applicazioni distribuite e del cloud computing, la domanda di sistemi di archiviazione chiave-valore scalabili e ad alte prestazioni è in costante crescita. Questo articolo presenta una valutazione delle prestazioni di tre principali sistemi NoSQL di archiviazione chiave-valore utilizzando il framework Yahoo! Cloud Serving Benchmark (YCSB): Redis, Aerospike e Dragonfly. Lo studio ha condotto esperimenti estensivi sotto tre diversi modelli di carico di lavoro (lettura intensiva, scrittura intensiva e bilanciato), variando sistematicamente il numero di client concorrenti da 1 a 32. La metodologia di valutazione ha catturato latenza, throughput e caratteristiche di memoria in condizioni operative realistiche, fornendo approfondimenti significativi sui compromessi di prestazione e sui comportamenti di scalabilità di ciascun sistema.
- Sfide dei Requisiti delle Applicazioni Moderne: L'ambiente digitale contemporaneo comporta la creazione e l'utilizzo di grandi volumi di dati; la rapida espansione delle applicazioni web, della tecnologia mobile e dei dispositivi IoT pone nuove sfide ai sistemi di database
- Limitazioni dei Database Tradizionali: Sebbene i tradizionali sistemi di gestione di database relazionali siano potenti, incontrano difficoltà nel soddisfare i requisiti di prestazione e scalabilità delle applicazioni moderne, in particolare per applicazioni che richiedono tempi di risposta sub-millisecondo e l'elaborazione di milioni di operazioni al secondo
- L'Ascesa dei Database NoSQL: I database NoSQL, in particolare gli archivi chiave-valore, superano queste sfide enfatizzando prestazione e scalabilità
- Valore Pratico: Fornisce orientamenti pratici agli architetti di sistema nella scelta di soluzioni di archiviazione chiave-valore appropriate
- Valore Accademico: Colma il divario nella valutazione sistematica comparativa dei sistemi Redis, Aerospike e Dragonfly
- Valore Tecnico: Rivela le caratteristiche di prestazione di ciascun sistema attraverso una valutazione sistematica con diversi modelli di carico di lavoro e livelli di concorrenza
Sebbene questi sistemi siano ampiamente utilizzati, manca una ricerca comparativa completa che valuti sistematicamente le loro caratteristiche di prestazione sotto vari modelli di carico di lavoro e livelli di concorrenza.
- Confronto Completo delle Prestazioni: Fornisce un'analisi comparativa completa delle prestazioni includendo metriche di latenza e throughput
- Analisi delle Caratteristiche di Consumo di Memoria: Analizza in profondità i modelli di utilizzo della memoria e l'efficienza dei tre sistemi
- Valutazione Multi-Carico di Lavoro: Valutazione sistematica sotto tre tipi di carico di lavoro: lettura intensiva, scrittura intensiva e bilanciato
- Analisi di Scalabilità: Rivela le caratteristiche di espansione di ciascun sistema attraverso test con 1-32 client concorrenti
- Orientamenti Pratici: Fornisce indicazioni pratiche agli architetti di sistema per la scelta di soluzioni di archiviazione chiave-valore appropriate
Redis:
- Archivio di strutture dati in memoria open source, sviluppato nel 2009
- Architettura single-thread, che elimina complessi meccanismi di blocco ma limita la scalabilità su sistemi multi-core
- Supporta molteplici strutture dati: stringhe, hash, liste, insiemi, insiemi ordinati, ecc.
- Implementa la persistenza attraverso snapshot periodici o file append-only
Aerospike:
- Database NoSQL distribuito, fondato nel 2009
- Architettura di memoria ibrida: DRAM per l'archiviazione degli indici, SSD per l'archiviazione dei dati
- Architettura shared-nothing, con ogni nodo che opera indipendentemente
- Fornisce coerenza forte e failover automatico
Dragonfly:
- Archivio dati in memoria lanciato nel 2022, come sostituto diretto di Redis
- Architettura multi-thread e shared-nothing, in grado di sfruttare i core CPU multipli
- Compatibile con il protocollo Redis
- Implementa gestione della memoria complessa e strutture dati lock-free
Ambiente Hardware:
- Sistema: Mac OS con chip Apple M3 Pro
- Configurazione: 12 core, 36GB RAM, macOS Sequoia
- Distribuzione: Utilizzo di container Docker per garantire ambienti coerenti e isolati
Framework di Benchmark:
- Utilizzo di Yahoo! Cloud Serving Benchmark (YCSB)
- Approccio a due fasi: fase di caricamento per popolare i dati iniziali, fase di esecuzione per eseguire le operazioni di benchmark
- Livelli di concorrenza: 1, 2, 4, 8, 16, 32 client
- Distribuzione della selezione delle chiavi: distribuzione Zipfian, che simula modelli di accesso non uniformi realistici
Carico di Lavoro Lettura Intensiva:
- 95% operazioni di lettura, 5% operazioni di aggiornamento
- 1KB di dati per record (10 campi, 100 byte ciascuno)
- Caricamento di 1.474.560 record
- Simula scenari di cache, sistemi di distribuzione di contenuti, ecc.
Carico di Lavoro Bilanciato:
- 50% operazioni di lettura, 50% operazioni di aggiornamento
- Stessa struttura di record da 1KB
- Rappresenta modelli di accesso misto di piattaforme di social media, applicazioni collaborative, ecc.
Carico di Lavoro Scrittura Intensiva:
- 10% operazioni di lettura, 90% operazioni di inserimento
- Dati di serie temporali, 64 campi, 8 caratteri per campo
- La fase di esecuzione esegue 2.949.120 operazioni di inserimento
- Simula scenari di acquisizione dati ad alto throughput di applicazioni IoT, sistemi di monitoraggio, ecc.
Aerospike Mostra le Prestazioni Migliori:
- Latenza P99: 436ms (singolo client) a 2.979ms (32 client)
- Throughput: 3.348 ops/s a 32.592 ops/s
- Il vantaggio di prestazione deriva dall'architettura di memoria ibrida e dal design shared-nothing
Redis Mostra Prestazioni Medie:
- Latenza P99: 862ms a 4.447ms
- Throughput: 1.656 a 17.158 ops/s
- L'architettura single-thread diventa un collo di bottiglia di prestazione ad alta concorrenza
Dragonfly Presenta la Latenza Più Alta:
- Latenza P99: 1.137ms a 4.883ms
- Throughput: 1.371 a 16.328 ops/s
- L'overhead di coordinamento multi-thread compensa i vantaggi dell'elaborazione parallela
La Gerarchia di Prestazione Rimane Coerente:
- Aerospike: Latenza P99 441ms-2.409ms, throughput 3.372-33.741 ops/s
- Redis: Latenza P99 874ms-4.017ms, throughput 1.664-17.004 ops/s
- Dragonfly: Latenza P99 1.187ms-4.631ms, throughput 1.278-16.497 ops/s
Tutti i Sistemi Mostrano le Migliori Prestazioni:
- Aerospike: Latenza P99 410ms-2.233ms, throughput 3.562-34.896 ops/s
- Redis: Latenza P99 808ms-3.547ms, throughput 1.757-17.170 ops/s
- Dragonfly: Latenza P99 1.124ms-3.859ms, throughput 1.331-16.925 ops/s
| Sistema | Prima dell'Esecuzione (MB) | Dopo l'Esecuzione (MB) | Fattore di Crescita |
|---|
| Redis | 36.32 | 2610 | 72x |
| Aerospike | 232.1 | 772.3 | 3.3x |
| Dragonfly | 58.98 | 2350 | 40x |
Scoperte Chiave:
- Aerospike presenta la massima efficienza di memoria, grazie al modello di archiviazione ibrida
- Redis presenta il massimo overhead di memoria, riflettendo le limitazioni dell'archiviazione in memoria su singolo nodo
- Dragonfly si posiziona tra i due, con overhead aggiuntivo dovuto alle strutture di coordinamento multi-thread
Caratteristiche di Espansione del Throughput:
- Aerospike: Espansione quasi lineare, miglioramento di 9-10x
- Redis: Miglioramento di 10-11x, ma con crescita di latenza più significativa
- Dragonfly: Miglioramento di 12-13x, ma con prestazioni baseline inferiori
L'articolo cita molteplici ricerche correlate:
- Framework di Benchmark: Il framework YCSB di Cooper et al. (2010) ha stabilito le basi per il benchmark dei sistemi di servizio cloud
- Ricerche Comparative NoSQL: Confronto empirico degli archivi chiave-valore di Anthony & Rao
- Ricerche Specifiche di Sistema: Ricerca su Aerospike di Volminger (2021), analisi di Redis di Charan et al.
- Sviluppi Recenti: Valutazione NoSQL di carichi di lavoro OLAP di Mohan et al. (2024)
- Aerospike Guida Complessivamente: Mostra le migliori prestazioni sotto tutti i carichi di lavoro e livelli di concorrenza, con la migliore scalabilità di throughput e latenza relativamente bassa
- Redis Stabile e Affidabile: Mostra prestazioni stabili e prevedibili sotto tutti i modelli di carico di lavoro, ma è limitato dall'architettura single-thread
- Dragonfly: Potenziale e Sfide Coesistono: Sebbene moderno nel design, mostra prestazioni di latenza scadenti, con potenziale dimostrato in scenari di scrittura intensiva
- L'Impatto del Carico di Lavoro è Significativo: Tutti i database mostrano le migliori prestazioni in condizioni di scrittura intensiva
- Requisiti di Massima Prestazione: Scegliere Aerospike
- Priorità della Semplicità Operativa: Redis è sufficiente per soddisfare i requisiti
- Requisiti di Compatibilità Redis: Dragonfly è una scelta interessante, ma richiede una valutazione attenta per applicazioni sensibili alla latenza
- Ambiente di Test Single-Machine: Tutti i test sono stati condotti su una singola macchina, non riflettendo pienamente i vantaggi dei sistemi distribuiti
- Condizioni di Rete Limitate: Non considera l'impatto della latenza di rete e delle partizioni sulle prestazioni
- Distribuzione Dati Singola: Utilizza solo la distribuzione Zipfian, mentre le applicazioni reali potrebbero avere modelli diversi
- Assenza di Modalità Cluster: Non testa scenari di distribuzione distribuita reale
- Test in Ambiente di Produzione: Valutare le prestazioni del sistema in condizioni di produzione reali
- Scenari Distribuiti: Testare la scalabilità distribuita reale in modalità cluster
- Ricerca sui Modelli di Coerenza: Impatto del teorema CAP sulla progettazione di ciascun sistema
- Meccanismi di Tolleranza ai Guasti: Valutazione dei meccanismi di tolleranza ai guasti durante i guasti dei nodi
- Replica Cross-Datacenter: Coerenza dei dati e latenza di replica sotto partizioni di rete
- Metodologia Rigorosa: Utilizzo del framework YCSB standard garantisce un confronto equo
- Esperimenti Completi: Copertura di molteplici carichi di lavoro e livelli di concorrenza
- Analisi Approfondita: Fornisce non solo dati di prestazione, ma analizza anche le cause architettoniche
- Alto Valore Pratico: Fornisce orientamenti chiari per la scelta effettiva del sistema
- Scrittura Chiara: Struttura razionale, descrizioni tecniche accurate
- Limitazioni Ambientali: L'ambiente Docker single-machine non può mostrare pienamente i vantaggi dei sistemi distribuiti
- Configurazione Singola: Non testa l'impatto di diversi parametri di configurazione sulle prestazioni
- Assenza di Persistenza: Manca una valutazione dettagliata dell'impatto dei meccanismi di persistenza sulle prestazioni
- Assenza di Analisi dei Costi: Non considera i costi hardware e la complessità operativa
- Stabilità a Lungo Termine: Mancano test di stabilità durante l'esecuzione prolungata
- Valore Accademico: Fornisce un approccio sistematico alla ricerca sulle prestazioni dei database NoSQL
- Valore Pratico: Fornisce riferimenti per l'industria nella scelta di sistemi di archiviazione chiave-valore appropriati
- Contributo Metodologico: Dimostra come confrontare sistematicamente le prestazioni dei sistemi NoSQL
- Riproducibilità: La descrizione dettagliata della configurazione sperimentale facilita la riproduzione e l'estensione
- Selezione del Sistema: Fornisce riferimenti per progetti che necessitano di scegliere sistemi di archiviazione chiave-valore
- Ottimizzazione delle Prestazioni: Fornisce benchmark per l'ottimizzazione delle prestazioni del sistema esistente
- Progettazione dell'Architettura: Fornisce basi per la progettazione dell'architettura di sistemi distribuiti su larga scala
- Ricerca Accademica: Fornisce dati di base e riferimenti metodologici per la ricerca in campi correlati
L'articolo cita molteplici riferimenti importanti, tra cui:
- 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
- Nonché documentazione ufficiale e materiali tecnici dei sistemi di database
Questo articolo fornisce un contributo prezioso al campo della valutazione delle prestazioni dei database NoSQL. Attraverso una progettazione sperimentale sistematica e un'analisi approfondita, fornisce riferimenti importanti per comprendere le caratteristiche di prestazione dei moderni sistemi di archiviazione chiave-valore e per scegliere soluzioni tecnologiche appropriate.