jueves, 21 de marzo de 2013

MongoDB - Introducción



¿Qué es MongoDB?

MongoDB, recibe su nombre de la palabra "humongous", es un sistema de base de datos NoSQL orientado a documentos, open source y multiplataforma, escrito en C++.  Al ser NoSQL, MongoDB no guarda los datos en tablas, como lo hacen las base de datos relacionales, sino, que guarda los datos en estructuras de documentos JSON. Esta base de datos nos ofrece un alto rendimiento, alta disponibilidad, y fácil escalabilidad.

Una característica que me pareció bastante interesante es que MongoDB tiene la capacidad de realizar consultas utilizando JavaScript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas.



MongoDB presenta drivers oficiales para:

C
C++
C# / .NET
Erlang
Haskell
Java
JavaScript
Lisp
node.JS
Perl
PHP
Python
Ruby
Scala

Terminología

El sitio web oficial de MongoDB nos presenta una similitud de terminologías o conceptos en relación con SQL



Instalación de MongoDB

Instalación en RedHat, CentOS, Fedora

Lo primero que debemos hacer es crear (con permisos de administración) el fichero 10gen.repo, para eso:

$ sudo vi /etc/yum.repos.d/10gen.repo

Dentro de este fichero debemos colocar lo siguiente:

[10gen
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/
gpgcheck=0
enabled=1

en Donde <ARCH> es x86_64 ó i686, dependiendo de nuestra arquitectura. Luego simplemente instalamos MongoDB

$ sudo yum install mongo-10gen mongo-10gen-server


Debian

Lo primero que debemos hacer, es ver el tema de la llave, para eso:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Luego de eso, agregamos el repositorio necesario, para lo cual editamos el fichero sources.list
$ sudo nano /etc/apt/sources.list

Ahora agregamos lo siguiente:

deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen

Para que Debian nos reconozca el repositorio agregado, debemos actualizar

$ sudo apt-get update

Finalmente instalamos

$ sudo apt-get install mongodb-10gen


Agregando puertos al firewall

Debemos agregar el puerto de trabajo de MongoDB, para eso debemos editar el fichero de iptables, para eso:

$ sudo nano /etc/sysconfig/iptables

Dentro de este, al final del fichero pegamos:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

Ahora reiniciamos el servicio de iptables

service iptables restart


Primeros pasos en MongoDB

Ahora en consola escribimos mongo

$ mongo

y entramos a la consola de MongoDB, aquí podemos listar las base de datos

 >show dbs

Para crear o seleccionar una base de datos a trabajar:

 >use 

Listar los collections de esta base de datos
 >show collections

Para insertar los datos, hacemos algo como lo siguiente:

 >db.test.insert({texto: "HOLA MUNDO!"})

Y para buscar los datos ocupamos find()

 >db.test.find()


0 comentarios:

Publicar un comentario