Pregunta

¿Cómo puede como MongoDB ser utilizado para el análisis de datos? ¿Cuáles son las características en ellos que pueden hacer análisis de datos más rápido y potente?

¿Fue útil?

Solución

Para ser perfectamente honesto, la mayoría de las bases de datos NoSQL no son muy adecuados para aplicaciones en grandes volúmenes de datos. Para la gran mayoría de todas las aplicaciones de datos grandes, el rendimiento de MongoDB compara con una base de datos relacional como < a href = "http://en.wikipedia.org/wiki/MySQL" rel = "noreferrer"> MySQL es significativamente es pobre como para justificar mantenerse alejado de algo así como MongoDB por completo.

Dicho esto, hay un par de propiedades muy útiles de las bases de datos NoSQL que sin duda trabajar en su favor cuando se trabaja con grandes conjuntos de datos, a pesar de la posibilidad de esos beneficios que prevalezca la generalmente pobre desempeño de NoSQL en comparación con < a href = "http://en.wikipedia.org/wiki/SQL" rel = "noreferrer"> SQL para las operaciones de lectura intensa (más similares a los datos típicos grandes casos de uso) es baja.

  • No esquema - Si está trabajando con una gran cantidad de datos no estructurados, podría ser difícil decidir realmente en forma rígida y aplicar un esquema. bases de datos NoSQL en general están muy de apoyo de esto, y le permitirá insertar documentos sin esquema sobre la marcha, lo que ciertamente no es algo que va a apoyar una base de datos SQL.
  • JSON - Si le sucede a estar trabajando con JSON- documentos de estilo en lugar de con CSV archivos, a continuación, podrás ver un montón de ventaja en el uso algo así como una base de datos MongoDB para-capa. En general, los ahorros de flujo de trabajo no supere el aumento de consultas veces sin embargo.
  • Facilidad de uso - rel no estoy diciendo que las bases de datos SQL son siempre difíciles de usar, o que Cassandra es la cosa más fácil del mundo de configurar, pero en las bases de datos NoSQL generales son más fáciles de instalar y de usar de bases de datos SQL. MongoDB es un ejemplo particularmente fuerte de esta, conocida por ser una de las capas de base de datos más fácil de usar (fuera de SQLite ). SQL también se ocupa de una gran cantidad de normalización y hay un gran legado de las mejores prácticas de SQL que se atasca sólo en general por el proceso de desarrollo.

En lo personal me podría sugerir que también compruebe hacia fuera gráfico de bases de datos tales como Neo4j que muestran muy buen rendimiento para ciertos tipos de consultas, si usted está buscando en la selección de un backend para sus aplicaciones de las ciencias de datos.

Otros consejos

Uno de los beneficios del enfoque NoSQL sin esquema es que no se comprometen antes de tiempo y se puede aplicar el esquema de la derecha en el tiempo de consulta utilizando una herramienta adecuada como Apache taladro . Ver este presentación para más detalles. MySQL no sería mi primera opción en un entorno de grandes volúmenes de datos.

Considere, tratar, y tal vez incluso utilizar varias bases de datos. No es sólo una cuestión de "rendimiento" en el juego aquí. Que realmente va a bajar a sus necesidades. La cantidad de datos que estas hablando? qué tipo de datos? la rapidez con qué lo necesita? ¿Es usted más de lectura o escritura pesada pesada?

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 que no sea lo suficientemente rápido para sus necesidades, pero es algo que es posible. Con un poco de almacenamiento en caché de los valores agregados específicos, era aún bastante aceptable. ¿Por qué harías esto? Conveniencia.

La comodidad es algo que realmente va a ser persuadido por. Eso es exactamente por qué (en mi opinión) bases de datos NoSQL fueron creados. Rendimiento también, por supuesto, pero estoy tratando de puntos de referencia de descuento y centrarse más en otras preocupaciones.

MongoDB (y algunos otros) NoSQL bases de datos tienen algunas características muy potentes, como una función de map / reduce. Esto podría resultar en un ahorro tanto en coste y el tiempo durante el uso de algo así como Hadoop. O podría proporcionar un prototipo o MVP para poner en marcha un negocio más grande.

¿Qué pasa con las bases de datos gráfica? Son "NoSQL" también. Mira bases de datos como OrientDB. Si quieres discutir el rendimiento ... No creo que estás a mi va a mostrar una base de datos SQL que es más rápido que hay =) ... y las bases de datos del gráfico tener alguna aplicación realmente sorprendente en base a lo que hay que hacer.

Estado de la tecnología (y el Internet) no se ponga demasiado cómodo con una cosa. Vas a ser limitado y se comprometa con el fracaso.

Licenciado bajo: CC-BY-SA con atribución
scroll top