Bases de datos no relacionales - MongoDBBases de datos no relacionales - MongoDB

¿Qué es MongoDB?

Con el incremento constante de usuarios conectados a Internet y de aplicaciones WEB que accesan a información de diferente tipo, según una investigación que se muestra en el sitio de es.vpnment sobre las tendencias de internet, hay casi mil millones de sitios web en el mundo, el uso que le damos a internet consiste en: buscar información, leer noticas, comprar en línea y acceso a las redes sociales, otro dato interesante, es que según las estadísticas, si un sitio tarda mas de 3 segundos en cargar, el usuario desistirá e intentará abrir una página diferente.

 

Si nos imaginamos la forma como está distribuida en todo el mundo toda esa información, de videos, audios, texto, imágenes, noticias, documentos, etc, de manera tal que proporcione disponibilidad, consistencia y tolerancia a fallas,  posiblemente ya sabemos que son miles de servidores conectados entre sí, finalmente la nube es eso, varios nodos conectados entre sí, distribuidos geográficamente alrededor del mundo. Lo interesante es pensar ¿Como se almacena toda la información? y ¿Cómo se gestiona ? tomando en cuenta que los datos que mencionamos al inicio, crecen considerablemente.

 

Hoy en día las organizaciones han tenido que voltear a ver otra forma de Administrar Bases de Datos, haciendo un poco a un lado los modelos tradicionales RDBMS, debido a que las  expectativas que se tienen que cumplir, son diferentes. Las Bases de Datos NoSQL permiten definir esquemas de almacenamiento flexibles, mejorando el rendimiento de su administración y permitiendo el crecimiento de manera horizontalmente. Y una de las herramientas que cubre esas necesidades y más, es MongoDB, la cual, utiliza el Modelo de Datos «Modelo Documento», el origen del término MongoDB («humongous» =enorme), nos da la idea de las bondades y capacidad de datos que permite gestionar esta herramienta; al estar basada en JavaScript se integra con todo tipo de aplicaciones web, aunado a esto, la facilidad para realizar  búsquedas más eficientes, ya que fué desarrollado en C++, lo cual permite que sea más rápida su ejecución y  logra que diversas Aplicaciones Operacionales y de Analítica se ejecuten en tiempo real.

 

Sus principales características son: Balanceo de Carga, Replicación, Consultas, indexación, duplicación de datos, Almacenamiento de archivos, etc. En un ambiente distribuido con múltiples aplicaciones que accesan a los datos, MongoDB  soporta drivers en mas de 9 lenguajes como son: Java, .Net, Ruby, Node.js, Phyton, PHP, C, C++, Javascript, Scala etc. MongoDB es escalable, de alto rendimiento y open source, y una de las mejores  alternativa de solución a nuestras problemáticas de gestión de BD Distribuidas.

 

Con MongoDB es posible elegir la consistencia a nivel de querys, es flexible para  almacenar la información y en las búsquedas  maneja diferentes tipos de índices: índices de texto, geoespaciales, compuestos, entre otros. Con MongoDB las consultas se realizan directamente sin necesidad de replicar los datos para tal efecto y se elaboran con su propio lenguaje de Consultas. La estructura de Datos se guarda  en documentos  tipo BSON (Binary JSON). MongoDB es una Base de Datos NoSQL «Orientada a documento», es opensource y una  de las bases de datos mas populares. Un registro en MongoDB es un documento, el cual es una estructura de datos compuesta por un pareja  llamada campo y valor. Los documentos MongoDB son similares a los objetos JSON; los valores de los campos pueden incluir otros documentos, arreglos, y arreglos de documentos que se almacenan en colecciones y estas últimas son parecidas a las tablas en un RDBMS y  los documentos  a las filas. y lo podemos lograr a través de JavaScript, utilizando un driver nativo de MongoDB.

 

Recapitulando, MongoDB maneja la consistencia y es Tolerante a las Particiones por defecto, permite accesar a los datos de una manera sencilla y te da la posibilidad de crecer muy rápido; define dinámicamente nuevos atributos o esquema de datos.

Conoce más sobre las bases de Datos NoSQL aquí http://blog.auriboxtraining.com/bases-de-datos/las-bases-de-datos-nosql/

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