martes, 15 de diciembre de 2009

CouchDB: Primeros pasos

INSTALACION DE CouchDB

Antes de instalar CouchDB, existe una serie de dependencias, y éstas deben satisfacerse previamente.

La primera dependencia será “Visual C++ 2008 Redistributables (for openssl binary)”, disponible en las siguientes URL’s:

http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

El archivo a descargar se llama

vcredist_x86.exe

Una vez ejecutado el archivo e instalado el paquete, la siguiente dependencia es OpenSSL, que se podrá descargar en la siguiente URL:

http://www.openssl.org/related/binaries.html

El enlace directo para la versión para Windows es la siguiente:

http://www.slproweb.com/products/Win32OpenSSL.html

Hay que descargar “Win32 OpenSSL v0.9.8l”, cuya URL directa es la siguiente:

http://www.slproweb.com/download/Win32OpenSSL-0_9_8l.exe

El archivo ocupa unos 7 MB.

Una vez instalado el segundo paquete, la última dependencia es ERLANG, un lenguaje de programación potente orientado a sistemas concurrentes distribuidos, y sobre el cual se ha escrito el código de CouchDB. La URL es la siguiente:

http://www.erlang.org/download.html

La última versión (a la edición de este artículo) es la versión R13B03, del 25 de Noviembre de 2009. Hay que descargar el binario para Windows, cuyo archivo es:

otp_win32_R13B03.exe

Ocupa unos 80,5 MB, incluyendo también la documentación.

Una vez instaladas las dependencias, se procederá a instalar CouchDB. La URL donde se encuentra disponible el archivo de instalación es la siguiente:

http://wiki.apache.org/couchdb/Windows_binary_installer

que tiene un enlace al siguiente repositorio:

http://people.apache.org/~mhammond/dist/0.10.0/

La última versión (a la edición de este artículo) es la 0.10, cuyo archivo es:

setup-couchdb-0.10.0.exe

El tamaño del archivo es de unos 44,5 MB.


ARRANQUE DE CouchDB

Para arrancar el gestor de base de datos CouchDB, se procederá a ejecutar el archivo
couchdb.bat

que se encuentra dentro del directorio bin. Si la instalación de CouchDB se realizó correctamente, se habrá creado un acceso directo en

Inicio > Todos los programas > Apache CouchDB > Start CouchDB

Se abrirá una consola MS-DOS con la secuencia de arranque (similar a ésta):

CouchDB 0.10.0 - prepare to relax...
Eshell V5.7.2 (abort with ^G)
1> Apache CouchDB 0.10.0 (LogLevel=info) is starting.
1> Apache CouchDB has started. Time to relax.
1> [info] [<0.1.0>] Apache CouchDB has started on http://127.0.0.1:5984/
1>


Para comprobar que está funcionando correctamente, abrir un navegador y escribir la siguiente URL:

http://127.0.0.1:5984/

Deberá dar como respuesta la bienvenida a CouchDB y la versión que se está ejecutando:

{"couchdb":"Welcome","version":"0.10.0"}


Nota: Es recomendable añadir alguna regla de excepción en el cortafuegos (firewall) que permita el acceso por el puerto 5984. De esta manera, no tendremos problemas con este puerto.


COMANDOS EN CouchDB

La comunicación con el gestor de base de datos será principalmente a través del protocolo http, por lo que se podrá utilizar simple navegador. También puede hacerse uso de un comando Unix llamado curl, con una sintaxis similar a la siguiente:

curl http://127.0.0.1:5984 (equivale al mensaje de bienvenida)
curl –X GET/PUT http://127.0.01:5984/_comando


Para visualizar todas las bases de datos creadas, utilizar el siguiente comando:

http://127.0.0.1:5984/_all_dbs

Si no hay creada ninguna base de datos, el resultado será el siguiente:

[]


