Saltar al contenido principal
Página

Tema 2.4 - Bases de Datos NoSQL

Objetivos del Aprendizaje

● Entender las principales diferencias entre NoSQL y bases de datos relacionales

● Entender la arquitectura de bases de datos NoSQL

● Entender los principals tipos de bases de datos NoSQL y sus características

● Aprender sobre la arquitectura y los procesos de Hadoop Hbase

● Aprender sobre la arquitectura y los procesos de las bases de datos Cassandra


Arquitectura del Big Data



Bases de Datos NoSQL

● Las bases de datos NoSQL son bases de datos de nueva generación cuyo diseño no es relacional

● Las NoSQL son útiles cuando una empresa necesita acceder, analizar y utilizar cantidades masivas de datos estructurados o no estructurados

● Las restricciones de una base de datos relacional se relajan de muchas maneras. Así, hay muchos tipos de bases de datos NoSQL

● Los archivos de las bases de datos NoSQL se escriben una vez y casi nunca se actualizan


NoSQL vs RDBMS



Teorema CAP

● El teorema CAP (Consistencia, Disponibilidad y Tolerancia a la Partición; por sus siglas en Inglés) establece que en cualquier almacén de datos distribuido, sólo se pueden elegir dos de los tres: consistencia, disponibilidad y tolerancia a la partición

● Hay que elegir entre consistencia y disponibilidad: es decir, un compromiso entre precisión y baja latencia

● Los datos serán finalmente consistentes en todas las particiones, pero no en cualquier momento


Arquitectura NoSQL



Tipos de Bases de Datos NoSQL




● Valor Clave – Amazon SimpleDB

● Familia de Columnas – Cassandra, HBase

● Bases Documentales – MongoDB

● Gráfica – Neo4J







Arquitecturas Populares NoSQL

● Master - Slave - HBase

● Ring Architecture - Cassandra




Procesos Cassandra

Flujos de datos de escritura de Cassandra

Región única, zona de disponibilidad múltiple


1. Los clientes escriben en cualquier nodo de Cassandra

2. El nodo coordinador replica a los nodos y zonas

3. Los nodos devuelven el ack al coordinador

4. El coordinador devuelve al cliente

5. Los datos se escriben en el disco interno de registro de commit


Si un nodo se queda sin conexión, el handoff completará la escritura cuando el nodo vuelva a funcionar.

Las solicitudes pueden optar por esperar a que un nodo, un quórum o todos los nodos respalden la escritura.

Las escrituras en disco y las compactaciones de SSTable se producen de forma asíncrona.


Acceso Lenguaje NoSQL- Hive

● Hive es un lenguaje declarativo de tipo SQL para realizar consultas, es el más adecuado para datos estructurados como los almacenados en HBase, un almacén de valores clave

● Las columnas de datos de Hive se asignan a tablas en HDFS. Esta asignación se almacena en los metadatos




Acceso Lenguaje NoSQL- Pig

Pig es un lenguaje procedimental de alto nivel. Se utiliza principalmente para programar utilizando un flujo de datos paso a paso.



Preguntas de Repaso

1. ¿Qué es una base de datos NoSQL? ¿Cuáles son sus diferentes tipos?

2. ¿Cómo aprovecha una base de datos NoSQL la potencia de MapReduce?

3. ¿Cuáles son los diferentes tipos de bases de datos NoSQL? ¿Cuáles son las ventajas de cada una?

4. ¿Cuáles son las similitudes y diferencias entre Hive y Pig?

Última modificación: lunes, 28 de marzo de 2022, 17:10