Temario
La asignatura consta de 5 bloques temáticos, que a su vez incluyen diferentes temas.
El contenido asociado a cada bloque temático es el que se detalla a continuación:
Bloque 1: Preliminares
En este bloque se realizará una introducción a las características fundamentales asociadas a las bases de datos NoSQL, haciendo hincapié en su definición, motivación, características e inconvenientes, así como su contextualización en el área de las bases de datos y su aplicación en Big Data.

Tema 1. Introducción
1.1 Gestión de datos: revisión histórica.
1.2 NoSQL: antecedentes, características y diferencias con respecto a la gestión relacional.
1.3 Taxonomía de soluciones.
1.4 NoSQL vs. NewSQL.
Prácticas (se distribuirán por grupos y se discutirán en clase)
Análisis comparativo de BBDD paralelas
Análisis de productos de BDD uno NoSQL y otro NewSQL
CB1, CB2, CB5, G8, G15, N4, ED5
Bibliografía [1][5][6]
Bloque 2. Modelos de datos
En este bloque se presentarán los modelos de datos más relevantes que subyacen en las bases de datos NoSQL, así como algunas consideraciones de diseño, para tener en cuenta cuando trabajamos con ellos. Los modelos de datos que estudiaremos son los modelos de agregación (que incluyen, a su vez, los modelos clave-valor, documental y orientado a columnas) y los modelos orientados a grafos.

Tema 2. Paradigmas NoSQL
2.1 Gestores clave-Valor, orientados a columnas, documentales y basados en grafos.
2.2 Arquitectura y modelo de datos.
2.3 Criterios de diseño.
2.4 Casos de aplicación.
Prácticas (se distribuirán por grupos y se discutirán en clase)
Análisis de distintos tipos de necesidades y adecuación de los distintos modelos a las mismas.
CB1, CB2, CB5, G8, G15, N4, ED5
Bibliografía [1][5][6]

Bloque 3. Distribución de datos
Buena parte de las bases de datos NoSQL se utilizan en entornos altamente distribuidos que gestionan grandes volúmenes de datos. Por ello es necesario presentar los principales conceptos relacionados con bases de datos distribuidas. Entre estos conceptos, por una parte, se incluyen la definición de base de datos distribuida, así como aspectos relativos a su diseño. Por otra parte, se tratarán características como la consistencia y disponibilidad de los datos en entornos altamente distribuidos, y cómo éstas quedan expresadas en el teorema CAP. Para ello será necesario estudiar el modelo de transacciones ACID en el que se basan las bases de datos relacionales y el modelo BASE que subyace en algunas bases de datos NoSQL.
Tema 3. Distribución de datos
3.1 Conceptos básicos, técnicas y patrones
3.2 Consistencia (teorema de CAP)
3.2 Modelo ACID vs BASE
3.3 Particionado
3.4 Almacenamientos
3.5 Consultas

Prácticas (se distribuirán por grupos para su discusión en clase)
Análisis de distribución de datos, estudio de casos concretos.
CB1, CB2, CB5, G8, G15, N4, ED5
Bibliografía [1][5][6]

Bloque 4. Bases de datos NoSQL
En este bloque se examinará, para cada uno de los modelos de datos presentado en el bloque 2, un ejemplo de base de datos NoSQL, es decir, un producto comercial concreto. Los productos que se presentarán son Riak, MongoDB y Neo4J que constituyen ejemplos de bases de datos NoSQL clave-valor, documental y orientada a grafos, respectivamente. Asimismo, se discutirán aspectos relativos a distribución de datos para alguno de los productos estudiados.
Tema 4. Bases de datos NoSQL
4.1. Bases de datos Clave-Valor
4.2 Bases de datos en columna
4.3 Bases de datos documentales
4.4 Bases de datos orientadas a grafos
4.5 Servicios de bases de datos en cloud computing.
Prácticas
Instalación y configuración de las herramientas Riak, MongoDB y Neo4j
CB1, CB2, CB5, G8, G15, N4, ED5
Bibliografía [2][3][4]


Bloque 5. Uso de bases de datos NoSQL
En el último bloque está dedicado a la consulta y actualización de datos almacenados en BD NoSQL. En concreto trabajaremos con Neo4J (una BBDD orientada a grafos) y MongoDB (una BD de documentos). Contaremos con el soporte de dos casos prácticos.
Tema 5. Presentación de casos prácticos
5.1 Base de datos orientada a grafos
5.2 Base de datos orientada a documentos
Prácticas
Implementación de caso de base de datos orientada a grafo y caso de bases de datos orientada a documentos. Elaboración de memoria de proyecto y presentación en clase de los resultados

CB1,CB2,CB5,G8,G15,N1,N2,N4,ED5
Bibliografía [2][4]