Carga.

Anuncio
Proceso E.T.L
Enfoque Kimball
1
domingo 8 de julio de 2012
Contenido.
- ETL
- Extracción.
- Transformación.
- Carga.
2
domingo 8 de julio de 2012
Objetivos
- Presentar los conceptos necesarios para
entender el proceso de extracción,
transformación y carga de una base de
datos.
3
domingo 8 de julio de 2012
El proceso ETL
- Proceso para transferir, formatear, limpiar y cargar
datos.
- Su construcción es responsabilidad del equipo de
BI/DWH.
- Se construye para cada BI/DWH.
- Implica entre 40% al 60% del esfuerzo.
- Se utilizan herramientas y programas diseñados
para esta tarea.
4
domingo 8 de julio de 2012
ETL problemas
- Múltiples tecnologías.
- Reportes obsoletos.
- No existe metadatos.
- Diferentes algoritmos de calculo.
- Diferente niveles de extracción.
- Diferentes niveles de detalle (granularidad).
- Diferentes nombres de campos de datos.
- Diferentes significados de campos de datos.
- Perdida de información.
5
domingo 8 de julio de 2012
El proceso de ETL.
- ETL se encarga de:
- Extraer los datos de las fuentes.
- Transformar y limpiar los datos.
- Resumir los datos.
- Detectar los cambios en las fuentes.
- Reestructurar las claves.
- Cargar los datos en el almacén.
- Refrescar el almacén con datos actualizados.
- Indexar los datos.
6
domingo 8 de julio de 2012
El proceso ETL.
Correspondencia
Carga
Extracción
• Identifica los datos que han
cambiado
• Extrae (lectura) de datos.
• Obtiene los agregados
• Mantiene la metadata
Transformación
•
•
•
•
•
•
Limpieza y transformación de datos
Estandarización a un solo formato.
Creación de claves
Integración de datos (cálculo de datos derivados)
Obtención de agregados
Mantenimiento de la metadata
7
domingo 8 de julio de 2012
• Carga
• Indización
• Realización de pruebas de
calidad de la carga.
• Gestión de errores.
• Obtención de datos
agregados.
• Mantenimiento de metadata
Calidad de datos.
- La calidad de los datos es la clave del éxito de un
almacén de datos.
- Estrategia:
- OLTP:
- Modificar reglas de integridad.
- Triggers.
- Documentar fuentes de datos.
- Definir procesos de transformación.
- Nombrar un responsable de calidad de datos.
8
domingo 8 de julio de 2012
Extracción
Extracción, Transformación, Carga
9
domingo 8 de julio de 2012
Extracción de datos.
- Requerimiento
IMPORTANTE
- Causar mínimo impacto en el
sistema origen.
- Las operaciones de extracción
suelen programarse en horarios
donde el impacto sea nulo.
10
domingo 8 de julio de 2012
Extracción de datos
- Programas diseñados para extraer
datos de las fuentes.
- Técnicas:
- Programas específicos.
- Wrapper. (empaquetar la fuente de
datos).
- EJ: OCI, ODBC/OleDB, IDAPI.....
11
domingo 8 de julio de 2012
Extracción
- DBMS. Preparar consultas o rutinas.
- Hojas de calculo. Lectura, formato y
preprocesamiento.
- Texto libre. Lectura y preprocesamiento.
12
domingo 8 de julio de 2012
Cambios.
- Identificar cambios antes de extraerlos.
- Identificar los datos operacionales que
se han modificado desde la fecha del
ultimo mantenimiento.
13
domingo 8 de julio de 2012
Cambios: métodos.
- Carga total. cada vez se empieza de cero.
- Comparación de instancias (OLTP).
- Marcas de tiempo (time stamping).
- Triggers OLTP.
- LOGS (Gestión transacciones).
- Técnicas mixtas.
14
domingo 8 de julio de 2012
TRANSFORMACIÓN
Proceso E.T.L
15
domingo 8 de julio de 2012
Transformación
- Aplica reglas de negocio o funciones a
los datos extraídos para convertirlos en
datos que serán cargados.
- CLEANSING.
- INTEGRATION.
16
domingo 8 de julio de 2012
Cleansing
- En los datos operacionales de fuentes
heterogéneas existen anomalías
desarrolladas independientemente a lo largo
del tiempo, por lo que es necesario
eliminarlas.
- LIMPIEZA DE DATOS.
- ESTANDARIZACIÓN.
17
domingo 8 de julio de 2012
Múltiple Codificación
- Codificación y descripciones del
individuo.
- Almacenado de diferentes maneras.
- En la transformación habrá que elegir
una convención única para el DW.
18
domingo 8 de julio de 2012
Unidades de
medida
- La unidades pueden tener distintas
unidades de medidas, según el origen del
sistema OLTP. Un ejemplo es hablar de
litro, centímetros cúbicos, etc.
- Habra que elegir una única unidad de
medida que sea útil para el DW y
transformar los datos.
19
domingo 8 de julio de 2012
Formatos
- Los formatos de fecha que encontramos en
diferentes sistemas operacionales pueden
estar almacenados en múltiples formatos.
- Las fecha pueden estar almacenadas como
yyy/mm/dd , mm/dd/yyy , dd/mm/yyyy.
- En el desarrollo del sistema DW, debemos
elegir alguna de ellas y realizar la
transformación correspondiente
20
domingo 8 de julio de 2012
Varias columnas en
una
- Los datos de una persona, como dirección pueden
almacenarse en diferentes campos de la misma
tabla(Calle, Número, Piso y departamento).
- En un DW es posible que lo almacenemos en una
única columna .
21
domingo 8 de julio de 2012
Claves con
estrutura
- Claves con estructuras: Descomponer
en valores atómicos.
Código de producto= 12M65431345
Código
Código
país
de vendedor
Zona
Número
de venta de producto
22
domingo 8 de julio de 2012
Estándares
- Unificar estándares.
- Unidades de medida, tiempo, moneda...
cm
cm
inches
DD/MM/YY
DD-Mon-YY
MM/DD/YY
1,000 GBP
USD 600
FF 9,990
23
domingo 8 de julio de 2012
Duplicados
- Valores duplicados: deben ser
eliminados.
- SQL restricciones en el SGBDR.
- Integridad referencial debe
reconstruirse,
24
domingo 8 de julio de 2012
Creación de claves
- Las claves primarias de las tablas no
deben tener algún significado más allá
de representar un identificador único.
25
domingo 8 de julio de 2012
CARGA
Proceso E.T.L
26
domingo 8 de julio de 2012
Carga.
- Es el momento en el cual los datos
transformados son cargados en el sistema de
destino.
- Consiste en mover los datos desde las
fuentes operacionales o el almacenamiento
intermedio hasta el almacén de datos y cargar
los datos en las tablas correspondientes.
- Puede consumir mucho tiempo.
27
domingo 8 de julio de 2012
Carga.
- Dos etapas del proceso de carga:
- Carga inicial: Mueve grandes volúmenes de datos.
- Mantenimiento periódico: Mueve pequeños
volúmenes de datos.
- Existen 2 formas de desarrollar el proceso de carga:
- TAL (trunc and load): Limpia el repositorio de datos y
carga información nueva.
- Incremental: Se utiliza cuando se carga información
nueva o información que necesita ser actualizada.
28
domingo 8 de julio de 2012
Frecuencia de mantenimiento
- La frecuencia del mantenimiento periódico
esta determinada por la granuliridad de las
dimensiones y los requisitos de los usuarios.
- Se deben determinar las “ventanas de carga”
más convenientes para no saturar la base de
datos operacional.
- Ocasionalmente archivar o eliminar datos
obsoletos que ya no interesan para el análisis.
29
domingo 8 de julio de 2012
Indización
- Determinar como se van ha generar los
indices:
- Generación del indice durante la carga.
- Carga con el indice habilitado.
- Proceso tupla a tupla.
- Generación del indice después de la carga.
- Carga con el indice deshabilitado.
- Creación del indice (total o parcial).
30
domingo 8 de julio de 2012
Integridad referencial
- Desahabilitar Integridad referencial.
- Agiliza el proceso de transferencia de
datos.
- Cada vez que se inserta un registro no se
efectúan las validaciones de integridad
referencial.
- Al finalizar el proceso se habilita la
integridad referencial.
31
domingo 8 de julio de 2012
Obtención de valores
agregados.
- Determinar en que momento se generan los valores
agregados.
- Durante la extracción.
- Después de la carga (transporte).
Transporte
Extracción
Almacenamiento intermedio
32
domingo 8 de julio de 2012
Descargar