Вы находитесь на странице: 1из 12

Erick Arturo

Ornelas
Couth
DB
Martnez,

I T S PA

Doroteo Hipolito Dolores,


Marco Antonio Prez
Ortega
Couch DB (DataBase) es un nuevo concepto de
bases de datos, conjunta de comunidad
Apache. Su nombre evoca relax, y esta es su
filosofa. Evoca tranquilidad, debido a que todo
ahora es ms sencillo y produce menos
problemas, incluso para personas no tcnicas.

ndice
CouchDB........................................................................................................ 2
Arquitectura de CouchDB............................................................................... 2
Instalacin...................................................................................................... 4
Configuracin y uso....................................................................................... 6
CONCLUSION.................................................................................................... 11

CouchDB
Couch (sof, divn) DB (DataBase) es un nuevo concepto de bases de datos, de la mano de la
comunidad Apache. El nombre no ha sido elegido al azar, ni de manera casustica. Su nombre
evoca relax, y sa es su filosofa. Evoca tranquilidad, debido a que todo ahora es ms sencillo y
produce menos problemas, incluso para personas no tcnicas.
Lo primero que llama la atencin de CouchDB es que no sigue el concepto de base de datos
tradicional entidad-relacin (modelo relacional), si no un modelo de almacenamiento documental,
gestionado por un potente motor de consultas sencillsimo de utilizar.
Cada documento est identificado por un ID nico (cdigo o identificador).
Para gestionar los documentos, CouchDB integra un modelo de vistas que utilizan JavaScript,
las cuales permiten agregar y reportar en los documentos en la base de datos. Las vistas son
construidas dinmicamente y no afectan por debajo al documento, pudiendo tener tantas vistas
diferentes de los mismos datos como se desee.
A diferencia de una base de datos relacional, CouchDB est diseado para almacenar y reportar
grandes cantidades de datos semi-estructuradas orientadas a documentos, sin un esquema o
estructura. En una base de datos relacional, el esquema es predefinido y limita la informacin
que es necesaria, especialmente cuando las necesidades cambian con respecto a las
anticipadas en el diseo. Esto ocasiona problemas en la actualizacin en un medio distribuido.
CouchDB no est forzado por un esquema, y los nuevos tipos de datos pueden ser aadidos sin
problemas
en
documentos
similares.
CouchDB posee utilidades para trabajar en lnea de comandos o directamente a travs de una
URL y un navegador, hablando con el gestor en formato JSON (JavaScript Object Notation).
Asimismo, posee utilidades en una interfaz de administracin, que permiten al usuario realizar
las operaciones sin necesidad de comandos, a travs de la URL:
http://127.0.0.1:5984/_utils/config.html

Arquitectura de CouchDB
El verdadero corazn de CouchDB es un potente motor de almacenamiento B-Tree, una
estructura de datos ordenada que permite bsquedas, inserciones y eliminaciones en tiempo
logartmico. Este sistema permite un alto rendimiento, una alta disponibilidad, mejoras de
velocidad, y la particin de los datos en mltiples nodos sin afectar a la disponibilidad de
consultar
cada
nodo
aisladamente.
El clculo de los resultados de una vista es realizado mediante MapReduces (mapeo y
reduccin), que son aplicados a cada documento de forma aislada, lo que presta a s mismo una
computacin paralela e incremental. Estas funciones (mapeo y reduccin) producen pares de
clave/valor, que son insertados en el motor de almacenamiento B-Tree, ordenados por clave,
haciendo extremadamente eficiente las bsquedas por clave o por rango.

