Introducción a Big Data – NoSQLMongoDB
Este curso forma parte de la Diplomatura en Arquitecturas de Big Data Aplicadas PRESENTACIÓN En los últimos 25 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 10 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 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 hasta lo que se conoce como Data Scientists. Entre las bases de datos NoSQL, MongoDB es una base basada en documentos que es hoy en día la de mayor difusión, figurando en el 5to lugar en el ranking de todo el universo de bases de datos generado por db-engines.com: http://db-engines.com/en/ranking. En Argentina MongoDB está siendo adoptado por varias empresas de todo tamaño y vemos un área de mercado que va a requerir profesionales en los próximos años. Este curso intenta cubrir esa necesidad. La fundamentación de la inclusión de este curso se basa en la otorgar a aquellos que lo deseen, la posibilidad de profundizar en conceptos de NoSQLy tener mayores herramientas para insertarse laboralmente en un mercado que consideramos va a ser demandante de profesionales en los próximos años. 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. • Entender cómo utilizar mongodb para insertar datos, actualizarlos, borrarlos y consultarlos • Entender los diferentes tipos de índices que utiliza MongoDB y cuando aplicarlos • Utilizar el framework de agregación y map reduce embebido • Modelar datos para aplicaciones eficientes • Poder diseñar e implementar mecanismos de replicación y particionamiento de datos • Conocer las herramientas y comandos de administración y monitoreo de MongoDB DURACIÓN El programa tiene una duración de 36 horas cátedras, a desarrollarse durante 12 semanas consecutivas. 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 MongoDB • El curso está también dirigido a personas con conocimientos en el área de Big Data y bases de datos NoSQL que quieren aprender MongoDB REQUISITOS PARA CURSAR Recomendable contar estudios al menos iniciales en carreras relacionadas con Sistemas y conocimientos de bases de datos. 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 MongoDB. Durante el curso los participantes trabajaran en el desarrollo de un caso práctico en el cual puedan aplicar los conceptos adquiridos. TEMARIO Unidad 1 – Surgimiento y Conceptualización de Bases de Datos 1. Valor de las Bases de Datos NoSQL 2. Cambios en la evolución tecnológica de las BD 3. Surgimiento de NoSQL. Necesidades que cubren. 4. Definicion de BD NoSQL 5. Tipos de bases de datos NoSQL: Key-value, documents, column-family, graph 6. Persistencia Políglota: definición y necesidad de soluciones 7. Cuando usar y cuándo no MongoDB Unidad 2: creando, actualizando, borrando y consultando documentos MongoDB 1. Inserción 2. Removing 3. Updating 4. Querying Unidad 3: Planificación del marketing 1. Introducción al indexado 2. Explain() y hint() 3. Tipos de índices 4. Administración de índices 5. Indices especiales Unidad 4: Agregación 1. Framework de Agregación 2. Operaciones de Pipeline 3. Map Reduce 4. Comandos de Agregación Unidad 5: Diseño de Investigaciones 1. Agregado 2. Normalización versus Denormalización 3. Optimizaciones para Manipulación de Datos 4. Consistencia Unidad 6: Replicación 1. Replica Set 2. Componentes de un Replica Set 3. Conectando el Replica Set a una aplicación Unidad 7: Particionamiento 1. Introducción 2. Configuración 3. Elección de una clave de Partición 4. Administración de Particiones Unidad 8: Administración 1. Start y Stop 2. Monitoreo de MongoDB 3. Backups 4. Virtualización Unidad 9: Seguridad en MongoDB 1. Creación de usuarios 2. Roles Built In 3. Roles User-Defined 4. Seguridad en Clusters 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án respecto a dicho trabajo y al finalizar el programa los participantes entregarán el mismo (anteúltima clase). • En la anteúltima clase los alumnos serán evaluados a través de un examen escrito. DOCENTES Ing. Juan Zaffaroni