FUTON
Existen comandos curl para casi todo, pero lo mejor será utilizar FUTON, una interfaz de usuario a través del navegador. Esta herramienta permitirá, entre otras cosas, crear y eliminar bases de datos, ver y editar documentos, componer y ejecutar vistas MapReduce o lanzar replicaciones entre bases de datos.

Para lanzar FUTON, escribir la siguiente URL:

http://127.0.0.1:5984/_utils

También puede ser lanzada, desde Windows, mediante el siguiente acceso:

Inicio > Todos los programas > Apache CouchDB > Futon (CouchDB web interface)

Se mostrará la siguiente interfaz:


Al inicio, mostrará las bases de datos que están creadas.

Para crear una base de datos, hacer clic en la opción “Create Database…” situada en la parte superior izquierda, junto al icono “+”. Aparecerá una caja de diálogo solicitando el nombre de la nueva base de datos.



Introducir “tarjetas” y hacer clic en el botón “Create”. Una vez creada la base de datos “tarjetas”, aparecerá a siguiente imagen:



En la parte derecha se observará que la base de datos se ha creado, y en la URL aparecerá el comando:

http://127.0.0.1:5984/_utils/database.html?tarjetas

el cual indic a que se está utilizando la base de datos “tarjetas”. Como se acaba de crear la base de datos, no hay todavía ningún documento.

En la parte superior nos da las siguientes opciones:
- New Document: Crea un nuevo documento
- Compact Database…: Compacta la base de datos.
- Delete Database…: Elimina la base de datos

Si se crea un nuevo documento, aparecerá lo siguiente:



Automáticamente ha generado un documento, cuyo _id ha sido etiquetado con un valor que no se repetirá jamás, y que identificará al documento de manera única.

En la parte superior aparecerán las siguientes opciones:
- Save Document: Guarda el documento actual
- Add Field: Agregar un campo
- Upload Attachment…: Adjuntar (archivo)

Hacer clic en la opción “Add Field”, con lo que nos permitirá introducir el nombre de un campo y el valor del mismo (haciendo doble clic).


Una vez introducidos todos los valores del documento, se guarda el documento mediante la opción “Save Document”. El resultado será el siguiente:


Los datos han sido guardados, y los campos ordenados por su nombre. En la parte inferior tendremos acceso a las opciones “Previous version” y “Next version", que nos permitirá llegar a las versiones del documento actual que se hayan registrado.
Si se hace clic sobre el botón “Source” (pestaña superior derecha), se mostrará el código del documento en formato JSON:

{
"_id": "e8c79ce94ac50a136ec02164212b695c",
"_rev": "2-5892a9350b124b19fa7393f4c936d040",
"nombre": "Rafael Hernampérez Martín",
"empresa": "Tecnillusions",
"telefono": "999-999-999",
"email": "info@tecnillusions.com",
"web": "http://www.tecnillusions.com"
}


La pestaña “Fields” mostrará nuevamente el documento en formato de tabla.

La franja superior (en negro) muestra la navegación actual:

Overview > baseDatos > id_documento

Cada uno de los niveles de navegación es accesible. Así, si hacemos clic sobre “Overview” se accederá directamente a la página principal, donde se muestran las bases de datos existentes:



Por último, para parar y cerrar la ejecución del servidor CouchDB, acceder a la consola de MS-DOS que se abrió al arrancar CouchDB, y detenerlo pulsando las teclas Ctrl+C. Solicitará confirmación sobre la terminación del proceso de lotes. Si se confirma (con S y la tecla Enter), se detendrá CouchDB.

CONCLUSION
En este artículo hemos aprendido a:
- Instalar CouchDB en un sistema Windows
- Arrancar el servidor de base de datos CouchDB
- Acceder a los comandos mediante navegador y comando curl
- Acceder a la herramienta FUTON
- Crear una base de datos
- Añadir un documento a la base de datos
- Añadir campos y valores a un documento
- Navegar por la herramienta FUTON
- Detener el servidor de base de datos CouchDB

Safe Creative #0912155119950