Las Bases de Datos NoSQL

Cuando pienso en el término Bases de Datos, inmediatamente viene a mi mente una imagen de tablas, cada una con sus respectivos atributos, organizadas en filas y columnas, y unidas entre sí por alguna llave primaria o foránea. Si, este ha sido el concepto gráfico para imaginarme  una Base de Datos Relacional y  en la mayoría de las ocasiones, estas tablas almacenan texto, números y tal vez  imágenes. Así mismo, de manera inmediata vienen a mi memoria conceptos como “Normalización de la Base de Datos”, “Consistencia de la información”, “Rendimiento ”, reglas rígidas  que garantizan ACID ,etc. Este esquema de Base de Datos cubre las necesidades de una empresa que requiere hacer consultas, modificaciones, eliminaciones de sus datos en tiempo real, considerando que el esquema de la estructura de la Base de Datos es estático, es decir ¿Que pasa si la organización se encuentra en producción y necesitas agregar un campo a la BD o si deseas en general que la Base de Datos crezca en  ese preciso momento? Por mencionar un ejemplo, esto implica tiempo, costos y  que tal vez se deba de dar de baja la BD, las aplicaciones  y puedas hacer ese tipo de cambios. Ahora, imaginemos  un escenario donde los datos  se almacenan de forma remota en varios servidores virtuales en la nube, ¿Como realizamos esos cambios?

 

Otro de los retos con los que se encuentran las organizaciones, es el almacenamiento por el  incremento considerable de grandes volúmenes de Datos, sumado a esto, el tipo de información que se almacena, su estructura, las aplicaciones que los manipulan, etc.

 

En un mundo donde la fuente  de  los datos es diversa, surge una nueva forma de almacenar datos: las Bases de Datos NoSLQ. Y no es tan nueva,  la primera vez que se mencionó este término fue en 1998, pero se retomó con más fuerza  a partir del 2009. Las Bases de Datos NoSQL (Not Only SQL) surgen en un mundo donde la información se comparte en segundos independientemente de la ubicación geográfica donde se genere, los horarios o el idioma,  estos datos representados en mensajes instantáneos, videoconferencias, mensajes de voz, imágenes, documentos, etc!!! Requieren un tipo de almacenamiento Flexible, escalable, de alto Rendimiento.

 

La característica principal de las Bases de Datos  No SQL es que  tienen un esquema de bases de datos flexible, especialmente útiles cuando la empresa necesita, acceder   y analizar grandes cantidades de datos estructurados y no estructurados que se almacenan localmente o de manera remota en servidores virtuales, especialmente para obtener información  a través de  aplicaciones de Big Data, para qué con dicha información se puedan hacer Análisis de Datos y permita manejar adecuadamente las necesidades de escalabilidad y Rendimiento que las BD Relacionales no consideran.

 

Si las aplicaciones WEB de la organización necesitan accesar a la BD, si no es tan importante las reglas ACID de la información,  si se necesita un esquema flexible en la estructura de la BD,  si se realizan múltiples operaciones  de lectura y escritura, y el Rendimiento es muy  importante, entonces existen diferentes Modelos de Datos en las BD No SQL  para satisfacer las necesidades anteriormente mencionadas. Existen cuatro modelos de Datos:  Modelo Documento, Modelo Gráfico, Modelo Clave-Valor y  Modelo Orientado a Objetos.

 

Una herramienta que se ha convertido en la favorita de los desarrolladores que utiliza el modelo de Datos » Modelo Documentos» es MongoDB, está hecho en c++ por lo que su ejecución es rápida,  es escalable, con esta herramienta almacenas cualquier contenido, cualquier tipo de datos y permite Flexibilidad en el esquema de la BD,  y un mejor rendimiento, así mismo cubre  las necesidades de grandes volúmenes de almacenamiento. Los desarrolladores de software mas modernos necesitan flexibilidad en el manejo de los datos y Mongo DB lo proporciona.

 

Conoce más sobre MongoDB en el siguiente link http://blog.auriboxtraining.com/bases-de-datos/que-es-mongodb/

 

De acuerdo al teorema de  Brewer, en sistemas distribuidos es imposible garantizar a la vez: consistencia, disponibilidad y tolerancia a particiones (Consistency-Availability-Partition Tolerance). Por eso es importante evaluar las necesidades de la organización para tomar la decisión de la tecnología a  utilizar. Pensar que las RDBMS  van a desaparecer  es como decir que la TV o los libros impresos  desaparecerán por  la aparición del internet, De hecho las BD NoSQL tienen bases de las RDBMS, que no nos extrañe que el día de mañana estas últimas evolucionen o implementen características de las BD No SQL. Independientemente del Modelo de Datos que se ajusta a sus necesidades, algunas empresa que utilizan  BD NoSQL son Facebook, Twitter, Yahoo, Adobe, Instagram, etc

Taller de Desarrollo con Javascript

Regístrate en nuestra plataforma en linea para tener acceso completo y gratuito del taller

Registrarme

Taller de desarrollo de Pokedex con Android Studio

Regístrate en nuestra plataforma en linea para tener acceso completo y gratuito del taller

Registrarme