Medrano 951 - 2do. Piso - Of. 206 CABA - Lunes a viernes de 9 a 21 hs
(5411) 4867 7500 (Int. 7745/7749) info@sceu.frba.utn.edu.ar
Big Data – NoSQL Key-Value Redis

Big Data – NoSQL Key-Value Redis

Este curso forma parte de la
Diplomatura en Arquitecturas de Big Data Aplicadas

 

PRESENTACIÓN

En los últimos 30 años el mundo de la informática ha experimentado cambios profundos. Han surgido nuevas arquitecturas de aplicaciones, nuevos paradigmas de programación y nuevas herramientas de desarrollo de software. Pero salvo excepciones, algo ha permanecido constante: el uso de Bases de Datos Relacionales (RDBMS) como el soporte básico para el almacenamiento y procesamiento de los datos. 

En los últimos 15 años se ha verificado una nueva revolución, que si bien no ha desafiado la preponderancia de las bases de datos relacionales, ha demostrado la necesidad de la utilización de nuevos paradigmas para el almacenamiento de datos. 

La necesidad de procesar grandes volúmenes de información a partir del uso cotidiano de las redes sociales y dispositivos móviles, es decir, el manejo de volúmenes de datos que salen de lo habitual, tendencia que actualmente denominamos como Big Data, requirió nuevas soluciones tecnológicas. Estas soluciones se encuadran dentro de lo que podemos denominar bajo la categoría de Bases de Datos NoSQL, nombre genérico en el cual podemos incluir las bases de datos key-value, las documentales, las basadas en familias de columnas  y las basadas en grafos. 

La adopción de estas tecnologías por las empresas está creciendo, en la medida en que también crece el volumen de datos no estructurados que estas empresas almacenan y gestionan.  Consecuencia de esto se está generando un mercado laboral para especialistas en estas áreas, que incluyen desde Administradores de Bases de Datos NoSQL , Data Scientists, Data Engineers y Data Architects. 

Entre las bases de datos NoSQL, Redis es la base de datos líder en el segmento de Bases de datos NoSQL Key-Value.

 

OBJETIVOS

Se espera que al finalizar el programa, los participantes puedan:

• Entender el contexto y agentes del mercado en el cual surgen las bases de datos NoSQL
• Entender el concepto de persistencia políglota y su uso en las aplicaciones, con sus ventajas asociadas.
• Modelar datos para diseñar aplicaciones utilizando bases de datos Key Values.
• Entender cómo utilizar Redis para insertar datos, actualizarlos, borrarlos y consultarlos.
• Entender las estructuras de datos: Keys & Expiration / Strings / Hashes / Lists / Sets / Sorted Sets / Hyperloglogs
• Operaciones Set
• Basic Transactions y Optimistic concurrency control
• Object Storage: Simple Objects / Nesting, Relationships & Folding
• Poder diseñar e implementar mecanismos de replicación de datos en Redis.
• Comprender la arquitectura interna y sus componentes principales de Redis.
• Conocer herramientas de administración de Redis.

 

DESTINATARIOS 

• El curso está dirigido a personas con conocimientos en el área de sistemas de información que quieran hacer una inmersión en el mundo de Big Data y Bases de datos NoSQL y aplicar sus conceptos en Redis.
• El curso está también dirigido a personas con conocimientos en el área de Big Data y bases de datos NoSQL que quieran aprender Redis.

 

REQUISITOS

• Recomendable contar estudios al menos iniciales en carreras relacionadas con Sistemas y conocimientos de bases de datos.
• Los alumnos deberán asistir al curso con un equipo personal (notebook/netbook) con posibilidad de conexión a una red wifi

 

DURACIÓN

6 horas, 2 clases.

 

TEMARIO

Unidad 1: Surgimiento y Conceptualización de Bases de Datos
• Valor de las Bases de Datos NoSQL
• Cambios en la evolución tecnológica de las BD
• Surgimiento de NoSQL. Necesidades que cubren
• Definicion de BD NoSQL
• Tipos de bases de datos NoSQL:  Key-value, documents, column-family, graph
• Persistencia Políglota: definición y necesidad de soluciones
• Cuándo usar y cuándo no bases de datos Key-values.

Unidad 2: Estructuras de datos Básicas en Redis
• Strings
• Counters
• HyperLogLog
• Hashes
• Lists
• Sets
• Sorted Sets
• Keys & TTLs
• Performance y notación Big-O
• Operaciones con claves

Unidad 3: Estructuras avanzadas & Arquitectura
• Geospatial
• Publish / Subscribe
• Usando Redis desde un lenguaje (nodeJS/Java)
• Arquitectura: Persistencia / Arquitectura: Replicación & Particionamiento. 
(45 min basado en lo que tardamos en NOSQL)

Unidad 4: Streams 

• Introduction to Messaging, Streams, and Distributed Systems
• Redis Streams
• The Producer
• The Consumer

Unidad 5: Extendiendo Redis 

• Transacciones y manejo de / Scripts LUA / Redis Modules (30 min basado en lo tenemos de NOSQL)
• A module: Redis Search (Lo pongo por si nos quedamos corto de tiempo)

 

DOCENTES

Ing. Juan Zaffaroni

Ing. Patricio Boffino

Ing. Martín Mihura

 

METODOLOGÍA A UTILIZAR EN EL DESARROLLO DEL CURSO

Dada la temática del programa y los objetivos que persigue, permanentemente se vincularán los conceptos teóricos con casos prácticos en Redis.
Durante el curso los participantes trabajaran en el desarrollo de casos prácticos en los cuales puedan aplicar los conceptos adquiridos.

 

PROCEDIMIENTOS DE EVALUACIÓN Y CERTIFICACIÓN

Para obtener el certificado de aprobación, los participantes serán evaluados a través de un examen escrito y de la calificación de los trabajos prácticos.

Además la asistencia a un mínimo del 80% de las clases otorga un certificado de asistencia.

 

CRONOGRAMA DE EVALUACIÓN

Durante el transcurso del programa, los participantes desarrollarán trabajos prácticos (en forma individual o grupal). A medida que se avance en los conceptos teóricos se debatirá respecto a dichos trabajos.

En la anteúltima clase los alumnos serán evaluados a través de un examen escrito.