Buscando a Nemo | SolidQ Summit 2014

Post on 30-Jun-2015

274 views 1 download

description

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

Transcript of Buscando a Nemo | SolidQ Summit 2014

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

Miguel Egea

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