MongoDB en GNU Linux

La mayoría de nosotros trabajamos con base de datos tipo SQL, vease MySQL, Oracle o MariaDB, pero existen otras llamadas NoSQL, que no siguen el modelo relacional, ni usan SQL ni trabajan con tablas. Hoy hablamos de MongoDB

mongodb-image

Sobre MongoDB

MongoDB deriva de la palabra inglesa «humongous» que en castellano quiere decir enorme. Es una base de datos tipo NoSQL. Los datos los guarda en documentos, en vez de en tablas, estos documentos son tipo JSON. Conjuntamente a estos documentos se usa un esquema dinámico.

El código fuente está liberado usando licencias GNU AGPL en su versión 3, los drivers en cambio usan licencia Apache

Está contruido en C++ y lo usan compañias como MTV Network o Foursquare.

Funciona tanto en plataformas GNU Linux, OSX, Windows y Solaris

Caracaterísticas importantes

  • Consultas Ad hoc. Soporta la búsqueda por campos, consultas de rangos y expresiones regulares.
  • Indexación. Cualquier campo puede ser indexado. También se pueden crear índices secundarios.
  • Replicación. Soporta el tipo de replicación maestro – esclavo.
  • Balanceo de carga. Se puede escalar de forma horizontal.
  • Almacenamiento de archivos. Puede ser utilizado con un sistema de archivos.

Tiene muchas otras caractéristicas muy interesantes que os invito a investigar.

Instalación en GNU Linux

La instalación en sistemas GNU Linux es bastante similar en la mayoría de las distribuciones.

Para empezar necesitamos el programa curl, que lo podemos instalar, según convenga:

  1. #En Debian, Ubuntu, LinuxMint, ElementaryOS
  2. apt-get -y install curl
  3. #En Red Hat, CentOS y Fedora
  4. yum install curl
  5. #En SUSE y OpenSUSE
  6. zypper install curl
  7. #En Arch
  8. pacman -i curl

De esta manera ya podemos usarlo para descargar la última versión de MongoDB:

  1. curl -O http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz

Lo vemos en la imagen:

mongodb-gnu-linux-001Ahora procedemos a descomprimir el fichero:

  1. tar -zxvf mongodb-linux-x86_64-2.6.6.tgz

El resultado:

mongodb-gnu-linux-002

Una vez extraído el contenido, crearemos la carpeta MongoDB, donde más nos convenga. Y copiaremos el contenido allí.

  1. mkdir -p mongodb
  2. cp -R -n mongodb-linux-x86_64-2.6.6/ mongodb

Debemos de añadir la carpeta a la variable PATH del sistema, para que así podamos ejecutar el programa desde cualquier ubicación del sistema.

Hay que tener en cuenta que los binarios, están ubicados dentro de la subcarpeta bin/

Hay que modificar el fichero ~/.bashrc y añadir la siguiente línea:

  1. export PATH=/home/ochobitsunbyte/mongodb/mongodb-linux-x86_64-2.6.6/bin:$PATH

He utilizado la ubicación en mi computadora. Vosotros tenéis que usar la vuestra.

Un truco es acceder hasta la carpeta bin/ y allí usar el programa pwd, para que nos liste toda la ubicación.

Primeros pasos en MongoDB

Para usar por primera esta base de datos, crearemos un directorio donde la base de datos trabajará.

Lo habitual es crear una carpeta llamada /data/db. Lo haríamos de la siguiente manera:

  1. mkdir -p /data/db

Una vez creado ya podemos usar el comando mongod, una vez arrancado, abriremos otra terminal y escribiremos mongo, para empezar a trabajar con la base de datos. IMPORTANTE, siempre usando el usuario root

mongodb-gnu-linux-003

Espero que os haya sido interesante.

Para el artículo me he servido de direrentes fuentes:

Wikipedia MongoDB

Guía Oficial de MongoDB (en inglés)