Datawarehouse en tiempo real 
con CDC 
Donde tiempo real quiere decir tiempo razonable  
Expositor: Miguel Egea MCITP, MCSE 
Moderador: Freddy Angarita
Gracias a nuestros auspiciadores 
Database Security as Easy as A-B-C 
http://www.greensql.com 
Hardcore Developer and IT 
Training 
http://www.pluralsight.com 
SQL Server Performance 
Try PlanExplorer today! 
http://www.sqlsentry.com
Próximos SQL Saturday 
6 de Diciembre de 2014 
https://www.sqlsaturday.com/351/register.aspx 
24 de Enero de 2015 
https://www.sqlsaturday.com/346/register.aspx 
18 de Abril de 2015 
https://www.sqlsaturday.com/368/register.aspx 
9 de Mayo de 2015 
https://www.sqlsaturday.com/373/register.aspx
Capítulo Global PASS en Español 
4 
4 
Reuniones semanales todos los miércoles a 
las 12PM UTC-5 (Hora de Colombia) 
https://www.facebook.com/SpanishPASSVC
5 
Asistencia Técnica 
Si requiere asistencia 
durante la sesión debe 
usar la sección de 
preguntas que esta en el 
menú de la derecha. 
Use el botón de Zoom 
para ajustar su pantalla 
al tamaño deseado 
Escriba sus preguntas 
en la sección de 
preguntas que esta en el 
menú de la derecha
6 
Miguel Egea 
SQL Server MVP desde 2001, trabaja como mentor en SolidQ en el 
departamento de BI. Es ponente habitual en eventos de comunidad de habla 
hispana. Apasionado de la tecnología en general y de la relacionada con base 
de datos en particular. 
6
Datawarehouse en tiempo real con CDC 
Normalmente se asocia un Datawarehouse con una carga nocturna, pero ¿que 
pasa si necesitamos dato mucho mas fresco? 
7 
12/3/2014 
| 
7 | Footer Goes Here
Suposiciones sobre conocimientos 
8 
BI Familiar con DWH y 
Datamarts 
Modelado 
Kimball, Inmon, 
integración, Dimensiones 
lentamente cambiantes 
Miembros inferidos 
Relacional 
Funcionamiento del log de 
transacciones y estructuras 
básicas de administración 
de SQL Server
9 
Tecnologias disponibles 
Objetivo detectar elementos nuevos, modificados o borrados rápidamente 
 Change Tracking 
 Timestamp columns 
 Change Data Capture 
Pero no todo es tecnología, muchas veces lo más importante es el sentido 
común.
Algunas aristas del problema 
10 
Detectar cambios es “fácil” 
 Determinar como cambios en tablas individuales afectan a cambios en dimensiones no es 
tan inmediato 
¿Detectar cambios es suficientemente rápido? 
 Aquí es donde la tecnología se pone de nuestro lado… de alguna forma
