Domanda

Come puoi come MongoDB essere utilizzato per l'analisi dei dati? Quali sono le caratteristiche in loro che possono rendere l'analisi dei dati più veloce e potente?

È stato utile?

Soluzione

Per essere onesto, la maggior parte dei database NoSQL non sono molto adatti per applicazioni in grandi dati. Per la stragrande maggioranza di tutte le grandi applicazioni dati, le prestazioni di MongoDB rispetto ad un database relazionale come < a href = "http://en.wikipedia.org/wiki/MySQL" rel = "noreferrer"> MySQL è significativamente è abbastanza poveri per mandato di stare lontano da qualcosa come MongoDB del tutto.

Detto questo, ci sono un paio di caratteristiche davvero utili di database NoSQL che di certo il lavoro a tuo favore quando si lavora con grandi insiemi di dati, anche se la possibilità di tali prestazioni compensa il generale scarso rendimento di NoSQL rispetto a < a href = "http://en.wikipedia.org/wiki/SQL" rel = "noreferrer"> SQL per operazioni intensive nella lettura (più simili a grossi dati tipici casi d'uso) è basso.

  • No Schema - Se si lavora con un sacco di dati non strutturati, potrebbe essere difficile decidere in realtà su e applicare rigidamente uno schema. i database NoSQL, in generale, sono molto sostenendo di questo, e vi permetterà di inserire i documenti dello schema-less al volo, che non è certo qualcosa di un database SQL sosterrà.
  • JSON - Se vi capita di lavorare con JSON- documenti stile invece di con CSV file, poi vedrete un sacco di vantaggio nell'utilizzo di qualcosa di simile a un database MongoDB per strato. Generalmente il risparmio del flusso di lavoro non superano l'aumento di query volte però.
  • Facilità d'uso - rel non sto dicendo che i database SQL sono sempre difficili da usare, o che Cassandra è la cosa più facile del mondo da configurare, ma nel database generali NoSQL sono più facili da configurare e utilizzare di database SQL. MongoDB è particolarmente forte esempio, noto per essere uno degli strati di database più facile da usare (fuori del SQLite ). SQL si occupa anche di un sacco di normalizzazione e c'è una grande eredità di buone pratiche SQL che impantana appena generalmente il processo di sviluppo.

Personalmente mi potrebbe suggerire anche controllare il grafico database come Neo4j che mostrano davvero buone prestazioni per alcuni tipi di query, se stai cercando in raccolta di un back-end per le applicazioni scientifiche dei dati.

Altri suggerimenti

Uno dei vantaggi di un approccio NoSQL schema-free è che tu non commetti prematuramente e si può applicare lo schema a destra in fase di query utilizzando uno strumento appropriato come Apache drill . Vedere questa presentazione per i dettagli. MySQL non sarebbe la mia prima scelta in una grande cornice di dati.

Si consideri, provare, e forse anche utilizzare più database. Non è solo un problema di "performance" in gioco qui. E 'davvero sta per venire giù alle vostre esigenze. La quantità di dati stai parlando? che tipo di dati? quanto velocemente avete bisogno? Sei più in lettura o scrittura pesante pesante?

Ecco una cosa che non si può fare in un database SQL: Calcolare il sentimento. http://www.slideshare.net/shift8/mongodb-machine-learning

Naturalmente la velocità in questo caso potrebbe non essere abbastanza veloce per le vostre esigenze, ma è qualcosa che è possibile. Con alcuni caching dei valori aggregati specifici, è stato anche abbastanza accettabile. Perché si fare questo? Convenienza.

La convenienza è davvero qualcosa che si sta andando ad essere persuaso da. Questo è esattamente il motivo per cui (a mio parere) i database NoSQL sono stati creati. Prestazioni troppo ovviamente, ma sto cercando di benchmark di sconto e concentrarsi maggiormente su altri problemi.

MongoDB (e alcuni altri) NoSQL database hanno alcune caratteristiche molto potenti come mappa integrata / ridurre. Ciò potrebbe portare a un risparmio sia in termini di costi e di tempo sopra usando qualcosa come Hadoop. Oppure potrebbe fornire un prototipo o di MVP per lanciare un business più grande.

Che dire database del grafico? Sono "NoSQL" troppo. Guardate database come OrientDB. Se si vuole discutere le prestazioni ... non credo che ti capita mostrarmi un database SQL che è più veloce lì =) ... e database del grafico avere qualche applicazione veramente sorprendente in base a ciò che devi fare.

Regola di tecnologia (e Internet) non si ottiene troppo comodo con una cosa. Sarai limitato e impostare voi stessi per il fallimento.

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