Mongo DB, rápido y escalable

por Ene 14, 2016Elastic Cloud0 Comentarios

MongoDB es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. Esto quiere decir que, en lugar de guardar los datos en registros, guarda los datos en documentos. Y dichos documentos, a su vez, son almacenados en BSON, que es una representación binaria con un esquema dinámico, de JSON.

Esta importante herramienta disponible en la nube elástica de Facilcloud, te permite guardar los datos en tablas como se hace en las bases de datos relacionales, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida. Asimismo, su código binario está disponible para los sistemas operativos Windows, Linux, OS X y Solaris.

Una de las diferencias más importantes con respecto a las bases de datos relacionales, es que no es necesario seguir un esquema. Los documentos de una misma colección – concepto similar a una tabla de una base de datos relacional -, pueden tener esquemas diferentes.

mongodb-150x150MongoDB permite ejecutar distintos comandos, dado que proviene de JavaScript, por lo que las consultas se realizan utilizando ese lenguaje. Además de las funciones de MongoDB, se puede utilizar muchas de las funciones propias de JavaScript, también se pueden definir variables.

Asimismo, si se quiere usar otro lenguaje de programación, existen drivers oficiales para hacerlo, como C#, Java, Node.js, PHP, Python, Ruby, C, C++, Perl o Scala.

Banner Facilcloud_728 x 90

Usos más frecuentes

Mongo DB-04La base de dato MongoDB es frecuentemente utilizada en: almacenamiento y registro de eventos, en sistemas de manejo de documentos y contenido, comercio electrónico, juegos, problemas de alto volumen de lecturas, aplicaciones móviles, almacén de datos operacional de una página web, manejo de contenido, almacenamiento de comentarios, votaciones,

registro de usuarios, perfiles de usuarios, sesiones de datos, proyectos que utilizan metodologías de desarrollo iterativo o ágiles, manejo de estadísticas en tiempo real, entre otros.

MongoDB es especialmente útil en entornos que requieran escalabilidad. Con sus opciones de replicación y sharding, que son muy sencillas de configurar, se puede conseguir un sistema que escale horizontalmente sin demasiadas complicaciones. En esta base de datos no existen las transacciones; si las transacciones son algo indispensable en nuestro desarrollo, debería evaluarse otro sistema.

Mongo DB-02

Tampoco existen los JOINS, si se requiere consultar datos relacionados en dos o más colecciones, se debe hacer más de una consulta. De modo que si los datos pueden ser estructurados en tablas, y se necesitan las relaciones, es mejor optar por un RDBMS clásico.

Asimismo, para las consultas de agregación. MongoDB incluye un framework para realizar consultas de este tipo llamado Aggregation Framework. También puede usar Map Reduce. Pero, no obstante, estos métodos no llegan a la potencia de un sistema relacional. De manera que si se precisa explotar informes complejos, debe pensarse en utilizar otro sistema.

Mongo DB-03

De modo que, MongoDB es más rápido en las operaciones de escritura; para operaciones de escritura sencillas es entre 2 y 4 veces más rápido, para un número de escrituras elevado – el test de escritura de 30 millones de registros de acceso, por ejemplo – MongoDB duplica en rendimiento a MySQL. Y en escrituras concurrentes es más rápido.

En funciones de agregación, MySQL supera ampliamente a MongoDB. Dado que es mucho más rápido en la agregación de datos, entre 3 y 6 veces más rápido.

MongoDB es más escalable, lo que significa que cuando la carga de usuarios aumenta el tiempo de respuesta se mantiene estable.

 

Escritora de tecnologia

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.