480 likes | 617 Views
Proyecto de implementación de un Data Warehouse para Universidades Nacionales. TFG – Del Giudice – Della Mea. Alcance del Proyecto. Alcance. Se toman 2 (dos) cubos de alumnos y se reconstruyen utilizando la tecnología Pentaho . Dichos cubos son: 02 – Rendimiento Académico
E N D
Proyecto de implementación de un Data Warehouse para Universidades Nacionales TFG – Del Giudice – Della Mea
Alcance del Proyecto Alcance • Se toman 2 (dos) cubos de alumnos y se reconstruyen utilizando la tecnología Pentaho. • Dichos cubos son: • 02 – Rendimiento Académico • 05 - Alumnos Araucano TFG – Del Giudice – Della Mea
Etapas para el desarrollo de los cubos En esta sección se lleva a cabo una descripción de los procesos que se efectúan: Modelo Dimensional Modelo Físico ETL Reconstrucción TFG – Del Giudice – Della Mea
Cubo 05 – Alumnos Araucano TFG – Del Giudice – Della Mea
Modelo Dimensional • Tema de análisisMatrícula histórica. Nuevos Inscriptos, Reinscriptos y Egresados, según definiciones de SIU-Araucano. (*) Definidas solo para medidas: nuevos inscriptos, reinscriptos y total alumnos (**) Definida solo para la medida nuevos inscriptos (***) Definidas solo para medida reinscriptos En el caso de las dimensiones que no están definidas aparece la leyenda “No se aplica” TFG – Del Giudice – Della Mea
Modelo dimensional Original TFG – Del Giudice – Della Mea
Recomendaciones Modelado Dimensional • No usar dimensiones degeneradas Cuando: • La dimensión posee pocos datos que se repiten reiteradamente en la FT. • Es la dimensión Tiempo. • Es una dimensión compartida. Extraer los datos de la FT y crear una tabla de dimensión propia (durante el proceso de ETL). • Uso de tablas en línea Cuando: • La tabla no es compartida por varios cubos. • La tabla contiene pocos valores. • La tabla no sufre cambios regularmente. Mantener los datos en tabla siempre es más performante. TFG – Del Giudice – Della Mea
Recomendaciones Modelado Dimensional Agregar medidas calculadas directamente en el DW (durante el proceso de ETL), así se ahorra tiempo al no realizase esta operación durante el diseño. No utilizar claves primarias de tipo texto (tanto en las LT como en la FT). FT contenga solo valores numéricos (tanto en las claves como en los valores de las medidas). TFG – Del Giudice – Della Mea
Modelo dimensional Propuesto TFG – Del Giudice – Della Mea
Modelo Físico Mondrian vs. Motor OLAP de arquitectura ROLAP, con caché. Garantiza mayor integridad en los datos Es más rápida al resolver consultas Tiene mejor documentación y mejores herramientas de administración. Presenta mejor escalabilidad en grandes trabajos Los datos que alimentan a los cubos residen en una base de datos MySQL, denominada “dw_consolidado” El Proyecto Pentaho Mondrian OLAP proporciona acceso OLAP de alto rendimiento sobre la base de MySQL. Donde se prioriza: • Velocidad • Rendimiento • Particionado y gestión de BD Porque MySQL? TFG – Del Giudice – Della Mea
Tablas correspondientes al Cubo 05 en Pentaho TFG – Del Giudice – Della Mea
Estructura de la Tabla de Hechos FT_AlumnosArau FT contiene sólo valores numéricos Se agrega la medida calculada cantidad Total de Alumnos en el DW Se utilizan claves subrogadas TFG – Del Giudice – Della Mea
Claves Subrogadas Ventajas • El DW no depende de la codificación interna del OLTP. • Ocupan menos espacio y brindan mayor performance que las claves naturales, más aún si estas últimas son de tipo texto. • Permiten que la construcción y mantenimiento de índices sea una tarea sencilla. • Si se modifica el valor de una clave en el OLTP, el DW lo tomará como un nuevo elemento, permitiendo almacenar diferentes versiones del mismo dato. TFG – Del Giudice – Della Mea
ETL Durante el proceso de ETL Se implementa Claves subrogadas • Manteniéndose tablas que contienen la clave primaria de la OLTP y la clave subrogada correspondiente a cada dimensión del DW. Se utiliza una base de datos intermedia denominada intermedio_consolidado • A fin de almacenar: • Las tablas antes mencionadas • Aquellos datos que necesitamos manipular TFG – Del Giudice – Della Mea
ETL • Transformación DW_LT_UNIDADESACADEMICAS LOAD Llenar primero la BD intermedia y luego cargar el DW para manipular los datos sin interrumpir ni paralizar los OLTP, ni tampoco el DW. Los datos de aquellos .txt que no sufren transformaciones (excepto por sus claves), se los carga directamente al DW. TFG – Del Giudice – Della Mea
ETL • Transformación DW_LT_RANGOS LOAD TFG – Del Giudice – Della Mea
ETL • Rango de Edades TFG – Del Giudice – Della Mea
ETL Transformación DW_FT_ALUMNOS_ARAU_INTERMEDIO PASO 1 Transformación DW_FT_ALUMNOS_ARAU PASO 2 TFG – Del Giudice – Della Mea
ETL • Consulta ejecutada en la Transformación DW_FT_ALUMNOS_ARAU PASO 2: • SELECT a.anio_academico, n.idNuevoas cod_unidad, b.idNuevoas cod_carrera, g.idNuevoas cod_titulo, p.idNuevoas cod_genero, m.idNuevoas cod_cohorte, c.idNuevoas cod_colegio, i.idNuevoas mat_rendidas, j.idNuevoas mat_aprobadas, k.idNuevoas tot_rendidas, l.idNuevoas tot_aprobadas, d.idNuevoas cod_horasTrab, f.idNuevoas tipo_ingreso, h.idNuevoas edad, o.idNuevoas cod_proceso, a.cant_NI, a.cant_RI, a.cant_EG, (a.cant_NI + a.cant_RI) as cant_TA • FROM ft_alumnos_intermedio a • inner join ids_carreras b on a.cod_carrera = b.cod_carrera • inner join ids_colegios c on a.cod_colegio = c.cod_colegio • inner join ids_horastrabajadas d on a.cod_horasTrab = d.cod_catHorasTrab • inner join ids_tipoingreso f on a.tipo_ingreso = f.cod_tipoIngreso • inner join ids_titulosaraucano g on a.cod_titulo = g.cod_titulo • inner join ids_edades h on a.edad = h.edad • inner join ids_matrendidasion a.mat_rendidas = i.mat_rendidas • inner join ids_mataprobadas j on a.mat_aprobadas = j.mat_aprobadas • inner join ids_totrendidas k on a.tot_rendidas = k.tot_rendidas • inner join ids_totaprobadas l on a.tot_aprobadas = l.tot_aprobadas • inner join ids_cohorte m on m.cohorte = a.cohorte • innerjoinids_unidadesacademicas n ona.cod_unidadAcademica = n.cod_unidad • inner join ids_procesadosok o on a.procesado_ok = o.procesado_ok • inner join ids_generos p on a.cod_sexo = p.cod_sexo; TFG – Del Giudice – Della Mea
Reconstrucción • Se creó el esquema “AlumnosAraucano” • Se agregó el cubo “05_AlumnosAraucano” • Se indicó que será ft_alumnosarau la tabla de hechos que corresponderá al cubo • Dimensiones: • Año Académico (dimensión tiempo): Unidad Académica TFG – Del Giudice – Della Mea
Reconstrucción Dimensión Carreras TFG – Del Giudice – Della Mea
Reconstrucción • Dimensiones con Rangos: • Ejemplo “Rango Edades” - Para el resto de las Dimensiones con rangos se lleva a cabo el mismo procedimiento - TFG – Del Giudice – Della Mea
Reconstrucción - Medidas • Se crearon la medida NI, ReI, Egr y TA Las cuales sumarizan la cantidad de alumnos pertinente. Mondrian soporta este tipo de medidas (que no pueden ser aplicadas a lo largo de todas las dimensiones) a través de Miembros calculados (CM). • Medidas Semi – Aditivas Nuevos Inscriptos Medidas Semi aditivas en el cubo: Reinscriptos Egresados Total Alumnos TFG – Del Giudice – Della Mea
Reconstrucción – Miembros Calculados • Se creó un CM por cada medida definida, los cuales utilizan un case – when en su fórmula para determinar en qué casos se mostrara la medida. • Ejemplos: Nuevos Inscriptos (Lo mismo se realizo para los otros tres CM) case when [Materias Rendidas].CurrentMember.Level IS [Materias Rendidas].[Rango Mat Rend] or [Materias Rendidas].CurrentMember.Level IS [Materias Rendidas].[Materias Rendidas] or [Materias Aprobadas].CurrentMember.Level IS [Materias Aprobadas].[Rango Mat Aprob] or [Materias Aprobadas].CurrentMember.Level IS [Materias Aprobadas].[Materias Aprobadas] or [Total Mat Rendidas].CurrentMember.Level IS [Total Mat Rendidas].[Rango Tot Rendidas] or [Total Mat Rendidas].CurrentMember.Level IS [Total Mat Rendidas].[Total Mat Rendidas] or [Total Mat Aprobadas].CurrentMember.Level IS [Total Mat Aprobadas].[Rango Tot Aprob] or [Total Mat Aprobadas].CurrentMember.Level IS [Total Mat Aprobadas].[Total Mat Aprobadas] then "No se aplica" else [Measures].[NI] end TFG – Del Giudice – Della Mea
Estructura final del cubo TFG – Del Giudice – Della Mea
Cubo 02 – Rendimiento Académico TFG – Del Giudice – Della Mea
Modelo dimensional - Cubo 02 – Rendimiento Académico Tema de análisis:Rendim. Académico (evaluado desde materias-cátedras). TFG – Del Giudice – Della Mea
Modelo dimensional Original TFG – Del Giudice – Della Mea
Modelo dimensional Propuesto TFG – Del Giudice – Della Mea
Modelo Físico Tablas correspondientes al Cubo 02 en Pentaho TFG – Del Giudice – Della Mea
Estructura de la Tabla de Hechos FT_ResultMaterias FT contiene sólo valores numéricos Se agregan medidas calculadas al DW (*) Suma de cursadas promovidas, aprobadas, reprobadas y ausentes (**) Suma de exámenes aprobados, reprobados y ausentes (***) Suma de cursadas promovidas, exámenes aprobados y equivalencias externas otorgadas Se utilizan claves subrogadas TFG – Del Giudice – Della Mea
ETL • Transformación DW_LT_DEPARTAMENTOS LOAD TFG – Del Giudice – Della Mea
ETL • Transformación DW_LT_PERIODOS LOAD En el paso “Formula” se conforma el campo Nombre del Periodo, el cual es una cadena de caracteres combinada, integrada por: Año académico + Tipo de periodo + Periodo (Ejemplo: 2008 – TE - Agosto) TFG – Del Giudice – Della Mea
ETL • Transformación DW_FT_INGR_EGRE_INTERMEDIO PASO 1 • Transformación DW_FT_INGR_EGRE PASO 2 SELECTf.anio_academico, g.idNuevoas cod_unidad, c.idNuevoas cod_carrera, d.idNuevoas cod_dpto, e.idNuevoas cod_cohorte, f.egresados, f.ingresantes FROMft_ingr_egre_intermedio f inner join ids_carreras c on f.cod_carrera = c.cod_carrera Inner join ids_departamentos d on f.cod_dpto =d.cod_dpto inner join ids_cohorte e on e.cohorte = f.cohorte innerjoinids_unidadesacademicas g onf.cod_unidadacad = g.cod_unidad; TFG – Del Giudice – Della Mea
ETL • Trabajo LOAD DATAWAREHOUSE TFG – Del Giudice – Della Mea
Reconstrucción • Se creó el esquema “RendimientoAcademico”. • Se agregó el cubo “02_Result_Materias”. • Se indicó que será ft_result_materiasla tabla de hechos del cubo. • Se agregó un segundo cubo “02_Ingre_Egre”. • Se indicó que será ft_ingr_egre la tabla de hechos del cubo. • Dimensiones compartidas: • Se crean cinco dimensiones compartidas: • Año Académico • Unidad Académica • Departamento • Carrera – Plan • Cohorte TFG – Del Giudice – Della Mea
Reconstrucción • Características de Dimensiones compartidas: • Unidad Académica Carrera - Plan • (Relacionada con Carreras, Departamento y Materia) TFG – Del Giudice – Della Mea
Reconstrucción • Características de Dimensiones: • Departamento Dimensión compartida y relacionada con Unidad Académica. - Para las otras dimensiones compartidas se realiza el mismo proceso - TFG – Del Giudice – Della Mea
Reconstrucción • Luego de crear las dimensiones compartidas, se define la estructura de cada cubo: TFG – Del Giudice – Della Mea
Reconstrucción • Al tener los cubos finalizados, lo que se realizó para poder unirlos y visualizarlos en un solo esquema es crear un Cubo Virtual, el cual contiene todos los elementos de ambos: TFG – Del Giudice – Della Mea
Requerimientos DW En el proyecto actual se utilizaron como muestra dos unidades académicas Ciencias de la Información Escuela de Nutrición Se requiere que cada facultad, al acceder al cubo consolidado, vea solo la información pertinente a ésta Para cumplir los requisitos se utilizan Roles de Mondrian TFG – Del Giudice – Della Mea
Roles de Mondrian Se establecieron dos Roles: cs_de_informacion nutrición TFG – Del Giudice – Della Mea
Roles de Mondrian - Permisos • A los usuarios cs_de_informacion y nutrición se les ha ocultado la dimensión “Unidad Académica” del cubo, ya que solo nos interesa que puedan ver la información de su facultad. • Para que estos puedan visualizar los datos correspondientes, lo que se hizo fue dar acceso personalizado (custom acces) a la Jerarquía y niveles que contienen las unidades académicas. TFG – Del Giudice – Della Mea
Roles de Mondrian - Permisos • Ejemplo Rol “cs_de_informacion”: Según el usuario se asignaran, mediante miembros, sus permisos de acceso. Solo el miembro “Escuela de Ciencias de la Información” será totalmente accesible (acces all), negando el acceso (acces none) al resto de los otros miembros (Escuela de Nutrición y Sin Unidad Académica). cs_de_informacion TFG – Del Giudice – Della Mea
Crecimiento del DW Nueva propuesta de Implementación DW TFG – Del Giudice – Della Mea
Propuesta de implementación ante el crecimiento del DW • Que los usuarios accedan a las soluciones desarrolladas mediante la opción “New Analysis View” de Jpivot, y no mediante vistas de análisis predefinidas. • Para ello se deberá utilizar una xaction que se ejecute cuando el usuario ingresa a la aplicación (systemaction). • La xaction tendrá como "input" el valor del rol actual de quien se haya logueado, y como “output” el rol de Mondrian. • Mondrian recibirá el rol activo y en base a éste mostrará la información pertinente. TFG – Del Giudice – Della Mea
Fin de la presentación ¿…? TFG – Del Giudice – Della Mea
Fin de la presentación ¡Muchas gracias por su atención! TFG – Del Giudice – Della Mea