Come si possono utilizzare database NoSQL come MongoDB per l'analisi dei dati? Quali sono le funzionalità che possono rendere l'analisi dei dati più veloce e potente?
Come si possono utilizzare database NoSQL come MongoDB per l'analisi dei dati? Quali sono le funzionalità che possono rendere l'analisi dei dati più veloce e potente?
Risposte:
Ad essere sinceri, la maggior parte dei database NoSQL non sono molto adatti alle applicazioni nei big data. Per la stragrande maggioranza di tutte le applicazioni di big data, le prestazioni di MongoDB rispetto a un database relazionale come MySQL sono significativamente scarse abbastanza da giustificare la totale assenza di MongoDB.
Detto questo, ci sono un paio di proprietà davvero utili dei database NoSQL che sicuramente funzionano a tuo favore quando lavori con grandi set di dati, anche se la possibilità di quei benefici supera le prestazioni generalmente scarse di NoSQL rispetto a SQL per read- le operazioni intensive (più simili ai tipici casi d'uso dei big data) sono basse.
Personalmente potrei suggerire di consultare anche database di grafici come Neo4j che mostrano prestazioni davvero buone per determinati tipi di query se stai cercando di scegliere un backend per le tue applicazioni di data science.
json
sono dati totalmente strutturati. È possibile eseguire tecnicamente qualsiasi tipo di analisi dei dati su di esso, utilizzando un database NOSQL in realtà non è correlato. Ci sono strumenti costruiti su mongo, come analytica però.
Uno dei vantaggi dell'approccio NoSQL senza schema è che non si esegue il commit prematuramente e è possibile applicare lo schema giusto al momento della query utilizzando uno strumento appropriato come Apache Drill . Vedi questa presentazione per i dettagli. MySQL non sarebbe la mia prima scelta in un'impostazione di big data.
Prendi in considerazione, prova e forse utilizza anche più database. Qui non è solo un problema di "esibizione". Veramente si ridurrà alle tue esigenze. Di quanti dati stai parlando? che tipo di dati? quanto velocemente ne hai bisogno? Leggi di più pesante o scrivi pesante?
Ecco una cosa che non puoi fare in un database SQL: Calcola il sentimento. http://www.slideshare.net/shift8/mongodb-machine-learning
Naturalmente la velocità in quel caso potrebbe non essere abbastanza veloce per le tue esigenze, ma è qualcosa che è possibile. Con una certa memorizzazione nella cache di valori aggregati specifici, era addirittura accettabile. Perché dovresti farlo? Convenienza.
La convenienza è davvero qualcosa che ti farà convincere. Questo è esattamente il motivo per cui (a mio avviso) sono stati creati database NoSQL. Anche le prestazioni ovviamente, ma sto cercando di scontare i benchmark e concentrarmi maggiormente su altre preoccupazioni.
I database MongoDB (e alcuni altri NoSQL) hanno alcune funzionalità molto potenti come la mappa / riduzione integrata. Ciò potrebbe comportare un risparmio sia in termini di costi che di tempo usando qualcosa come Hadoop. Oppure potrebbe fornire un prototipo o MVP per avviare un'attività più ampia.
Che dire dei database dei grafici? Sono anche "NoSQL". Guarda database come OrientDB. Se vuoi discutere delle prestazioni ... Non penso che mi mostrerai un database SQL che è più veloce lì =) ... e i database grafici hanno un'applicazione davvero incredibile basata su ciò che devi fare.
La regola della tecnologia (e di Internet) non è troppo comoda per una cosa. Sarai limitato e ti preparerai per il fallimento.