Objetivo
Conocer qué es un motor de bases de datos NoSQL, cuáles son sus ventajas y desventajas frente a las bases de datos relacionales, qué diferentes tipologías de tales bases de datos nos podemos encontrar y cuáles son los principales representantes de esta nueva tendencia, explorando de modo práctico su potencial.
Más concretamente, este curso se centrará, una vez revisados los conceptos de bases de datos NoSQL, en revisar la funcionalidad de aquellas bases de datos más populares tanto en su modalidad de "orientadas a documentos" (a través de CouchDB) como en la de "almacenes de clave-valor" (a través de Apache Cassandra). Al final del curso el asistente podrá determinar qué variedad de base de datos NoSQL puede ajustarse mejor a sus necesidades de almacenamiento de alto rendimiento. Además, entenderá los mecanismos de almacenamiento que subyacen en algunos de los sites más populares como Facebook o Twitter.
Programa:
1. Introducción a las bases de datos NoSQL
• Concepto y campos relacionados
• Principales características
• Arquitectura de las bases de datos NoSQL
• Taxonomía de soluciones NoSQL
• Empresas que usan bases de datos NoSQL
2. Ejemplo de almacén de datos clave-valor NoSQL: Apache Cassandra
• Introducción: características y arquitectura
• Instalación sobre diferentes sistemas operativos
• Programación de Cassandra desde Java y Python
• La API Thrift y otras características avanzadas
• Desarrollo de una aplicación avanzada en Cassandra
3. Descanso
4. Ejemplo de almacén de base de datos orientada a documentos: CouchDB
• Introducción: características (vistas, modelado sin esquemas) y arquitectura.
• Instalación sobre diferentes sistemas operativos
• La API HTTP de CouchDB HTTP
• Programación de aplicaciones desde Python y Java
• Desarrollo de una aplicación avanzada desde CouchDB
5. Conclusiones
• Comparativa entre las diferentes soluciones de NoSQL
• Otras alternativas destacables: MongoDB, HBase
• Aplicabilidad a mi empresa