SlideShare une entreprise Scribd logo
1  sur  44
Buscando a Nemo (patrones avanzados de
búsqueda en SSIS)
Miguel Egea
Ruben pertusa
Ruben
Pertusa
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 cache
consulta a la BD
Múltiples filas en memoria
Sin tiempo adicional de inicio
Nemo: Cache Mode
Agenda
Introducción
Lookup 101
Patrones
Incremental
en la fuente
Incremental
en el ETL
Incremental en la fuente
✔
Incremental en la fuente
Completa Incremental
✔
Incremental en la fuente
✔
• Identificar y segregar cambios en las
fuentes y solo LEER datos nuevos o
cambiados.
Intención
• Aumentar el desempeño del ETL,
disminuir la carga de trabajo para la
fuente y para ETL.
Motivación
• Carga de datos, abundantes pero poco
volátiles o de carga muy frecuente.
Aplicabilidad
Búsqueda
con Hash
Incremental en la fuente
✔
Búsqueda
con Hash
Consulta a la llave
natural y HashBytes
Consulta a la dimensión
por valores ya cargados
Descarta filas existen
Lee atributos de filas
nuevas o cambiadas
Nemo: Búsqueda
con Hash en BD
Incremental en el ETL
✔
• Identificar y segregar cambios en el ETL
y solo cargar datos nuevos o cambiados.
Intención
• Aumentar el desempeño del ETL,
disminuir la carga de trabajo para la
fuente y para ETL.
Motivación
• Carga de datos, abundantes pero poco
volátiles o de carga muy frecuente.
Aplicabilidad
Búsqueda
con Hash
Incremental en el ETL
✔
Búsqueda
con Hash
Consulta COMPLETA
a la fuente
Calcula valor HASH
Lee Llave Primaria y
Hash del DW y descarta
los que existen.
Nemo: Búsqueda
con Hash en ETL
Integración
de datos
Limpieza
de datos
Integración de datos
• Combinar múltiples fuentes de
información (BD) y proveer una
vista unificada de los datos.
Intención
• Hacer la integración en MEMORIA
y sin necesidad de ordenamientos.
Motivación
• Fuentes relacionales (SQL, Oracle,
DB2, etc.) heterogéneas.
Aplicabilidad
Integración de datos
Consulta COMPLETA
a la fuente primaria
Busca (JOIN) los datos
de la fuente secundaria
Maneja posible valores
no encontrados
Nemo: Integración
de datos
Limpieza de Datos
• Validar y combinar datos de fuentes
usando atributos de texto no
precisos.
Intención
• Usar coincidencia aproximadas de
texto y grados de similitud.
Motivación
• Integrar fuentes externas o fuentes
relacionales sin llaves primarias
comunes.
Aplicabilidad
Limpieza de Datos
Consulta COMPLETA
a la fuente primaria
Busca (JOIN) los datos
de forma aproximada
Maneja diferentes
niveles de confianza y
similitud
Nemo: Limpieza
de Datos
Dimensiones
Hechos
Actuales
Hechos
Históricos
• Reemplazar las “llaves primarias naturales”
por llaves subrogadas” de datos actuales
Intención
• Obtener llaves subrogadas de dimensiones
basados en la ultima versión de la fila
Motivación
• En Dimensiones copo de nieve, leer la llave
de las tablas superiores. En tablas de
hechos, obtener las llaves de la dimensión
Aplicabilidad
Carga Dimensiones y Hechos
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
Carga Dimensiones y Hechos
Consulta a hechos y
llaves naturales
“Reemplaza” llaves
primarias por llaves
subrogadas de
Dimensiones
Maneja posible valores
no encontrados
Nemo: Dimensiones
y Hechos
• Reemplazar las “llaves primarias
naturales” por llaves subrogadas” en
datos históricos con Dimensiones tipo 2.
Intención
• Obtener llaves subrogadas de
dimensiones basados en la versión
histórica de la fila
Motivación
• En tablas de hechos, obtener las llaves
de la dimensión apropiadas.
Aplicabilidad
Hechos Históricos
Hechos Históricos
Consulta a hechos, llaves
naturales y fechas
“Reemplaza” llaves
primarias por llaves
subrogadas de
Dimensiones
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: Hechos
Históricos
Conclusiones
Introducción
Lookup 101
Patrones
Power BI para usuarios de negocio
45
Curso online
Clases virtuales presenciales
14, 15, 16, 21, 22 y 23 de Julio
De 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 &Analytics
1ª 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

Contenu connexe

Similaire à Buscando a Nemo | SolidQ Summit 2014

Similaire à Buscando a Nemo | SolidQ Summit 2014 (20)

Base de datos jose torres
Base de datos jose torresBase de datos jose torres
Base de datos jose torres
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Presentacion de power point
Presentacion de power pointPresentacion de power point
Presentacion de power point
 
Presentacion de power point
Presentacion de power pointPresentacion de power point
Presentacion de power point
 
Indices 1
Indices 1Indices 1
Indices 1
 
Cont 3005 Busqueda en Bases De Datos Para Profesor Ivonne Huertas Octubre 16 ...
Cont 3005 Busqueda en Bases De Datos Para Profesor Ivonne Huertas Octubre 16 ...Cont 3005 Busqueda en Bases De Datos Para Profesor Ivonne Huertas Octubre 16 ...
Cont 3005 Busqueda en Bases De Datos Para Profesor Ivonne Huertas Octubre 16 ...
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Jose osorio
Jose osorioJose osorio
Jose osorio
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Base de datos
Base de datosBase de datos
Base de datos
 
Taller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDLTaller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDL
 
Diseño de Archivos y Base de Datos
Diseño de Archivos y Base de DatosDiseño de Archivos y Base de Datos
Diseño de Archivos y Base de Datos
 
Tipos de base de datos
Tipos de base de datosTipos de base de datos
Tipos de base de datos
 

Plus de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Plus de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Dernier

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Dernier (10)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Buscando a Nemo | SolidQ Summit 2014

Notes de l'éditeur

  1.  Bruce, Anchor and Chum