ETL y Cubos Sistemas de Bases de Datos II Notas elaboradas por: Franklin Parrales Bravo
Introducción(1/3) Existen algunos métodos para la sincronización de datos entre bases ubicadas en distintos lugares geográficos. Sincronización de Datos Replicación ETL(Extraction Tranform and load) Modelo Multidimensional
Introducción(2/3) La sincronización de Datos se daba entre bases homogéneas, es decir, entre iguales tipos de motores de bases de datos. DB Banco del Pacífico DB Tesorería ESPOL Acoplamiento Bases Homogéneas
Introducción(3/3) Con la Replicación se dio que la estructura o meta data de origen no puede tener la misma clave principal del destino , pero ya podía ser heterogénea. Físicamente y Lógicamente Lógicamente Conexión Esquema
ETL ETL son las siglas en inglés de Extraer, Transformar y Cargar (Extract, Transform and Load). Es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio.
Extraer Consiste en extraer los datos desde los sistemas de origen.  La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organización diferente de los datos o formatos distintos.
Transformar(1/3) La fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados.  Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos.  No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:
Transformar(2/3) Seleccionar sólo ciertas columnas para su carga (Ej. que las columnas con valores nulos no se carguen).  Traducir códigos (Ej. Si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer).  Codificar valores libres (Ej. convertir "Hombre" en "H" o "Sr" en "1").  Obtener nuevos valores calculados (Ej. total_venta = cantidad * precio).  Unir datos de múltiples fuentes (Ej. búsquedas, combinaciones, etc).  Calcular totales de múltiples filas de datos (Ej. ventas totales de cada región).
Transformar(3/3) Generación de campos clave en el destino.  Transponer o pivotar (girando múltiples columnas en filas o viceversa).  Dividir una columna en varias (Ej. columna "Nombre: García, Miguel"; pasar a dos columnas "Nombre: Miguel" y "Apellido: García").  La aplicación de cualquier forma, simple o compleja, de validación de datos, y la consiguiente aplicación de la acción que en cada caso se requiera:  Datos OK: Entregar datos a la siguiente etapa (Carga).  Datos erróneos: Ejecutar políticas de tratamiento de excepciones (Ej. Rechazar el registro completo, dar al campo erróneo un valor nulo o un valor centinela).
Carga(1/3) La fase de carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino.  Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos.
Carga(2/3) Existen dos formas básicas de desarrollar el proceso de carga: Acumulación simple Rolling
Carga(3/3) La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta operación se aplicarán todas las restricciones y triggers (disparadores) que se hayan definido en ésta (Ej. valores únicos, integridad referencial, campos obligatorios, rangos de valores). Estas restricciones y trigger (si están bien definidos) contribuyen a que se garantice la calidad de los datos en el proceso ETL, y deben ser tenidos en cuenta
Pero… ¿Qué es un Cubo? Cubo= Información de Datos->Data Warehouse Nombre maquillado de Sistemas Expertos Cubo de Información Balanced Score Card Estrategia Táctica Operación
Cubo Data Mart Datos Información Patrón Minería de Datos(Sistema Experto) Conocimiento
Cubo Dimensión:  Producto Dimensión:  Personas Dimensión:  Ciudad Dimensión:  Tiempo Tabla de Hecho (Fact Table) Id_Persona (Pk) Nombre Edad  Id_Ciudad(fk) Persona Id_Ciudad(Pk) Nombre Ciudad Id_Producto (fk) Id_Persona (fk) Id_Dia (fk) VentaTotal MaxVenta Ventas Id_Productos (Pk) NombreXproducto Categoria Productos Id_Tiempo (pk) Dia (fk) DiaSemana Tiempo
Estructura multidimensional José Uvas Melones Q4 Q1 Q2 Q3 Dimensión: FECHA Dimensión: PRODUCTO Juan Luis Dimension: PERSONA Manzanas Cerezas Ana
Consulta  Multidimensional Uvas Q4 Q1 Q2 Q3 Dimensión: FECHA Dimensión: PRODUCTO Juan Luis José Dimensión:  PERSONA Manzanas Cerezas Ana Melones Suma Venta, Max Venta
Modelos de Cubos Cuando las dimensiones no tienen orden expansivo se llama modelo Estrella Para el ejemplo anterior, en la tablas Persona y Ciudad existe conexión en el modelo y se lo llama Copos de Nieve Tabla de Hecho(Fact Table) Tabla de Hecho(Fact Table) Persona Ciudad
Consulta  Multidimensional Lo que guarda el cubo son medidas o indicadores. Fuente de Datos ETL Id_Tiempo (fk) Dia (fk) DiaSemana Tiempo Convertir tiempo en tabla Data Mapping
Data Mapping idDia(lo saca del destino) diaSemana(lo calcula) Carga los valores 1/2/09 E 303 1/2/09 Domingo T Domingo L

