Ok, lasciami provare a spiegare questo in modo più dettagliato. Sto sviluppando un sistema diagnostico per aerei. Immaginiamo che gli aeroplani abbiano da 6 a 8 computer di bordo. Ogni computer ha più di 200 parametri diversi. Il sistema diagnostico riceve tutti questi parametri in un pacchetto in formato binario, quindi trasferisco i dati secondo le formule (a km, km / h, rpm, min, sec, pascal e così via) e li devo archiviare in qualche modo in un database. I nuovi dati devono essere gestiti ogni 10 - 20 secondi e archiviati nuovamente in persistenza. Conserviamo i dati per ulteriori elaborazioni analitiche.
Requisiti di conservazione:
- supportare lo sharding e la replica
- lettura veloce: supporta l'indicizzazione btree
- NoSQL
- scrittura veloce
Quindi, ho calcolato un utilizzo medio del disco o della RAM per un piano al giorno. Sono circa 10-20 MB di dati. Quindi un carico stimato è di 100 aerei al giorno o 2 GB di dati al giorno.
Sembra che per memorizzare tutti i dati nella RAM(memorie a memoria memcached: redis, membase) non sono adatte (troppo costose). Tuttavia, ora sto guardando al lato mongodb. Dal momento che può utilizzare come RAM e utilizzo del disco, supporta tutti i requisiti richiesti.
Per favore, condividi la tua esperienza e i tuoi consigli.
risposte:
1 per risposta № 1C'è un utile articolo su Confronto DBMS NOSQL.
Inoltre potresti trovare informazioni sulla classifica e la popolarità di loro, per categoria.
Sembra per quanto riguarda le tue esigenze, Cassandra di Apache sarebbe un candidato a causa della sua scalabilità lineare, indici di colonna, Mappa / riduzione, viste materializzate e potente cache integrata.