¡Que manía con detectar cambios! 
60 millones /año 5 millones/mes 170,000 filas/ dia 
11 
600.000.00 filas 
10 años de datos 
En un año 
detectamos 60 M 
filas 
21,000 filas/ hora 
Para 8 horas de 
datos 
¿Es viable cargar 21,000 filas en una hora? 
¿Es viable cargar 350 filas por minuto? 
¿Es viable cargar 6 filas por segundo?
Tecnologías que pueden ayudar 
12 
Change 
Tracking 
• Disponible 
incluso en 
Express
Tecnologías que pueden ayudar II 
13 
Origen 
• Algunas veces los 
propios orígenes 
ya mantienen 
historia de 
cambios 
Columnas 
timestamp 
• El propio origen 
contiene una 
columna 
timestamp 
Columna fecha 
• El propio origen 
tiene una 
columna de fecha 
ultima 
modificación 
Columnas 
autoincrementales 
• Pero solo son 
útiles para 
registros nuevos 
no para 
modificaciones
14 
Change Data Capture 
• Basado en LogReader 
• Se crean tablas en el esquema CDC 
• SSIS proporciona componentes 
manejarlos
15 
Configurando CDC 
DEMO
CDC en Integration Services 
Demo de valientes… desde el principio  
16
¿Qué opináis del área de staging? 
17 
No es necesaria si 
El origen de datos es solo 1 
O son varios pero todos SQL (salvo 
collation) 
O no tengo espacio en los discos 
O no me gusta nada. 
Es necesario 
Cuestión de gustos ¿Para mi siempre? 
Solo si tengo que hacer integración y 
limpieza
CDC y SCD2 Sin área de staging 
• Sobre el copo de nieve Producto-Subcategoría-Categoría 
¿Qué supone un cambio en el nombre del producto? 
18 
Suponemos que todo son SCD2 
• Crear una nueva versión de UN producto 
• Cerrar la versión anterior 
¿Qué supone un cambio en subcategoría? 
• Cerrar la versión de VARIOS productos 
¿Qué supone un cambio en Categoría? 
• Cerrar la versión de MUCHOS productos 
¿Qué supone un cambio en más de un atributo? 
• Supone un LIO MUY GORDO. 
19 
DEMO 
UN LIO MUY GORDO
CDC y SCD2 con Staging “SolidQ framework Style” 
• Siempre usamos área de staging separando E-T-L 
• Convertir 3 tablas en 1 es una parte de T, en nuestro caso bastante trivial (solo left join) 
• Los datos desde Origen a STG son expuestos exclusivamente a través de vistas (al esquema STG) 
• Los datos desde E-T se leen de vistas y se escriben en el esquema ETL de la bbdd de Staging 
• Los datos de T hasta L se exponen mediante vistas 
• Hay un conjunto de naming conventions 
20 
SolidQ Framework significa (muy muy resumido) 
Mantenemos la relación 1 a 1 
• Tabla de productos a.stg Productos, 
Creamos una vista como toda transformación 
• El proceso T es bastante simple en este caso 
Simplemente Ejecutamos el proceso de Carga 
• Para el ejemplo yo lo voy a hacer “a mano”. Habitualmente lo hacemos de forma automática con 
nuestras propias herramientas
21 
Demo 
Se convierte en algo bastante trivial.
Preguntas?
A continuación … 
El Recetario de Restore 
Warner Chavez, MCM
Gracias por participar

Más contenido relacionado

PDF
Copias de seguridad y recuperación de desastres
PDF
In memory
PDF
Novedades en SQL Azure V12
PDF
Query store
PDF
BusinessIntelligence Introduction
PDF
Novedades sql server 2008 para developers
PDF
Curso introduccion microsoft_sql_server_business_intelligence
PDF
Sql server 2008 novedades en BI - es - tech net
Copias de seguridad y recuperación de desastres
In memory
Novedades en SQL Azure V12
Query store
BusinessIntelligence Introduction
Novedades sql server 2008 para developers
Curso introduccion microsoft_sql_server_business_intelligence
Sql server 2008 novedades en BI - es - tech net

Similar a 24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea (20)

PPTX
Indices Columnares en SQL Server 2014
PPTX
Autoservicio BI
PDF
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
PPTX
Nuevos escenarios BI con SQL Server 2014
PDF
Dts y analysis services 2000
PPTX
Cuando bi conoció a Hekaton (una historia de amor)
PPTX
Detección de cambios para el desarrollo de WareHouse
PPTX
Diseño de bases de datos relacionales para mantener historia
PPTX
Realizando procesos de carga incremental exitosos con SQL Server
PDF
Analisys services 2005 cubos olap con o sin data warehouse
PDF
Inteligencia corporativa 2.0
PPT
Universidad de Concepción - EDUTIC 2011
DOC
Sql server2008 caract
PDF
Generalidades en SQL Server 2012
PPTX
Data warehouse
PPS
Fundamentos dw
PDF
Desarrollo con control de código contra SQL Server | SolidQ Summit 2012
PPTX
PPTX
Diplomado Técnico SQL Server 2012 - Sesión 8/8
DOC
Trabajo de sistemas tarea 4
Indices Columnares en SQL Server 2014
Autoservicio BI
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
Nuevos escenarios BI con SQL Server 2014
Dts y analysis services 2000
Cuando bi conoció a Hekaton (una historia de amor)
Detección de cambios para el desarrollo de WareHouse
Diseño de bases de datos relacionales para mantener historia
Realizando procesos de carga incremental exitosos con SQL Server
Analisys services 2005 cubos olap con o sin data warehouse
Inteligencia corporativa 2.0
Universidad de Concepción - EDUTIC 2011
Sql server2008 caract
Generalidades en SQL Server 2012
Data warehouse
Fundamentos dw
Desarrollo con control de código contra SQL Server | SolidQ Summit 2012
Diplomado Técnico SQL Server 2012 - Sesión 8/8
Trabajo de sistemas tarea 4
Publicidad

