Automatizando la generación de Datawarehouses a través de metadatos

14
Automatizando la generación de datawarehouses a través de metadatos Miguel Egea Gómez #24HOP @Miguel Egea

Transcript of Automatizando la generación de Datawarehouses a través de metadatos

Page 1: Automatizando la generación de Datawarehouses a través de metadatos

Automatizando la generación de datawarehouses a través de metadatosMiguel Egea Gómez#24HOP@Miguel Egea

All bullets should be 100% size of text, small square, and light gray.All text should be no smaller than 14 pt.

Page 2: Automatizando la generación de Datawarehouses a través de metadatos

2

¿Por qué patrones?

Desarrollo aprendiendo cada vez¿Qué es ETL?

Tareas de Extracción Tareas de Transformación Tareas de Load

Automatización

Automatización

Lógica de negocio

Para automatizar usamos patrones

Page 3: Automatizando la generación de Datawarehouses a través de metadatos

3

Staging vs Data integration

Volatil vs no volátilVariables que determinan que es idóneo (que no óptimo)

Número de registros ( o tamaño de tablas) Tipos de datos y tipos de origen

Claves tipo texto Campos timestamp Orden y páginas de código

Requisitos de disponibilidad, tiempo.¿Cómo elegir?

Presupuesto Tiempo de desarrollo Tiempo total hasta destino Requisitos de negocio. ¿Qué hay de la detección de cambios?

Page 4: Automatizando la generación de Datawarehouses a través de metadatos

4

Patrón de staging

Truncar tabla de staging

Proceso normal en producción

Leer origen

Escribir en destino

Inferir esquema de origen y cambiar tipos de datos

Tiempo de desarrollo

Crear tablas y añadir metadatos

Page 5: Automatizando la generación de Datawarehouses a través de metadatos

5

Demostración

Antes de empezar ¿Qué metadatos necesitamos?

Page 6: Automatizando la generación de Datawarehouses a través de metadatos

6

Patrones de data integration

Preguntas importantes a responder antes de elegir un patrón ¿Cuántos registros hay en origen? ¿Cuánto tardo en leerlos y escribirlos ¿existe algún campo que me permita detectar solo cambios? ¿se producen eliminados en origen? ¿Con que frecuencia hay que cargar? ¿Cuanto tiempo dispongo para hacerlo?

Opciones más comunes Leer todo el origen, comparar con el destino

A través de lookup ¿Cuántas filas vienen? ¿cacheo o no cacheo? A través de Merge join

Necesita orden!

Page 7: Automatizando la generación de Datawarehouses a través de metadatos

7

Patrones de data integration

Leer destino para comparar con origen ¿Cómo comparo 140 campos de tabla sin cortarme las venas ? ¿algoritmos de hash?

Componentes de hash

Page 8: Automatizando la generación de Datawarehouses a través de metadatos

8

Demostración

Hash y lookupsHash y merge

Page 9: Automatizando la generación de Datawarehouses a través de metadatos

9

Fase de Transformación

¿Cómo lo hacemos?

Page 10: Automatizando la generación de Datawarehouses a través de metadatos

10

Fase L

Carga de dimensiones ¿podemos hacer carga incremental? Opciones

Timestamp Execution id

Tipos de atributos Tipo 1 Tipo 2 Tipo 1 con historia Tipo 0

Page 11: Automatizando la generación de Datawarehouses a través de metadatos

11

Fase L

Carga de hechos Lookups a dimensiones Miembros por defecto cuando no encontrado Miembros inferidos Compensaciones y ejercicios cerrados

Cada situación da lugar a un patrón.

Page 12: Automatizando la generación de Datawarehouses a través de metadatos

12 12

Tables

HEADING HEADING HEADING HEADING HEADING

Body text Body text Body text Body text Body text

Body text Body text Body text Body text Body text

Body text Body text Body text Body text Body text

Body text Body text Body text Body text Body text

Page 13: Automatizando la generación de Datawarehouses a través de metadatos

Questions?

Page 14: Automatizando la generación de Datawarehouses a través de metadatos

Thank You for AttendingFollow @pass24hop

Share your thoughts with hashtags #pass24hop & #sqlpass