Couch DB
Couch DB
Couch DB
TEMA A EXPONER:
COUCH DB
ASIGNATURA:
BASE DE DATOS PARA CÓMPUTO EN LA NUBE
ELABORADO POR:
ALBA IRIS TORRES SANDOVAL
FECHA DE ENTREGA:
05/FEBRERO/2020
INTRODUCCIÓN
Las Bases de Datos NoSQL son sistemas de almacenamiento de información que no cumplen con el
esquema entidad–relación. Tampoco utilizan una estructura de datos en forma de tabla donde se van
almacenando los datos sino que para el almacenamiento hacen uso de otros formatos como clave–valor,
mapeo de columnas, orientado a documentos o grafos.
CouchDB
Apache CouchDb más conocido como CouchDB fue creado en abril de 2005 por Damien Katz (ex
desarrollador de Lotus Notes en IBM) y programado en Erlang. “CouchDB es un gestor de base de
datos orientado a documentos que se enfoca principalmente a la facilidad de uso y que abarca
completamente la web”.
CouchDB Almacena los datos en JSON es capaz de acceder a documentos y consultar índices con
un navegador web a través de HTTP, también posee características tales como la transformación de
documentos y notificaciones en tiempo real. Indexa, combina y transforma sus documentos con
JavaScript o sus aplicaciones de manera eficiente. Además CouchDB tiene la característica de
detección automática de conflictos cuando se presenta una falla, todo esto hace que el desarrollo de
aplicaciones WEB sea fácil de utilizar. CouchDB es altamente disponible, tolerante a la partición.
RELAX DE COUCHDB
“Si hay una palabra que describe a CouchDB, tiene que ser Relax… cuando arrancamos CouchDB vemos: Apache
CouchDB has started. Time to relax”.
CouchDB intenta que su uso sea natural para cualquiera que ha trabajado en un entorno Web, Relax está dividido
en tres áreas de relajación que a continuación se describen:
CouchDB procura no interponerse cuando algún desarrollador está intentando construir una solución
especializada.
CouchDB se preocupa una vez más de no molestar al usuario gracias a que su arquitectura interna tolera fallos,
y los errores se dan en un entorno controlado y se resuelven de manera apropiada, los problemas puntuales no
afectan al servidor entero sino que permanecen aislados en una única consulta.
El tercer punto de relajación se da a la hora de incrementar o reducir Software. A primera vista CouchDB parece
inflexible pero algunas cosas se han dejado fuera intencionalmente simplemente porque si CouchDB las tuviera
permitirían al usuario crear aplicaciones que no escalan correctamente.
REPLICACIÓN EN COUCHDB
La función fundamental de la Replicación es sincronizar dos o más bases de datos de CouchDB. Esto
puede sonar simple, pero la simplicidad es la pieza clave para permitir que la replicación solvente varios
problemas: sincronizar de manera fiable bases de datos entre múltiples máquinas para tener
almacenamiento redundante; distribuir datos a un cluster de instancias de CouchDB que comparten un
subconjunto del total de consultas que llegan a ese cluster (balance de carga).
El Teorema CAP, también conocido como Teorema Brewer, demuestra que “Es imposible garantizar a la vez
consistencia, disponibilidad y tolerancia a particiones”.
Este teorema establece las características de cada una de las bases de datos NoSQL y ayuda a elegir, de
entre las múltiples posibilidades, qué sistema de bases de datos es el más adecuado para satisfacer
nuestras necesidades de negocio.
La A se refiere a la disponibilidad (Availability) y esto se traduce en que cada cliente puede siempre leer
y/o escribir sobre la base. La disponibilidad se consigue actualizando la información de todos los nodos.
Para CouchDB el Teorema CAP determina que esta base de datos garantiza la disponibilidad y la tolerancia
a particiones, pero no puede asegurar una total consistencia. A veces se puede llegar a conseguir una
consistencia parcial gracias a la replicación y a la verificación. En este caso los clientes serán capaces de
leer y escribir siempre, aunque se haya caído un nodo y el sistema continuará funcionado aunque existan
caídas parciales o fallos que lo dividan.
ORGANIZACIONES QUE USAN COUCHDB
Entre las empresas que han usado o actualmente usan CouchDB se pueden
mencionar:
Ubuntu para su servicio de sincronización "Ubuntu One" hasta noviembre de 2011 pero fue descontinuado por
problemas de escalabilidad.13
Credit Suisse, para usos internos en el departamento de commodities para su framework de mercados.11
Meebo, para su plataforma social (web y aplicaciones) - Meebo fue adquirido por Google y cesó sus
operaciones el 12 de julio de 2012.
TwiGroups es una herramienta de redes sociales para su uso en Twitter. CouchDB como almacenamiento
tweets.
Magnifeast sitio web Restaurante con pedidos en línea de cientos de restaurantes. utiliza CouchDB como base
de datos principal.
INSTALACIÓN DE COUCHDB
En un problema supuesto se tiene una base de datos “VentasDB” la cual contiene el nombre de todos los
clientes que compraron x producto, y lo que se desea saber es:
¿Qué clientes han recurrido con mayor frecuencia a comprar productos?
Se realiza el mapeado de los
clientes y las veces que
realizaron una compra
Se aprecia el resultado reducido y la
sumatoria de total
de la compra de cada uno de los clientes