¿Cómo se pueden usar las bases de datos NoSQL como MongoDB para el análisis de datos? ¿Cuáles son las características en ellos que pueden hacer que el análisis de datos sea más rápido y poderoso?
¿Cómo se pueden usar las bases de datos NoSQL como MongoDB para el análisis de datos? ¿Cuáles son las características en ellos que pueden hacer que el análisis de datos sea más rápido y poderoso?
Respuestas:
Para ser sincero, la mayoría de las bases de datos NoSQL no son muy adecuadas para aplicaciones en Big Data. Para la gran mayoría de todas las aplicaciones de Big Data, el rendimiento de MongoDB en comparación con una base de datos relacional como MySQL es significativamente lo suficientemente pobre como para justificar mantenerse alejado de algo como MongoDB por completo.
Dicho esto, hay un par de propiedades realmente útiles de las bases de datos NoSQL que ciertamente funcionan a su favor cuando trabaja con grandes conjuntos de datos, aunque la posibilidad de que esos beneficios superen el rendimiento generalmente pobre de NoSQL en comparación con SQL para lectura. Las operaciones intensivas (más similares a los casos típicos de uso de Big Data) son bajas.
Personalmente, podría sugerirle que también consulte las bases de datos de gráficos como Neo4j que muestran un rendimiento realmente bueno para ciertos tipos de consultas si está buscando elegir un back-end para sus aplicaciones de ciencia de datos.
json
son datos totalmente estructurados. Técnicamente, puede hacer cualquier tipo de análisis de datos en él, el uso de una base de datos NOSQL no está relacionado. Sin embargo, hay herramientas creadas sobre Mongo, como analytica.
Una ventaja del enfoque NoSQL sin esquema es que no se compromete prematuramente y puede aplicar el esquema correcto en el momento de la consulta utilizando una herramienta adecuada como Apache Drill . Vea esta presentación para más detalles. MySQL no sería mi primera opción en una configuración de Big Data.
Considere, pruebe y quizás incluso use múltiples bases de datos. Aquí no se trata solo de un problema de "rendimiento". Realmente se reducirá a sus necesidades. ¿De cuántos datos estás hablando? que tipo de datos ¿Qué tan rápido lo necesitas? ¿Lees más o escribes mucho?
Aquí hay una cosa que no puede hacer en una base de datos SQL: Calcular el sentimiento. http://www.slideshare.net/shift8/mongodb-machine-learning
Por supuesto, la velocidad en ese caso puede no ser lo suficientemente rápida para sus necesidades, pero es algo que es posible. Con un cierto almacenamiento en caché de valores agregados específicos, incluso fue bastante aceptable. ¿Por qué harías esto? Conveniencia.
La comodidad realmente es algo por lo que te va a persuadir. Eso es exactamente por qué (en mi opinión) se crearon bases de datos NoSQL. El rendimiento también, por supuesto, pero estoy tratando de descontar los puntos de referencia y centrarme más en otras preocupaciones.
Las bases de datos MongoDB (y algunas otras NoSQL) tienen algunas características muy poderosas, como el mapa incorporado / reducir. Esto podría resultar en un ahorro tanto en costo como en tiempo al usar algo como Hadoop. O podría proporcionar un prototipo o MVP para lanzar un negocio más grande.
¿Qué pasa con las bases de datos de gráficos? También son "NoSQL". Mire bases de datos como OrientDB. Si quieres discutir el rendimiento ... no creo que me muestres una base de datos SQL que sea más rápida allí =) ... y las bases de datos de gráficos tienen una aplicación realmente sorprendente basada en lo que necesitas hacer.
La regla de la tecnología (e internet) no se siente muy cómoda con una cosa. Serás limitado y te prepararás para el fracaso.