Buscando a Nemo | SolidQ Summit 2014

44
Buscando a Nemo (patrones avanzados de búsqueda en SSIS) Miguel Egea Ruben pertusa

description

http://summit.solidq.com Presentado por Miguel Egea y Rubén Pertusa.

Transcript of Buscando a Nemo | SolidQ Summit 2014

Page 1: Buscando a Nemo | SolidQ Summit 2014

Buscando a Nemo (patrones avanzados de búsqueda en SSIS)

Miguel EgeaRuben pertusa

Page 2: Buscando a Nemo | SolidQ Summit 2014

Ruben Pertus

a Miguel Egea

BUSCANDO A DEMO : PATRONES DE BÚSQUEDA CON LOOKUP

Miguel Egea
Page 3: Buscando a Nemo | SolidQ Summit 2014

Agenda

Introducción

Lookup 101

Patrones

Page 4: Buscando a Nemo | SolidQ Summit 2014

Esta sesión

Búsqueda (Lookup)

Patrones

SSIS

Page 5: Buscando a Nemo | SolidQ Summit 2014

ETL-DW

Integración

SSIS

Page 6: Buscando a Nemo | SolidQ Summit 2014

Patrones

Solución general reutilizable a algún problema dentro de un contexto dado de diseño de software

Page 7: Buscando a Nemo | SolidQ Summit 2014

Búsqueda (Lookup)

Page 8: Buscando a Nemo | SolidQ Summit 2014

Agenda

Introducción

Lookup 101

Patrones

Page 9: Buscando a Nemo | SolidQ Summit 2014

Cache Mode: Full Cache

Page 10: Buscando a Nemo | SolidQ Summit 2014

Cache Mode: Full Cache

Una consulta a la BD

Conjunto entero de datos en memoria

Tiempo adicional al principio

Lookups muy rápidos

Page 11: Buscando a Nemo | SolidQ Summit 2014

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

Page 12: Buscando a Nemo | SolidQ Summit 2014

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

Page 13: Buscando a Nemo | SolidQ Summit 2014

Nemo: Cache Mode

Page 14: Buscando a Nemo | SolidQ Summit 2014

Agenda

Introducción

Lookup 101

Patrones

Page 15: Buscando a Nemo | SolidQ Summit 2014
Page 16: Buscando a Nemo | SolidQ Summit 2014

ExtractionTransformation

Loading

Page 17: Buscando a Nemo | SolidQ Summit 2014

Incremental en la fuenteIncremental en el ETL

Extraction

Page 18: Buscando a Nemo | SolidQ Summit 2014

ExtractionIncremental en la fuente

Page 19: Buscando a Nemo | SolidQ Summit 2014

Incremental en la fuente

Completa Incremental

Extraction

Page 20: Buscando a Nemo | SolidQ Summit 2014

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

Page 21: Buscando a Nemo | SolidQ Summit 2014

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

Page 22: Buscando a Nemo | SolidQ Summit 2014

Nemo: Búsquedacon Hash en BD

Page 23: Buscando a Nemo | SolidQ Summit 2014

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

Page 24: Buscando a Nemo | SolidQ Summit 2014

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.

Page 25: Buscando a Nemo | SolidQ Summit 2014

Nemo: Búsquedacon Hash en ETL

Page 26: Buscando a Nemo | SolidQ Summit 2014

Integraciónde datos

Limpieza de datos

Transformation

Page 27: Buscando a Nemo | SolidQ Summit 2014

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

Page 28: Buscando a Nemo | SolidQ Summit 2014

Integración de datos

Consulta COMPLETAa la fuente primaria

Busca (JOIN) los datos de la fuente

secundaria

Maneja posible valores no

encontrados

Transformation

Page 29: Buscando a Nemo | SolidQ Summit 2014

Nemo: Integraciónde datos

Page 30: Buscando a Nemo | SolidQ Summit 2014

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

Page 31: Buscando a Nemo | SolidQ Summit 2014

Limpieza de Datos

Consulta COMPLETAa la fuente primaria

Busca (JOIN) los datos de forma

aproximada

Maneja diferentes niveles de confianza

y similitud

Transformation

Page 32: Buscando a Nemo | SolidQ Summit 2014

Nemo: Limpiezade Datos

Page 33: Buscando a Nemo | SolidQ Summit 2014

Loading

Dimensiones

Hechos Actuales

Hechos Históricos

Page 34: Buscando a Nemo | SolidQ Summit 2014

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

Page 35: Buscando a Nemo | SolidQ Summit 2014

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

Page 36: Buscando a Nemo | SolidQ Summit 2014

Loading

Carga Dimensiones y Hechos

Consulta a hechos y llaves naturales

“Reemplaza” llaves primarias por llaves

subrogadas de Dimensiones

Maneja posible valores no

encontrados

Page 37: Buscando a Nemo | SolidQ Summit 2014

Nemo: Dimensionesy Hechos

Page 38: Buscando a Nemo | SolidQ Summit 2014

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

Page 39: Buscando a Nemo | SolidQ Summit 2014

Loading

Hechos Históricos

Consulta a hechos, llaves naturales y

fechas

“Reemplaza” llaves primarias por llaves

subrogadas de Dimensiones

Page 40: Buscando a Nemo | SolidQ Summit 2014

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

Page 41: Buscando a Nemo | SolidQ Summit 2014

Dory: HechosHistóricos

Page 42: Buscando a Nemo | SolidQ Summit 2014

Conclusiones

Introducción

Lookup 101

Patrones

Page 43: Buscando a Nemo | SolidQ Summit 2014
Page 44: Buscando a Nemo | SolidQ Summit 2014

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 / [email protected]