Otra caracterstica de CouchDB es que no utiliza bloqueos, como en las bases de datos
relacionales, en donde una actualizacin de un dato provoca un bloqueo que impide a cualquier
consulta acceder al dato mientras dure la actualizacin. Cuando hay mltiples
actualizaciones/peticiones concurrentes, se est desperdiciando un enorme poder de
procesamiento de los servidores, tomando mucho tempo en decidir quin hace qu, cundo y en
qu orden, en lugar de realizar su trabajo. En lugar de ello, CouchDB utiliza un sistema de
Control de Concurrencia Multi Versin (MVCC en ingls), para gestionar el acceso concurrente a
la base de datos, ejecutando en paralelo las peticiones, incluso en un sistema de carga extrema.
Los documentos son versionados con un sistema de control de versiones (de forma similar a
Subversion). Cada actualizacin genera una nueva versin del documento y lo guarda por
encima del antiguo. Esto optimiza el rendimiento concurrente, ya que una lectura puede leer la
ltima versin mientras an se est actualizando, sin tener que esperar la actualizacin.
La validacin previa de los datos complejos es posible gracias a funciones JavaScript, lo que
permite que cuando se actualiza un documento se realice una validacin del mismo en una copia
del documento, denegando o aprobando el mismo segn sus reglas.
Cuando se trabaja con varios nodos, la consistencia distribuida est asegurada con CouchDB,
gracias a la replicacin incremental, que evita preocuparnos de la disponibilidad de la
informacin en caso que uno de los nodos deje de funcionar, gracias a la copia peridica entre
servidores de los cambios realizados en los documentos. Esta replicacin se puede programar
mediante un gestor de tareas. Despus de cada replicacin, cada nodo es capaz de trabajar de
forma
independiente.
Adems, CouchDB posee un sistema automtico deteccin y resolucin de conflictos, en el caso
de que un documento se intente actualizar en distintos nodos, guardando varias versiones las
actualizaciones, y poniendo como la versin ms reciente la versin ganadora. Para gestionar
conflictos, CouchDB permite acceder a las versiones, cambiar el orden de las versiones, y
guardarlas.

Instalacin

Buscamos el sitio oficial de couch BD y descargamos la versin reciente. Ya descargada


ejecutamos el .exe

Aceptamos

los

trminos

de

licencia

Dejamos por default el lugar en donde se guardaran los documentos que se crean de la
base de datos couthDB

Y se le da un nombre al folder, en donde esta ser alojada o se busca otra carpeta ya creada
previamente. En esta ocasin la dejaremos por default.

Se observara la ruta de donde se instalara nuestro gestor de base de datos, y los paquetes
que contendr.

Configuracin y uso
Por ultimo esperamos a que se instale. Una vez instalada podremos utilizarlo, por lo que nos
vamos a:
Inicio > Todos los programas > Apache CouchDB > Futon (CouchDB web interface)

Se mostrar la siguiente interfaz:

Al
inicio,
mostrar
las
bases
de
datos
que
estn
creadas.
Para crear una base de datos, hacer clic en la opcin Create Database situada en la parte
superior izquierda, junto al icono +. Aparecer una caja de dilogo solicitando el nombre de la
nueva base de datos.

Introducir nombre_de la BD y hacer clic en el botn Create. Una vez creada la base de datos
erick1, 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?erick1
El cual indica que se est utilizando la base de datos erick1. Como se acaba de crear la base
de datos, no hay todava ningn 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:

Prcticamente ha generado un documento, cuyo _id ha sido etiquetado con un valor que no se
repetir jams, y que identificar al documento de manera nica.
En la parte superior aparecern las siguientes opciones:
- Save Document: Guarda el documento actual
- Add Field: Agregar un campo
- Upload Attachment: Adjuntar (archivo)
Hacer clic en la opcin 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
opcin 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 botn Source (pestaa superior derecha), se mostrar el cdigo del
documento en formato JSON:

La pestaa Fields mostrar nuevamente el documento en formato de tabla.


La franja superior (en negro) muestra la navegacin actual:
Overview > baseDatos > id_documento
Cada uno de los niveles de navegacin es accesible. As, si hacemos clic sobre Overview se
acceder directamente a la pgina principal, donde se muestran las bases de datos existentes:

CONCLUSION
En esta prctica hemos aprendido a:
- Instalar CouchDB en un sistema Windows
- Arrancar el servidor de base de datos CouchDB
- Acceder a los comandos mediante navegador
- Acceder a la herramienta FUTON
- Crear una base de datos
- Aadir un documento a la base de datos
- Aadir campos y valores a un documento
- Navegar por la herramienta FUTON

Вам также может понравиться