MongoDb la alternativa real de las NoSql

De un tiempo a esta parte han irrumpido en la escena del desarrollo web (del gran público) las bases de datos NoSql. Éstas se caracterizan por un rendimiento muy superior a las tradicionales RDBMS, como MySQL, Oracle,… en decrimento (no es oro todo lo que reluce) de funcionalidades muy interesantes y adictivas como integridad relacional, foreign keys,… Gran parte de responsabilidad del éxito de estos nuevos sistemas la tiene MongoDB, la que en mi opinión se esta llevando el gato al agua en este sector. Las empresa 10gen de Nueva York ha conseguido un fino equilibrio entre el rendimiento, el esquema libre y la orientación a documentos, con un sistema muy intuitivo para los programadores que, en concepto, no se distancia en exceso de las bases de datos relacionales. Todo esto la ha convertido en la MySQL de las NoSQL.

A veces parece que los programadores nos obsesionamos con el rendimiento de las aplicaciones, pero éste tiene un impacto directo y cuantíficable en el posicionamiento de nuestro comercio electrónico. Hace ya tiempo que Google tiene en cuenta el tiempo de carga de la página (PageSpeed) en su algoritmo de indexación y posicionamiento. Los usuarios, cada vez con conexiones más potentes se han convertido en exigentes e impacientes clientes de nuestras aplicaciones. Los dispositivos móviles que no disponen de un ancho de banda tan grande como nuestros ordenadores de sobremesa o portátiles demandan una nueva manera de hacer las cosas, donde el rendimiento y la velocidad de carga son cada vez más un punto clave. Evidentemente el cambiar nuestros sistemas para utilizar una base de datos NoSql no es la solución definitva, pero como en el SEO,… todo suma.

En la gráfica vemos una comparativa de tiempos de respuesta entre los dos sistemas.

01_SQLFire-Vs-RDBMS-Response-Time-Vs-Threads

Photo credit: vmware – blogs

Son muchos los proyectos online que estan adoptando a MongoDB para almacenar las toneladas de datos que se manejan diariamente en la red. Por poner un ejemplo en un proyecto de comercio electrónico en el que estoy trabajando estamos haciendo un experimiento de recolección de datos en bruto que llegado el momento analizaremos. En un mes de este proceso hemos recogido más de 5Gb de información. Manejar esta cantidad de información en un servidor de características normales se complica, operar en producción con estos datos, se hace difícil,… analizar y actuar en consecuencia al cabo de un tiempo se hará imposible… No estamos diciendo que las bases de datos NoSql sean la panacea, el sacrificio y perdida de funcionalidades respecto a las RDBMS implica de entrada que toda la lógica de integridad recae en la aplicación, y esto implica horas de desarrollo y en consecuencia costes de mantenimiento. Por contra nos ofrece una escalabilidad y flexibilidad mucho más elevada y una capacidad de reacción ante nuevas necesidades que en mi opinión se alinean mucho con los desarrollos ágiles.

En conclusión. MongoDB Rocks! oh Yeah!

Aqui os dejo unos cuandos análisis que he consultado:

Published by

Daniel Casasnovas Barber

CTO en Anfibic y Decantalo, programador web desde que existe :-) Con el PHP como idioma he dado forma a infinidad de proyectos web que van desde meras webs presenciales a complejos sistemas de comercio electrónico tanto B2B como B2C. Creo en el comercio electrónico no como una oportunidad, sino en una realidad.

Deja un comentario

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