Proyecto de implementación de un Data Warehouse para Universidades Nacionales TFG – Del Giudice...
-
Upload
martita-quiles -
Category
Documents
-
view
13 -
download
3
Transcript of Proyecto de implementación de un Data Warehouse para Universidades Nacionales TFG – Del Giudice...
Proyecto de implementación de un Data Warehouse para Universidades
Nacionales
TFG – Del Giudice – Della Mea
Alcance del Proyecto
TFG – Del Giudice – Della Mea
Alcance
Se toman 2 (dos) cubos de alumnos y se reconstruyen utilizando la tecnología Pentaho.
Dichos cubos son:
02 – Rendimiento Académico05 - Alumnos Araucano
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:
TFG – Del Giudice – Della Mea
Modelo Dimensional
Modelo Físico
ETL
Reconstrucción
TFG – Del Giudice – Della Mea
Cubo 05 – Alumnos Araucano
Modelo Dimensional
• Tema de análisis Matrí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
TFG – Del Giudice – Della Mea
Motor OLAP de arquitectura ROLAP, con caché.
Mondrian
Los datos que alimentan a los cubos residen en una base de
datos MySQL, denominada “dw_consolidado”
Porque MySQL?
vs.
Es más rápida al resolver consultas
Tiene mejor documentación y
mejores herramientas de administración.
Garantiza mayor integridad en los datos
Presenta mejor escalabilidad en grandes trabajos
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
TFG – Del Giudice – Della Mea
Tablas correspondientes al Cubo 05 en Pentaho
TFG – Del Giudice – Della Mea
Campos Tipo de datoanio_academico Numéricocod_unidad Numéricocod_carrera Numéricocod_titulo Numéricocod_genero Numéricocod_cohorte Numéricocod_colegio Numéricomat_rendidas Numérico mat_aprobadas Numérico
tot_rendidas Numérico
tot_aprobadas Numérico
cod_horasTrab Numéricotipo_ingreso Numérico
edad Numéricocod_procesado Numéricocant_NI Numéricocant_RI Numéricocant_EG Numéricocant_TA Numérico
FT contiene sólo valores numéricos
Estructura de la Tabla de Hechos FT_AlumnosArau
Se utilizan claves subrogadas
Se agrega la medida calculada cantidad Total de Alumnos en el DW
TFG – Del Giudice – Della Mea
Claves Subrogadas
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.
Ventajas
ETL
TFG – Del Giudice – Della Mea
Durante el proceso de ETL
Se implementa Claves subrogadas
Se utiliza una base de datos intermedia denominada intermedio_consolidado
• Manteniéndose tablas que contienen la clave primaria de la OLTP y la clave subrogada correspondiente a cada dimensión del DW.
A fin de almacenar:• Las tablas antes mencionadas• Aquellos datos que necesitamos manipular
ETL
• Transformación DW_LT_UNIDADESACADEMICAS LOAD
TFG – Del Giudice – Della Mea
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.
ETL• Transformación DW_LT_RANGOS LOAD
TFG – Del Giudice – Della Mea
ETL• Rango de Edades
TFG – Del Giudice – Della Mea
ETL
TFG – Del Giudice – Della Mea
Transformación DW_FT_ALUMNOS_ARAU_INTERMEDIO PASO 1
Transformación DW_FT_ALUMNOS_ARAU PASO 2
ETL
TFG – Del Giudice – Della Mea
Consulta ejecutada en la Transformación DW_FT_ALUMNOS_ARAU PASO 2:
SELECT a.anio_academico, n.idNuevo as cod_unidad, b.idNuevo as cod_carrera, g.idNuevo as cod_titulo, p.idNuevo as cod_genero, m.idNuevo as cod_cohorte, c.idNuevo as cod_colegio, i.idNuevo as mat_rendidas, j.idNuevo as mat_aprobadas, k.idNuevo as tot_rendidas, l.idNuevo as tot_aprobadas, d.idNuevo as cod_horasTrab, f.idNuevo as tipo_ingreso, h.idNuevo as edad, o.idNuevo as cod_proceso, a.cant_NI, a.cant_RI, a.cant_EG, (a.cant_NI + a.cant_RI) as cant_TAFROM ft_alumnos_intermedio ainner join ids_carreras b on a.cod_carrera = b.cod_carrerainner join ids_colegios c on a.cod_colegio = c.cod_colegioinner join ids_horastrabajadas d on a.cod_horasTrab = d.cod_catHorasTrabinner join ids_tipoingreso f on a.tipo_ingreso = f.cod_tipoIngresoinner join ids_titulosaraucano g on a.cod_titulo = g.cod_tituloinner join ids_edades h on a.edad = h.edadinner join ids_matrendidas i on a.mat_rendidas = i.mat_rendidasinner join ids_mataprobadas j on a.mat_aprobadas = j.mat_aprobadasinner join ids_totrendidas k on a.tot_rendidas = k.tot_rendidasinner join ids_totaprobadas l on a.tot_aprobadas = l.tot_aprobadasinner join ids_cohorte m on m.cohorte = a.cohorteinner join ids_unidadesacademicas n on a.cod_unidadAcademica = n.cod_unidadinner join ids_procesadosok o on a.procesado_ok = o.procesado_okinner join ids_generos p on a.cod_sexo = p.cod_sexo;
Reconstrucción
TFG – Del Giudice – Della Mea
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
Reconstrucción
TFG – Del Giudice – Della Mea
Dimensión Carreras
Reconstrucción
TFG – Del Giudice – Della Mea
Dimensiones con Rangos:
Ejemplo “Rango Edades”
- Para el resto de las Dimensiones con rangos se lleva a cabo el mismo procedimiento -
Reconstrucción - Medidas
• Se crearon la medida NI, ReI, Egr y TA Las cuales sumarizan la cantidad de alumnos pertinente.
TFG – Del Giudice – Della Mea
Medidas Semi – Aditivas
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 en el cubo:
Nuevos InscriptosReinscriptos EgresadosTotal Alumnos
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
TFG – Del Giudice – Della Mea
(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
Estructura final del cubo
TFG – Del Giudice – Della Mea
TFG – Del Giudice – Della Mea
Cubo 02 – Rendimiento Académico
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
TFG – Del Giudice – Della Mea
Tablas correspondientes al Cubo 02 en Pentaho
TFG – Del Giudice – Della Mea
Campos Tipo de datoanio_academico Numéricocod_unidad Numéricocod_periodo Numéricocod_carrera Numéricocod_materia Numéricocod_dpto Numéricocod_cohorte Numéricocuraprobados Numérico curdesaprobados Numérico
curpromovidos Numérico
curausentes Numérico
exaprobados Numéricoexdesaprobados Numérico
exausentes Numéricoequiexternas Numéricoequiparciales NuméricoTotcursantes (*) NuméricoTotexamenes (**) NuméricoTotaprobados (***) Numérico
FT contiene sólo valores numéricos
Estructura de la Tabla de Hechos FT_ResultMaterias
Se utilizan claves subrogadas
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
ETL• Transformación DW_LT_DEPARTAMENTOS LOAD
TFG – Del Giudice – Della Mea
ETL• Transformación DW_LT_PERIODOS LOAD
TFG – Del Giudice – Della Mea
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)
ETL
TFG – Del Giudice – Della Mea
Transformación DW_FT_INGR_EGRE_INTERMEDIO PASO 1
Transformación DW_FT_INGR_EGRE PASO 2
SELECT f.anio_academico, g.idNuevo as cod_unidad, c.idNuevo as cod_carrera, d.idNuevo as cod_dpto,e.idNuevo as cod_cohorte, f.egresados, f.ingresantesFROM ft_ingr_egre_intermedio finner join ids_carreras c on f.cod_carrera = c.cod_carreraInner join ids_departamentos d on f.cod_dpto =d.cod_dptoinner join ids_cohorte e on e.cohorte = f.cohorteinner join ids_unidadesacademicas g on f.cod_unidadacad = g.cod_unidad;
ETL• Trabajo LOAD DATAWAREHOUSE
TFG – Del Giudice – Della Mea
Reconstrucción
TFG – Del Giudice – Della Mea
Se creó el esquema “RendimientoAcademico”. Se agregó el cubo “02_Result_Materias”. Se indicó que será ft_result_materias la 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:
1. Año Académico2. Unidad Académica3. Departamento4. Carrera – Plan5. Cohorte
Reconstrucción
TFG – Del Giudice – Della Mea
Características de Dimensiones compartidas:
Unidad Académica Carrera - Plan (Relacionada con Carreras, Departamento y Materia)
Reconstrucción
TFG – Del Giudice – Della Mea
Características de Dimensiones:
Departamento Dimensión compartida y relacionada con Unidad Académica.
- Para las otras dimensiones compartidas se realiza el mismo proceso -
Reconstrucción
TFG – Del Giudice – Della Mea
Luego de crear las dimensiones compartidas, se define la estructura de cada cubo:
Reconstrucción
TFG – Del Giudice – Della Mea
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:
Requerimientos DW
TFG – Del Giudice – Della Mea
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
Roles de Mondrian
TFG – Del Giudice – Della Mea
nutricióncs_de_informacion
Se establecieron dos Roles:
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.
TFG – Del Giudice – Della Mea
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
Crecimiento del DW
TFG – Del Giudice – Della Mea
Nueva propuesta de
Implementación DW
Propuesta de implementación ante el crecimiento del DW
TFG – Del Giudice – Della Mea
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.
Mondrian recibirá el rol activo y en base a éste mostrará la información pertinente.
Para ello se deberá utilizar una xaction que se ejecute cuando el usuario ingresa a la aplicación (system action).
La xaction tendrá como "input" el valor del rol actual de quien se haya logueado, y como “output” el rol de Mondrian.
Fin de la presentación
TFG – Del Giudice – Della Mea
¿…?
Fin de la presentación
TFG – Del Giudice – Della Mea
¡Muchas gracias por su atención!