/ / Qual è il modo migliore per archiviare entità altamente parametrizzate? - sql, mongodb, database-design, database, nosql

Qual è il modo migliore per memorizzare entità altamente parametrizzate? - sql, mongodb, database-design, database, nosql

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 № 1

C'è 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.