Nos enfrentamos cada vez a retos mas difíciles y complejos en la creación de Datawarehouses con SQL Server. Esto nos hace pensar en como quitarnos el trabajo superfluo, el que no aporta valor de negocio para centrar nuestras energías en resolver las cuestiones propias del negocio. La charla explorará alguna de las posibilidades de automatización de creación de procesos ETL. Para ello hablaremos de BIML, SSIS, JSON y metadatos.
2. 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
3. 3
Staging vs Data integration
Volatil vs no volátil
Variables 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?
4. 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
6. 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!
7. 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
10. 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
11. 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.
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
12