Más de SpanishPASSVC (20)

PPTX
Creación de un modelo de análisis predictivo en la nube
PPTX
Analizando la performance del subsistema de IO
PPTX
AlwaysON Lecciones Aprendidas
PPTX
Data Science con Microsoft R Server y SQL Server 2016
PPTX
Mejoras de Rendimiento para Replicación Transaccional
PPTX
Como leer planes de ejecución
PPTX
AlwaysOn en SQL Server 2016
PPTX
VMs de alto rendimiento para SQL Server en AWS y Azure
PDF
Tecnicas avanzadas de monitoreo
PDF
Principios de diseño para procesos de ETL
PPTX
Planeando e implementando servicios de datos con Microsoft Azure
PPTX
Mejores prácticas para SQL Server en ambientes virtualizados
PPTX
Mejores prácticas de Data Warehouse con SQL Server
PPTX
La receta de la abuela para mejores cargas de datos
PPTX
Introducción a Azure Machine Learning
PDF
Cuadros de mando el todo es más que la suma de las partes
PPTX
Automatizando la generación de Datawarehouses a través de metadatos
PPTX
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
PPTX
Administrando soluciones de Power BI
PPTX
Vista 360 grados de DataZen - Juan Alvarado
Creación de un modelo de análisis predictivo en la nube
Analizando la performance del subsistema de IO
AlwaysON Lecciones Aprendidas
Data Science con Microsoft R Server y SQL Server 2016
Mejoras de Rendimiento para Replicación Transaccional
Como leer planes de ejecución
AlwaysOn en SQL Server 2016
VMs de alto rendimiento para SQL Server en AWS y Azure
Tecnicas avanzadas de monitoreo
Principios de diseño para procesos de ETL
Planeando e implementando servicios de datos con Microsoft Azure
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas de Data Warehouse con SQL Server
La receta de la abuela para mejores cargas de datos
Introducción a Azure Machine Learning
Cuadros de mando el todo es más que la suma de las partes
Automatizando la generación de Datawarehouses a través de metadatos
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Administrando soluciones de Power BI
Vista 360 grados de DataZen - Juan Alvarado
Publicidad

Último (20)

