48
Proyecto de implementación de un Data Warehouse para Universidades Nacionales TFG – Del Giudice – Della Mea

Implementacion de Datawarehouse

  • Upload
    isa255

  • View
    25

  • Download
    2

Embed Size (px)

DESCRIPTION

Implementacion de Datawarehouse

Citation preview

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!