Altoros ha reso noti i dati dell’analisi comparativa dei database NoSQL: Couchbase Server v6.6.0, MongoDB v4.2.11 e DataStax Enterprise v6.8.3 (Cassandra).
Le prestazioni sono alutate in termini di latenza e throughput che erano in grado di raggiungere. Inoltre, la valutazione è stata condotta utilizzando tre diverse configurazioni di cluster (4, 10 e 20 nodi) così come quattro diversi carichi di lavoro.
Altoros, l’analisi comparativa di tre database NoSQL
NoSQL comprende un’ampia varietà di tecnologie database, sviluppate in risposta all’aumento dei volumi globali di dati e alla frequenza con cui vi si accede.
Al contrario, i tradizionali database relazionali non sono progettati per far fronte alle sfide di scalabilità e agilità che le applicazioni moderne devono affrontare, né sono costruiti per sfruttare la potenza di archiviazione ed elaborazione poco costosa oggi disponibile.
I sistemi NoSQL di nuova generazione aiutano a raggiungere i più elevati livelli di performance e uptime per i carichi di lavoro.
Misurare le prestazioni raggiunte da ogni database
Yahoo! Cloud Serving Benchmark (YCSB) – specifica open-source e suite di programmi pensata per valutare le capacità di recupero e maintenance dei programmi informatici – come strumento predefinito per avere coerenza nella valutazione.
Il primo carico di lavoro è eseguito in una modalità di aggiornamento pesante – simile a un’applicazione di trading azionario – invocando il 50% delle letture e degli aggiornamenti.
Il secondo carico di lavoro esegue una scansione a corto raggio che invoca il 95% delle letture e il 5% degli aggiornamenti, dove vengono interrogati brevi intervalli di record invece di record individuali. Come tale, il secondo carico di lavoro simula le attività tipiche di un’applicazione e-commerce.
Il terzo carico di lavoro rappresenta una query con una singola opzione di filtering.
Infine, il quarto carico di lavoro è una query unificata con applicazione di raggruppamento e ordinamento.
Analisi comparativa dei database NoSQL: le variabilità
Per il report, Altoros ha definito le prestazioni dei database in base alla velocità con cui quest’ultimo elaborava le operazioni di base.
L’operazione di base è un’azione svolta da un esecutore del carico di lavoro, che guida più thread del client. Ogni thread esegue una serie sequenziale di operazioni effettuando chiamate a un livello di interfaccia del database sia per caricare un database (la fase di carico) che per eseguire un carico di lavoro (la fase di transazione).
I thread regolano la velocità con cui generano le richieste in modo che Altoros possa controllare direttamente il carico offerto al database. Inoltre, i thread misurano la latenza e il throughput raggiunto delle loro operazioni e riportano queste misure al modulo di raccolta delle statistiche.
Artsiom Yudovin, Lead Data Engineer di Altoros
Sulla base dei nostri test, Couchbase scala meglio di MongoDB su cluster più grandi e utilizza una struttura peer-to-peer, consentendo l’accesso diretto ai nodi. Diversamente, MongoDB ha relazioni master-slave, dove certe operazioni devono chiamare Mongoose, un Object Document Mapper, e un server di configurazione per accedere a un nodo.