Couch DB

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 16

NOMBRE DE LA CARRERA:

TECNOLOGÍAS DE LA INFORMACIÓN ÁREA DESARROLLO DE


SOFTWARE MULTIPLATAFORMA

TEMA A EXPONER:
COUCH DB

ASIGNATURA:
BASE DE DATOS PARA CÓMPUTO EN LA NUBE

ELABORADO POR:
ALBA IRIS TORRES SANDOVAL

NOMBRE DEL PROFESOR:


LIC. IRVING BÁRCENAS RODRÍGUEZ

FECHA DE ENTREGA:
05/FEBRERO/2020
INTRODUCCIÓN

La utilización de una base de datos no relacional ha


captado la atención de muchas empresas en los últimos
años, pero esto no significa que sean mejores que las
bases de datos de tipo relacional, sino que son una
alternativa para dar solución a determinados problemas
que estas presentan cuando se tratan grandes cantidades
de datos. CouchDB cuenta con características que se
enfocan principalmente a la facilidad de uso, utilizando su
interfaz WEB llamada “Futon” para darle funcionalidad,
esto la hace sencilla y de rápido entendimiento intentando
no interponerse entre el desarrollador y la aplicación.
LAS BASES DE DATOS NOSQL

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).

La replicación en CouchDB usa la misma REST API que


todos los demás clientes. El protocolo HTTP es
transparente y está estudiado en profundidad. La
replicación funciona de forma incremental; esto es, que si
cualquier cosa sale mal durante la replicación, como una
desconexión de red, continuará donde se cortó la próxima
vez que se ejecute. Del mismo modo, solamente
transfiere los datos necesarios para sincronizar las bases
de datos.
CONSIDERACIONES AL USAR COUCHDB
Teorema CAP

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.

El teorema CAP se describe de la siguiente forma:


 La C se refiere a la consistencia, es decir, todos los clientes deben ver la misma información al mismo
tiempo. La consistencia se consigue replicando la información.

 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.

 La P se refiere a la tolerancia a la partición, que es lo mismo que decir si el sistema va a funcionar de


manera correcta a pesar que se generen particiones de información entre sus nodos. La tolerancia a la
partición se consigue definiendo reglas que indiquen qué debe hacerse en caso de que
falle un nodo o no se tenga acceso a él.
TEOREMA CAP EN COUCHDB

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

 La BBC, para sus plataformas de contenidos dinámicos14

 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.

 imgb.in gratuito Servicio de carga de imágenes

 Memorize.com Un sitio web para memorizar todo tipo de cosas.

 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

Como ya se mencionó CouchDB está diseñada para que


el usuario pueda Instalarla de forma sencilla,
evidentemente para ello se necesita ingresar a su sitio
Web Oficial http://couchdb.apache.org/ y buscar el SO y la
arquitectura correspondiente a nuestra necesidad.

Una vez Instalado podemos ingresar a la API llamada


“Futon” que es la interfaz de administración build-in
ingresando en un navegador la URL
http://localhost:5984/_utils/
CURL PARA COUCHDB

Para interactuar con CouchDB directamente de forma


ideal se procede a instalar cURL. cURL es software
interprete que Soporta los protocolos FTP, FTPS, HTTP,
HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE y LDAP,
entre otros.
Para comprobar la conexión se utiliza el comando:
Shell > curl http://127.0.0.1:5984
EJEMPLO SIMPLE

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

También podría gustarte