Searching...
domingo, 11 de diciembre de 2016

Introducción a Bases de Datos NoSQL y MongoDB

Entre las implicaciones del movimiento <<Big Data>> se encuentra la creciente demanda de sistemas de gestión de bases de datos que permitan manejar grandes cantidades de datos. Hasta hace algunos años esta demanda se satisfacía mediante el uso de DBMSs relacionales en arquitecturas distribuidas, además de un constante análisis de rendimiento. Esta solución se ha quedado corta en algunos casos por lo que han empezado a surgir nuevas propuestas que se alejan de los típicos sistemas de bases de datos relacionales. Una de estas nuevas comúnmente llamadas NoSQL es MongoDB.



Descripción y tipos de bases de datos NoSQL

El término NoSQL se definió en 2009 con el fin de agrupar todas aquellas bases de datos no-relacionales que estaban ganando popularidad en ese momento.

Las bases de datos NoSQL pueden clasificarse en tres grandes categorías:
  • Almacenes de clave-valor simple. Como su nombre lo indica, utilizan una clave para acceder a un valor específico. Los valores almacenados se manejan como array de bytes, es decir, sin ningún esquema específico asignado. Su aplicación es común en sistemas de caché. Uno de los sistemas más conocidos en esta categoría es memcached, el cual es el sistema de facto para la gestión de caché de datos en aplicaciones web.
  • Almacenes de clave-valor sofisticados. Estos sistemas son un refinamiento de la categoría anterior con el objetivo de permitir operaciones de lectura y escritura más complejas, así como un modelo de datos ligeramente más elaborado. Ejemplos de sistemas en esta categoría son Cassandra, Dynamo, Voldemort y Riak.
  • Almacenes de documentos. Los sistemas dentro de esta categoría permiten almacenar estructuras de datos relativamente complejas. Las implementaciones más conocidas en este grupo son CouchDB y MongoDB.

Historia e instalación de MongoDB

Durante 2007, la empresa 10gen empezo a trabajar en un sistema siguiendo la arquitectura Platform-As-A-Service, la cual permitiría a los desarrolladores desplegar sus aplicaciones en una plataforma sin necesidad de preocuparse por la gestión de características como el alojamiento y la base de datos.

El servicio no fue del todo exitoso, a excepción del sistema creado para la gestión de datos, el cual se llegó a convertir en MongoDB. Actualmente, 10gen sigue manteniendo MongoDB y brindando soporte a aquellos desarrolladores que empiezan a trabajar con el sistema.

Los requisitos del entorno para el que fue desarrollado MonogoDB muestran las características que describen la herramienta: fácilmente escalable mediante la inclusión de más nodos en una red de servidores, además de ser muy compatible con aplicaciones web.

La instalación de MongoDB puede realizarse en el sistema operativo Windows mediante los siguientes pasos:
  • Extrae el contenido del fichero zip descargado.
  • Crea una carpeta en la ruta C:\data\db
  • Inicia el servidor de MongoDB ejecutando el programa mongod.exe, ubicado en la subcarpeta bin.

Conceptos básicos de MongoDB

En MongoDB los datos se almacenan en forma de un documento, el cual es una estructura con pares clave-valor, muy similares a los objetos JSON, con la salvedad de que MongoDB almacena los datos en formato BSON (representación binaria de JSON).
Un documento posee un atributo especial llamado _id, el cual indica el valor que identifica de forma inequívoca al documento.

A su vez, los documentos se almacenan en colecciones formando así un conjunto de documentos con atributos similares. Podría decirse que una colección equivale a una tabla en una base de datos relacional.

Así, podemos definir una base de datos en MongoDB como un conjunto de colecciones.

Durante los primeros 33 minutos de este video, el arquitecto de software de MondoDB Inc., Norberto Leite, presenta una detallada introducción a los sistemas de bases de datos NoSQL y a MongoDB.




Documentación

A continuación proporciono algunos enlaces útiles para que puedas empezar a trabajar con bases de datos NoSQL y, específicamente, con MongoDB.



Tutoriales

Herramientas utilizadas


0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!