Bases de datos NoSQL: MongoDB y CouchDB (IFCD72) (Programa detallado)

Objetivo:

Al finalizar este curso el alumno estará plenamente capacitado para crear bases de datos NoSQL, tanto con MongoDB como con CouchDB, las dos bases de datos NoSQL orientadas a documentos más usadas en la actualidad, así como diseñar bases de datos NoSQL basadas en documentos u objetos.

Requisitos:

Es recomendable, no imprescindible, que el alumno tenga conocimientos básicos en algún tipo de bases de datos. No es necesario ningún conocimiento previo en MongoDB o CouchDB, ya que se comienza desde cero, aunque es preferible haber trabajado alguna vez con la consola de comandos, con SQL o JavaScript. Todos los programas usados a lo largo del curso serán gratuitos y se facilitará su descarga e instalación.

Programa del curso

1.- Big Data. Volumen, Velocidad, Variedad, Veracidad

Objetivo

Al finalizar la unidad el alumno habrá adquirido una visión general del Big Data, sus principales características y terminología.

Contenido

  1. Big Data. Volumen, Velocidad, Variedad, Veracidad
    1. Introducción
    2. ¿Qué es Big Data?
    3. Tipos de datos
    4. Las V del Big Data
    5. Casos de uso
    6. Terminología Big Data
    7. Tecnologías Big Data
    8. Hemos aprendido

2.- Formas de conseguir la escalabilidad. Teorema CAP

Objetivo

Al completar el estudio de esta unidad el alumno dominará los conceptos del Big Data relacionados con la escalabilidad, tales como la replicación, el balanceo de carga o el sharding. También aprenderá el Teorema CAP, que establece la relación existente entre las distintas características de las bases de datos NoSQL.

Contenido

  1. Formas de conseguir la escalabilidad. Teorema CAP
    1. Introducción
    2. Escalabilidad
    3. Modelos de distribución: sharding
    4. Modelos de distribución: replicación
    5. Teorema CAP
    6. Hemos aprendido

3.- Limitaciones de las bases de datos relacionales. Tipos de bases de datos NoSQL

Objetivo

Cuando el alumno finalice esta unidad comprenderá los problemas y limitaciones de las bases de datos relacionales, y como los solucionan las bases de datos NoSQL.

Contenido

  1. Limitaciones de las bases de datos relacionales. Tipos de bases de datos NoSQL
    1. Introducción
    2. Bases de datos relacionales. Ventajas y limitaciones.
    3. Bases de datos NoSQL
    4. Tipos de bases de datos NoSQL
    5. Migración de SQL a NoSQL
    6. Hemos aprendido

4.- MongoDB - Operaciones básicas

Objetivo

En esta unidad, el alumno aprenderá a instalar MongoDB y las operaciones básicas de acceso a datos.

Contenido

  1. MongoDB - Operaciones básicas
    1. Introducción
    2. Introducción a MongoDB
    3. Conceptos básicos de MongoDB
    4. Creación de una base de datos
    5. Operaciones básicas
    6. Hemos aprendido

5.- MongoDB - Indexación y Diseño de Esquemas (I)

Objetivo

Esta unidad comprende los conceptos básicos de indexación y optimización de consultas en MongoDB. Además se enseñará al alumno a crear y administrar los distintos tipos de índices que MongoDB proporciona.

Contenido

  1. MongoDB - Indexación y Diseño de Esquemas (parte I)
    1. Introducción
    2. ¿Qué son los índices?
    3. Tipos de índices
    4. Administración de índices
    5. Estadísticas de uso
    6. Estrategias de indexación
    7. Más sobre índices geoespaciales
    8. Hemos aprendido

6.- MongoDB - Indexación y Diseño de Esquemas (II)

Objetivo

En esta unidad el alumno aprenderá a diseñar un esquema de base de datos de MongoDB con varias colecciones. Además veremos cómo acceder con un lenguaje de programación a MongoDB y realizar operaciones sobre los datos.

Contenido

  1. MongoDB - Indexación y Diseño de Esquemas (parte II)
    1. Introducción
    2. Patrones de diseño
    3. Hemos aprendido

7.- CouchDB - Estructura fundamental (I)

Objetivo

Al completar esta unidad el alumno habrá adquirido el conocimiento general de la base de datos CouchDB y de sus principales herramientas de trabajo.

Contenido

  1. CouchDB - Estructura fundamental (I)
    1. Introducción
    2. ¿Qué es CouchDB?
    3. CouchDB vs. Bases de Datos Relacionales
    4. CouchDB vs. MongoDB
    5. Instalación de CouchDB
    6. Postman
    7. API de CouchDB
    8. Hemos aprendido

8.- CouchDB - Estructura fundamental (II)

Objetivo

En esta unidad se explicará al alumno algunos conceptos más profundos de CouchDB, que incluyen la gestión de usuarios, el uso de herramientas avanzadas y los documentos de diseño.

Contenido

  1. CouchDB - Estructura fundamental (II)
    1. Introducción
    2. Usuarios y administradores
    3. Bases de datos y documentos
    4. API:  Bases de Datos
    5. API: Documentos
    6. API: Adjuntos
    7. Hemos aprendido

9.- CouchDB - API fundamental

Objetivo

Es esta unidad aprenderemos a acceder a una base de datos CouchDB con la conocida herramienta Postman, estudiaremos los comandos CRUD básicos así como algunos comandos más avanzados usando el lenguaje "Mango".

Contenido

  1. CouchDB - API fundamental
    1. Introducción
    2. Comandos de base de datos
    3. Carga de documentos
    4. Seleccionar documentos
    5. Documentos de diseño
    6. El lenguaje Mango
    7. Hemos aprendido