Post on 30-Jun-2015
description
Buscando a Nemo (patrones avanzados de búsqueda en SSIS)
Miguel EgeaRuben pertusa
Ruben Pertus
a Miguel Egea
BUSCANDO A DEMO : PATRONES DE BÚSQUEDA CON LOOKUP
Agenda
Introducción
Lookup 101
Patrones
Esta sesión
Búsqueda (Lookup)
Patrones
SSIS
ETL-DW
Integración
SSIS
Patrones
Solución general reutilizable a algún problema dentro de un contexto dado de diseño de software
Búsqueda (Lookup)
Agenda
Introducción
Lookup 101
Patrones
Cache Mode: Full Cache
Cache Mode: Full Cache
Una consulta a la BD
Conjunto entero de datos en memoria
Tiempo adicional al principio
Lookups muy rápidos
Cache Mode: No Cache
Una consulta por cada fila en el flujo.
Solamente una fila en memoria
Sin tiempo adicional de inicio.
Latencia y respuesta de la BD,determinan el desempeño
Cache Mode: Partial Cache
Inicia cache vacío
Si la llave NO existe en cacheconsulta a la BD
Múltiples filas en memoria
Sin tiempo adicional de inicio
Nemo: Cache Mode
Agenda
Introducción
Lookup 101
Patrones
ExtractionTransformation
Loading
Incremental en la fuenteIncremental en el ETL
Extraction
ExtractionIncremental en la fuente
✔
Incremental en la fuente
Completa Incremental
✔
Extraction
Incremental en la fuente
✔
Intención
• Identificar y segregar cambios en las fuentes y solo LEER datos nuevos o cambiados.
Motivación
• Aumentar el desempeño del ETL, disminuir la carga de trabajo para la fuente y para ETL.
Aplicabilidad
• Carga de datos, abundantes pero poco volátiles o de carga muy frecuente.
Búsquedacon Hash
Extraction
Incremental en la fuente
✔
Búsquedacon Hash
ExtractionConsulta a la llave
natural y HashBytes
Consulta a la dimensión
por valores ya cargados
Descarta filas existen
Lee atributos de filasnuevas o cambiadas
Nemo: Búsquedacon Hash en BD
Incremental en el ETL
✔
Intención
• Identificar y segregar cambios en el ETL y solo cargar datos nuevos o cambiados.
Motivación
• Aumentar el desempeño del ETL, disminuir la carga de trabajo para la fuente y para ETL.
Aplicabilidad
• Carga de datos, abundantes pero poco volátiles o de carga muy frecuente.
Búsquedacon Hash
Extraction
Incremental en el ETL
✔
Búsquedacon Hash
ExtractionConsulta COMPLETA
a la fuente
Calcula valor HASH
Lee Llave Primaria y Hash del DW y
descarta los que existen.
Nemo: Búsquedacon Hash en ETL
Integraciónde datos
Limpieza de datos
Transformation
Integración de datos
Intención
• Combinar múltiples fuentes de información (BD) y proveer una vista unificada de los datos.
Motivación
• Hacer la integración en MEMORIA y sin necesidad de ordenamientos.
Aplicabilidad
• Fuentes relacionales (SQL, Oracle, DB2, etc.) heterogéneas.Transformation
Integración de datos
Consulta COMPLETAa la fuente primaria
Busca (JOIN) los datos de la fuente
secundaria
Maneja posible valores no
encontrados
Transformation
Nemo: Integraciónde datos
Limpieza de Datos
Intención
• Validar y combinar datos de fuentes usando atributos de texto no precisos.
Motivación
• Usar coincidencia aproximadas de texto y grados de similitud.
Aplicabilidad
• Integrar fuentes externas o fuentes relacionales sin llaves primarias comunes.Transformation
Limpieza de Datos
Consulta COMPLETAa la fuente primaria
Busca (JOIN) los datos de forma
aproximada
Maneja diferentes niveles de confianza
y similitud
Transformation
Nemo: Limpiezade Datos
Loading
Dimensiones
Hechos Actuales
Hechos Históricos
Loading
Intención
• Reemplazar las “llaves primarias naturales” por llaves subrogadas” de datos actuales
Motivación
• Obtener llaves subrogadas de dimensiones basados en la ultima versión de la fila
Aplicabilidad
• En Dimensiones copo de nieve, leer la llave de las tablas superiores. En tablas de hechos, obtener las llaves de la dimensión
Carga Dimensiones y Hechos
Loading
Carga Dimensiones y Hechos
Consulta a nivel granular de la
dimensión
Busca (JOIN) los datos con el DW,
usando llave primaria
Maneja posible valores no
encontrados
Loading
Carga Dimensiones y Hechos
Consulta a hechos y llaves naturales
“Reemplaza” llaves primarias por llaves
subrogadas de Dimensiones
Maneja posible valores no
encontrados
Nemo: Dimensionesy Hechos
Loading
Intención
• Reemplazar las “llaves primarias naturales” por llaves subrogadas” en datos históricos con Dimensiones tipo 2.
Motivación
• Obtener llaves subrogadas de dimensiones basados en la versión histórica de la fila
Aplicabilidad
• En tablas de hechos, obtener las llaves de la dimensión apropiadas.
Hechos Históricos
Loading
Hechos Históricos
Consulta a hechos, llaves naturales y
fechas
“Reemplaza” llaves primarias por llaves
subrogadas de Dimensiones
Loading
Hechos Históricos
Procesamiento sincrónico por Fila
Llenado de Cache con conexión
ADO.NET
Estructura de Datos IComparable, en
Listas con Búsqueda Binaria
Dory: HechosHistóricos
Conclusiones
Introducción
Lookup 101
Patrones
Power BI para usuarios de negocio
45
Curso onlineClases virtuales presenciales14, 15, 16, 21, 22 y 23 de JulioDe 16 a 20 h
Máster en BI 4ª Edición (Inicio Octubre 2014)- Clases presenciales virtuales- 450 horas (60 ECTS) - SolidQ – UPM
- Clases + trabajo práctico + proyecto- Beca de hasta 1.300 € para los primeros inscritos.
Máster en Big Data & Analytics1ª Edición (Inicio Octubre 2014)- Clases presenciales virtuales- 1 año (60 ECTS) UMA
- Clases + trabajo práctico + proyecto
Información e inscripción: http://university.solidq.com / ibinfo@solidq.com