i database NoSQL - buoni candidati per l'elaborazione dei log / aggregazione e cumulativo? [chiuso]

StackOverflow https://stackoverflow.com/questions/4746606

  •  13-10-2019
  •  | 
  •  

Domanda

Ho un database MS SQL che viene utilizzato per le statistiche di larghezza di banda di cattura. Abbiamo una tabella di dati grezzi e per migliorare la velocità di segnalazione a diversi livelli drill-down che aggregano e dei dati di rollup su base oraria, giornaliera e settimanale a tavoli separati.

Sarebbe un database NoSQL come Mongo o Raven essere un buon candidato per questo tipo di applicazione?

È stato utile?

Soluzione

Diverse soluzioni NoSQL risolvere problemi diversi per usi diversi - quindi prima di tutto la cosa migliore da fare è guardare il tuo problema e scomposizione

  • Si sta scrivendo molto per archiviazione, quindi velocità di scrittura è importante per voi
  • Si desidera eseguire operazioni di aggregazione a tali dati e avere i risultati di tale facilmente interrogabile
  • Velocità di lettura non è così importante dal suono delle cose, almeno non in un "applicazione web deve essere davvero reattivo per milioni di persone" tipo di strada
  • Non so se avete bisogno di query dinamiche o no

Diamo un'occhiata al divano, Mongo e Raven in un livello molto alto, modo generalizzato

Raven

  • Scrittura Fast
  • query veloci (finalmente coerente, pre-calcolate, aggregazione tramite mappa / ridurre)
  • query dinamiche possibili, ma non è davvero appropriato per il vostro caso d'uso, come si è più probabile che sarà l'esecuzione di query per data etc

Mongo

  • scrittura veloce come il fulmine (a mio parere pericolosamente, perché il potere andando fuori significa perdere dati; -))
  • legge lenta (relativamente), aggregazione tramite mappa / ridurre, non pre-calcolata query
  • dinamici sono solo what_you_do, ma probabilmente necessario definire gli indici sulle colonne se volete qualsiasi tipo di prestazioni su questo tipo di dati

Couch

  • Scrittura Fast
  • Fast-ish legge (pre-calcolata, ma aggiornato solo quando si leggono (IIRC)
  • dinamici non interroga possibile, tutti / ridurre le funzioni predefinite tramite mappa o mappa

Quindi, in sostanza - Avete bisogno di query dinamiche oltre questo tipo di dati? È la velocità di lettura incredibilmente importante per te? Se avete bisogno di query dinamiche, allora si vorrà Raven o Mongo (per questo genere di cose Couch non è probabilmente quello che stai cercando in ogni modo).

FWIW, unico caso d'uso di Mongo a mio parere è per la registrazione, quindi si potrebbe avere un anwer lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top