DOCX
VALORACIÓN DE ASPECTOS FUNDAMENTALES DE LOS ASPECTOS
PPTX
Cópia de epidemio gabriel.pptxsjjwmnjxj
PDF
Anexo n.˚ 01 - Postulantes Seleccionados.pdf
PDF
medicamentos-y-embarazo-dra-franzel-alvarez-hott_archivo.pdf
PPTX
Gerenciamiento de Proyectos Jesus Manuel Locio Lopez1.pptx
PPTX
Hemograma-Valores-Normales-y-Anormales.pptx
PDF
REPORTE DE ACCIDENTES DE TRANSITO IRAPUATO 1ER SEMESTRE 2025
PDF
Plan de curso para Biostadistica 2025.pdf
DOCX
602651561-PLAN-ANUAL-DE-PROTECCION-CIVIL-Y-SEGURIDAD-ESCOLAR.docx
PDF
Municipios gobernados por fuerza política en México (2025).pdf
PDF
Presentación Día Mundial del Autismo____
PPTX
109-fines-de-la-educacion-religiosa-en-la-escuelapdf_2.pptx
PDF
CAPACITACIÓN DENGUE PARA EL SECTOR SALUD CONFERNCIA
PDF
Presentación Ciencia Fotosíntesis Verde Natural.pdf.pdf
DOCX
PLAN DIARIO kzsbcskjabckjasbfjbsajbsjabnj
PDF
Epidemiologia semana l 25 29025jdjsjsjsjs
PPTX
ALGORITMOS de diseño pocopolar - versión 1
PDF
PROCEDIMIENTO DE CONTROL Y REGISTRO DOCUMENTAL.pdf
DOCX
CIRRICULO Y PRACTICA PEDAGOGICA MISION UNO FINAL.docx
PDF
Anderson, P. El Estado absolutista. Cap. 1 (1).pdf
VALORACIÓN DE ASPECTOS FUNDAMENTALES DE LOS ASPECTOS
Cópia de epidemio gabriel.pptxsjjwmnjxj
Anexo n.˚ 01 - Postulantes Seleccionados.pdf
medicamentos-y-embarazo-dra-franzel-alvarez-hott_archivo.pdf
Gerenciamiento de Proyectos Jesus Manuel Locio Lopez1.pptx
Hemograma-Valores-Normales-y-Anormales.pptx
REPORTE DE ACCIDENTES DE TRANSITO IRAPUATO 1ER SEMESTRE 2025
Plan de curso para Biostadistica 2025.pdf
602651561-PLAN-ANUAL-DE-PROTECCION-CIVIL-Y-SEGURIDAD-ESCOLAR.docx
Municipios gobernados por fuerza política en México (2025).pdf
Presentación Día Mundial del Autismo____
109-fines-de-la-educacion-religiosa-en-la-escuelapdf_2.pptx
CAPACITACIÓN DENGUE PARA EL SECTOR SALUD CONFERNCIA
Presentación Ciencia Fotosíntesis Verde Natural.pdf.pdf
PLAN DIARIO kzsbcskjabckjasbfjbsajbsjabnj
Epidemiologia semana l 25 29025jdjsjsjsjs
ALGORITMOS de diseño pocopolar - versión 1
PROCEDIMIENTO DE CONTROL Y REGISTRO DOCUMENTAL.pdf
CIRRICULO Y PRACTICA PEDAGOGICA MISION UNO FINAL.docx
Anderson, P. El Estado absolutista. Cap. 1 (1).pdf