5 Db2 Etl Cubos

  • 1.
    ETL y CubosSistemas de Bases de Datos II Notas elaboradas por: Franklin Parrales Bravo
  • 2.
    Introducción(1/3) Existen algunosmétodos para la sincronización de datos entre bases ubicadas en distintos lugares geográficos. Sincronización de Datos Replicación ETL(Extraction Tranform and load) Modelo Multidimensional
  • 3.
    Introducción(2/3) La sincronizaciónde Datos se daba entre bases homogéneas, es decir, entre iguales tipos de motores de bases de datos. DB Banco del Pacífico DB Tesorería ESPOL Acoplamiento Bases Homogéneas
  • 4.
    Introducción(3/3) Con laReplicación se dio que la estructura o meta data de origen no puede tener la misma clave principal del destino , pero ya podía ser heterogénea. Físicamente y Lógicamente Lógicamente Conexión Esquema
  • 5.
    ETL ETL sonlas siglas en inglés de Extraer, Transformar y Cargar (Extract, Transform and Load). Es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio.
  • 6.
    Extraer Consiste enextraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organización diferente de los datos o formatos distintos.
  • 7.
    Transformar(1/3) La fasede transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:
  • 8.
    Transformar(2/3) Seleccionar sólociertas columnas para su carga (Ej. que las columnas con valores nulos no se carguen). Traducir códigos (Ej. Si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer). Codificar valores libres (Ej. convertir "Hombre" en "H" o "Sr" en "1"). Obtener nuevos valores calculados (Ej. total_venta = cantidad * precio). Unir datos de múltiples fuentes (Ej. búsquedas, combinaciones, etc). Calcular totales de múltiples filas de datos (Ej. ventas totales de cada región).
  • 9.
    Transformar(3/3) Generación decampos clave en el destino. Transponer o pivotar (girando múltiples columnas en filas o viceversa). Dividir una columna en varias (Ej. columna "Nombre: García, Miguel"; pasar a dos columnas "Nombre: Miguel" y "Apellido: García"). La aplicación de cualquier forma, simple o compleja, de validación de datos, y la consiguiente aplicación de la acción que en cada caso se requiera: Datos OK: Entregar datos a la siguiente etapa (Carga). Datos erróneos: Ejecutar políticas de tratamiento de excepciones (Ej. Rechazar el registro completo, dar al campo erróneo un valor nulo o un valor centinela).
  • 10.
    Carga(1/3) La fasede carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino. Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos.
  • 11.
    Carga(2/3) Existen dosformas básicas de desarrollar el proceso de carga: Acumulación simple Rolling
  • 12.
    Carga(3/3) La fasede carga interactúa directamente con la base de datos de destino. Al realizar esta operación se aplicarán todas las restricciones y triggers (disparadores) que se hayan definido en ésta (Ej. valores únicos, integridad referencial, campos obligatorios, rangos de valores). Estas restricciones y trigger (si están bien definidos) contribuyen a que se garantice la calidad de los datos en el proceso ETL, y deben ser tenidos en cuenta
  • 13.
    Pero… ¿Qué esun Cubo? Cubo= Información de Datos->Data Warehouse Nombre maquillado de Sistemas Expertos Cubo de Información Balanced Score Card Estrategia Táctica Operación
  • 14.
    Cubo Data MartDatos Información Patrón Minería de Datos(Sistema Experto) Conocimiento
  • 15.
    Cubo Dimensión: Producto Dimensión: Personas Dimensión: Ciudad Dimensión: Tiempo Tabla de Hecho (Fact Table) Id_Persona (Pk) Nombre Edad Id_Ciudad(fk) Persona Id_Ciudad(Pk) Nombre Ciudad Id_Producto (fk) Id_Persona (fk) Id_Dia (fk) VentaTotal MaxVenta Ventas Id_Productos (Pk) NombreXproducto Categoria Productos Id_Tiempo (pk) Dia (fk) DiaSemana Tiempo
  • 16.
    Estructura multidimensional JoséUvas Melones Q4 Q1 Q2 Q3 Dimensión: FECHA Dimensión: PRODUCTO Juan Luis Dimension: PERSONA Manzanas Cerezas Ana
  • 17.
    Consulta MultidimensionalUvas Q4 Q1 Q2 Q3 Dimensión: FECHA Dimensión: PRODUCTO Juan Luis José Dimensión: PERSONA Manzanas Cerezas Ana Melones Suma Venta, Max Venta
  • 18.
    Modelos de CubosCuando las dimensiones no tienen orden expansivo se llama modelo Estrella Para el ejemplo anterior, en la tablas Persona y Ciudad existe conexión en el modelo y se lo llama Copos de Nieve Tabla de Hecho(Fact Table) Tabla de Hecho(Fact Table) Persona Ciudad
  • 19.
    Consulta MultidimensionalLo que guarda el cubo son medidas o indicadores. Fuente de Datos ETL Id_Tiempo (fk) Dia (fk) DiaSemana Tiempo Convertir tiempo en tabla Data Mapping
  • 20.
    Data Mapping idDia(losaca del destino) diaSemana(lo calcula) Carga los valores 1/2/09 E 303 1/2/09 Domingo T Domingo L

Notas del editor

  • #2 Clase del Miércoles 23 de Julio del 2008