junio 3, 2011 2

MongoDB: Un paradigma alternativo para bases de datos

By in NoSQL

MongoDB es una de las llamadas bases de datos NoSQL, aunque sería más exacto decir que es una base de datos no relacional, o según la definición que hacen en su web: “Una BD documental sin esquema, escalable y de alto rendimiento”. En MongoDB nos podemos ir olvidando de las tablas, tenemos algo parecido denominado colecciones, y de los registros, en las colecciones lo que se almacenan son documentos, y también nos tenemos que olvidar del lenguaje SQL. Otra particularidad es la forma en que almacena los documentos. MongoDB los guarda en formato BJSON (Binary JSON), aunque nosotros los veremos y los trataremos en formato JSON.

En la documentación de MongoDB aparece como instalarla para varios sistemas operativos. Yo personalmente he decidido bajarme un archivo zip y descomprimirlo, luego me he creado un script para lanzar el servidor con un archivo de configuración, donde le indico en que ruta están las bases de datos.

Ahora toca arrancar el servidor. Yo he hecho uso del script pero si no se ejecutaría el programa mongod. Nos aparece la siguiente ventana:

Captura de pantalla del arranque de MongoDB

MongoDB

Ahora toca conectarnos al servidor. Para ello ejecutamos el programa mongo. Por defecto se nos conecta a la base de datos test, pero podemos indicar a que base de datos conectarnos al iniciar o posteriormente desde la consola:

Captura de pantalla del cliente de MongoDBDesde esta consola podemos ejecutar una serie de comandos para trabajar con las bases de datos y con las colecciones. Por ejemplo vamos a crear una base de datos llamada biblioteca, vamos a crear una colección llamada libros y vamos a insertar el primer libro:

Parece un tanto extraño. No vemos que haya instrucciones para crear la base de datos o la colección, tampoco hemos definido la estructura de esta última. ¿Qué es lo que está pasando? Con el comando use le indicamos a MongoDB que vamos a usar una base de datos, y si esta no existe la crea. Luego mediante db.nombreDeColección podemos acceder a una colección. Esta se crea automáticamente cuando insertamos el primer documento.

¿Y dónde definimos la estructra del documento en la colección? En ningún sitio, los documentos en una colección pueden tener cualquier estructura, no hay una prefijada como ocurre con las tablas en los gestores relacionales.

Después hemos llamado al método find, que nos permite realizar consultas sobre una colección. En este caso nos devuelve todos los documentos, puesto que no le hemos indicado ningún parámetro, que en la colección que tenemos es solo uno. Podemos ver que además de los campos que hemos definido al insertar el documento, hay también uno llamado _id. Este es el identificador del documento, que es único y autogenerado por MongoDB.

Con esto se termina esta breve introducción a MongoDB, que tiene como objetivo dar una visión general de este gestor de bases de datos. Si queremos profundizar más es recomendable leer la propia documentación de MongoDB, donde podemos ver conceptos más avanzados como por ejemplo clustering.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

2 Responses to “MongoDB: Un paradigma alternativo para bases de datos”

  1. zerobit dice:

    Mongodb es un paradigma muy interesante, que permite realizar webs y aplicaciones muy escalables; la forma como se estructura la base de datos le permite un alto rendimiento; mi experiencia con Mongodb es muy buena y su aprendizaje presenta poca dificultad.

  2. [...] MongoDB: Un paradigma alternativo para bases de datos [...]

Leave a Reply