24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea

  • 1. Datawarehouse en tiempo real con CDC Donde tiempo real quiere decir tiempo razonable  Expositor: Miguel Egea MCITP, MCSE Moderador: Freddy Angarita
  • 2. Gracias a nuestros auspiciadores Database Security as Easy as A-B-C http://www.greensql.com Hardcore Developer and IT Training http://www.pluralsight.com SQL Server Performance Try PlanExplorer today! http://www.sqlsentry.com
  • 3. Próximos SQL Saturday 6 de Diciembre de 2014 https://www.sqlsaturday.com/351/register.aspx 24 de Enero de 2015 https://www.sqlsaturday.com/346/register.aspx 18 de Abril de 2015 https://www.sqlsaturday.com/368/register.aspx 9 de Mayo de 2015 https://www.sqlsaturday.com/373/register.aspx
  • 4. Capítulo Global PASS en Español 4 4 Reuniones semanales todos los miércoles a las 12PM UTC-5 (Hora de Colombia) https://www.facebook.com/SpanishPASSVC
  • 5. 5 Asistencia Técnica Si requiere asistencia durante la sesión debe usar la sección de preguntas que esta en el menú de la derecha. Use el botón de Zoom para ajustar su pantalla al tamaño deseado Escriba sus preguntas en la sección de preguntas que esta en el menú de la derecha
  • 6. 6 Miguel Egea SQL Server MVP desde 2001, trabaja como mentor en SolidQ en el departamento de BI. Es ponente habitual en eventos de comunidad de habla hispana. Apasionado de la tecnología en general y de la relacionada con base de datos en particular. 6
  • 7. Datawarehouse en tiempo real con CDC Normalmente se asocia un Datawarehouse con una carga nocturna, pero ¿que pasa si necesitamos dato mucho mas fresco? 7 12/3/2014 | 7 | Footer Goes Here
  • 8. Suposiciones sobre conocimientos 8 BI Familiar con DWH y Datamarts Modelado Kimball, Inmon, integración, Dimensiones lentamente cambiantes Miembros inferidos Relacional Funcionamiento del log de transacciones y estructuras básicas de administración de SQL Server
  • 9. 9 Tecnologias disponibles Objetivo detectar elementos nuevos, modificados o borrados rápidamente  Change Tracking  Timestamp columns  Change Data Capture Pero no todo es tecnología, muchas veces lo más importante es el sentido común.
  • 10. Algunas aristas del problema 10 Detectar cambios es “fácil”  Determinar como cambios en tablas individuales afectan a cambios en dimensiones no es tan inmediato ¿Detectar cambios es suficientemente rápido?  Aquí es donde la tecnología se pone de nuestro lado… de alguna forma
  • 11. ¡Que manía con detectar cambios! 60 millones /año 5 millones/mes 170,000 filas/ dia 11 600.000.00 filas 10 años de datos En un año detectamos 60 M filas 21,000 filas/ hora Para 8 horas de datos ¿Es viable cargar 21,000 filas en una hora? ¿Es viable cargar 350 filas por minuto? ¿Es viable cargar 6 filas por segundo?
  • 12. Tecnologías que pueden ayudar 12 Change Tracking • Disponible incluso en Express
  • 13. Tecnologías que pueden ayudar II 13 Origen • Algunas veces los propios orígenes ya mantienen historia de cambios Columnas timestamp • El propio origen contiene una columna timestamp Columna fecha • El propio origen tiene una columna de fecha ultima modificación Columnas autoincrementales • Pero solo son útiles para registros nuevos no para modificaciones
  • 14. 14 Change Data Capture • Basado en LogReader • Se crean tablas en el esquema CDC • SSIS proporciona componentes manejarlos
  • 16. CDC en Integration Services Demo de valientes… desde el principio  16
  • 17. ¿Qué opináis del área de staging? 17 No es necesaria si El origen de datos es solo 1 O son varios pero todos SQL (salvo collation) O no tengo espacio en los discos O no me gusta nada. Es necesario Cuestión de gustos ¿Para mi siempre? Solo si tengo que hacer integración y limpieza
  • 18. CDC y SCD2 Sin área de staging • Sobre el copo de nieve Producto-Subcategoría-Categoría ¿Qué supone un cambio en el nombre del producto? 18 Suponemos que todo son SCD2 • Crear una nueva versión de UN producto • Cerrar la versión anterior ¿Qué supone un cambio en subcategoría? • Cerrar la versión de VARIOS productos ¿Qué supone un cambio en Categoría? • Cerrar la versión de MUCHOS productos ¿Qué supone un cambio en más de un atributo? • Supone un LIO MUY GORDO. 
  • 19. 19 DEMO UN LIO MUY GORDO
  • 20. CDC y SCD2 con Staging “SolidQ framework Style” • Siempre usamos área de staging separando E-T-L • Convertir 3 tablas en 1 es una parte de T, en nuestro caso bastante trivial (solo left join) • Los datos desde Origen a STG son expuestos exclusivamente a través de vistas (al esquema STG) • Los datos desde E-T se leen de vistas y se escriben en el esquema ETL de la bbdd de Staging • Los datos de T hasta L se exponen mediante vistas • Hay un conjunto de naming conventions 20 SolidQ Framework significa (muy muy resumido) Mantenemos la relación 1 a 1 • Tabla de productos a.stg Productos, Creamos una vista como toda transformación • El proceso T es bastante simple en este caso Simplemente Ejecutamos el proceso de Carga • Para el ejemplo yo lo voy a hacer “a mano”. Habitualmente lo hacemos de forma automática con nuestras propias herramientas
  • 21. 21 Demo Se convierte en algo bastante trivial.
  • 23. A continuación … El Recetario de Restore Warner Chavez, MCM