SlideShare una empresa de Scribd logo
1 de 18
La receta de la abuela para
mejores cargas de datos
Alejandro Cordero
Database Consultant – Pythian Group
Correo electrónico: alejandro@sqlturbo.com
Twitter: @ale_corderocr
LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr
BLOG: Sqlturbo.com
MCTS, CSM
Speaker Bio
2
Picture Here
Speaker Bio - Alejandro Cordero
2
SQLTURBO.COM
DBA en Pythian
Scrum Master Certified
alejandro@sqlturbo.com
3
Agenda
El papel de los modelos de recuperación
Operaciones “Minimally logged”
TraceFlag 610
Importando con SSIS
Importando con BCP
Importando con Bulk Insert
Importando con Select Into / Insert .. Select
Conclusiones de la abuela
3
4
Transacción Completa
4
1
3
write-ahead logging (WAL)
sincrónico
2
Transacción
Bitacora de transacciones
O transaction log
Archivo de datos
O Data file
Modelos de Recuperación
• Full – Se guardan todas las operaciones.
• Bulk-logged – Se guardan operaciones
excepto ciertas operaciones de carga de
alto rendimiento.
• Simple – Solo guarda información
temporalmente y son truncadas luego
de un checkpoint.
5
Operaciones Minimally Logged
SSIS
Bcp
BULK INSERT
INSERT... SELECT
Select into operations
5
6
Páginas y Extents de datos
Página de datos - 8 KB
Extent – unidad básica -8
páginas o 64kb
Las páginas pueden ser fully logged
O Minimally logged y en un Mixed extent
Esto puede pasar para una página que sea
De datos o de índices, significa que en un
Extent mixto puedo tener también un
Comportamiento Mixto, donde mis
Páginas de datos son Minimally logged
Pero las páginas de los índices son
Fully logged.
El mejor escenario es cuando
Logro que mis páginas de
Datos e índices sean
Minimally logged.
7
Ingredientes para una carga de datos
-Pre requisitos para operaciones ML-
Base de datos en Simple/Bulk Load
La tabla no esta siendo replicada
La tabla es bloqueada por medio de un TABLOCK
Si la tabla no tiene índices, las paginas de datos son “Minimally logged”
Si la tabla no tiene índice Clustered y tiene índices Non Clustered las páginas
de datos son “Minimally logged”, sin embargo las páginas de los índices serán
ML solo si la tabla esta vacía
8
Ingredientes para una carga de datos
-Pre requisitos para operaciones ML-
Si la tabla tiene un índice clustered y está vacía ambas paginas de índice y de
datos son Minimally logged. En contraste si la tabla no está vacía la operación
será Fully Logged
Mejores Prácticas Para conservar tamaño: Trate de
hacer varios bulk loads
en diferentes batches. Cada vez que termina un batch
El log puede ser limpiado por un transaction log backup
cuando se está en bulk-logged mode.
Péro
El primer batch será Minimally logged…..los demás serán
Mixtos o Full.
9
Traceflag 610 – el Ingrediente secreto
Cuando se usa este traceflag se habilita la posibilidad
De hacer operaciones minimally logged
Sobre índices B-tree, los árboles B, son el algoritmo usado por SQL Server en sus índices.
De esta forma podrémos tener operaciones ML sobre Índices clustered llenos . Con ciertas
excepciones. Solo cuando el dato se guarda sobre una página nueva y no dentro de una
existente, este va a ser ML.
non-FULL recovery model
AND NOT replicated
AND (
(Heap AND TABLOCK)
OR (B-tree AND empty AND TABLOCK)
OR (B-tree AND empty AND TF-610)
OR (B-tree AND nonempty AND TF-610 AND NEW key-range)
Mejores Prácticas : cuando se usa el t610
Usar el batchsize más grande posible
DBCC TRACEON (610, -1);
Revisando Page Allocations
11
Cuando se hace una operación Minimally Logged
Table Indexes Rows in table Hints Without TF 610 With TF 610
Concurrent
possible
Heap Any TABLOCK Minimal Minimal Yes
Heap Any None Full Full Yes
Heap + Index Any TABLOCK Full Depends (3) No
Cluster Empty TABLOCK, ORDER
(1)
Minimal Minimal No
Cluster Empty None Full Minimal Yes (2)
Cluster Any None Full Minimal Yes (2)
Cluster Any TABLOCK Full Minimal No
Cluster + Index Any None Full Depends (3) Yes (2)
Cluster + Index Any TABLOCK Full Depends (3) No
12
El plato Principal – la carga de datos
SSIS
BCP
BULK INSERT
SELECT INTO
INSERT SELECT
Comparativa de Rendimiento entre las 5 recetas
SSIS
BCP
BULK INSERT
SELECT INTO
INSERT SELECT
14
Resumen
Functionality Integration Services BULK INSERT BCP INSERT … SELECT
SQL Dest. OLE DB Dest
Protocol Shared Memory TCP/IP
Named Pipes
In Memory TCP/IP
Shared Memory
Named Pipes
In Memory
Speed Faster / Fastest(4) Fast / Fastest (1) Fastest Fast Slow / Fastest (2)
Data Source Any Any Data File Only Data File Only Any OLE DB
Bulk API Support Not Native Not ORDER
Not Native
All All No Hints Allowed
Lock taken with
TABLOCK hint on
heap
BU BU BU BU X
Can transform in
transit
Yes Yes No No Yes
I/O Read block
Size
Depends(3) Depends(3) 64 kilobytes (KB) 64 KB Up to 512 KB
SQL Server
Version
2005 and 2008 2005 and 2008 7.0, 2000, 2005,
and 2008
6.0, 7.0, 2000,
2005, and 2008
2008
Invoked from DTEXEC / BIDS DTEXEC / BIDS Transact-SQL Command Line Transact-SQL
Cargas de datos simultaneas
16
Conclusiones
Usar Traceflag 610 – Pero, probar primero!
Usar SSIS o bulk Insert de preferencia
Tomar en cuenta espacio necesario para el crecimiento
Tomar en cuenta el modelo de recuperación
Tomar en cuenta CPU disponibles
Tomar en cuenta si tengo trasaction logs corriendo.
Preguntas?
Correo electrónico: alejandro@sqlturbo.com
Twitter: @ale_corderocr
LinkedIn:
https://cr.linkedin.com/in/alejandrocorderocr
BLOG: Sqlturbo.com
MCTS, CSM
Thank You for Attending
Follow @pass24hop
Share your thoughts with hashtags
#pass24hop & #sqlpass

Más contenido relacionado

Destacado

Cuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesCuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesSpanishPASSVC
 
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”SpanishPASSVC
 
Administrando soluciones de Power BI
Administrando soluciones de Power BIAdministrando soluciones de Power BI
Administrando soluciones de Power BISpanishPASSVC
 
Vista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoVista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoSpanishPASSVC
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furiosoSpanishPASSVC
 
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSpanishPASSVC
 
Visualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocioVisualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocioSpanishPASSVC
 
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...SpanishPASSVC
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nubeSpanishPASSVC
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016SpanishPASSVC
 
Automatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosAutomatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosSpanishPASSVC
 
Sincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSpanishPASSVC
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISSpanishPASSVC
 
SQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level SecuritySQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level SecuritySpanishPASSVC
 
Prácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft AzurePrácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft AzureSpanishPASSVC
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data ScienceSpanishPASSVC
 
SQL Server 2016 new features
SQL Server 2016 new featuresSQL Server 2016 new features
SQL Server 2016 new featuresSpanishPASSVC
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016SpanishPASSVC
 
Introducción a Azure Machine Learning
Introducción a Azure Machine LearningIntroducción a Azure Machine Learning
Introducción a Azure Machine LearningSpanishPASSVC
 

Destacado (20)

Cuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesCuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partes
 
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
 
Administrando soluciones de Power BI
Administrando soluciones de Power BIAdministrando soluciones de Power BI
Administrando soluciones de Power BI
 
Vista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoVista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan Alvarado
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furioso
 
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
 
Visualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocioVisualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocio
 
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nube
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016
 
Automatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosAutomatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatos
 
Sincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL Server
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSIS
 
SQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level SecuritySQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level Security
 
Prácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft AzurePrácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft Azure
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data Science
 
SQL Server 2016 new features
SQL Server 2016 new featuresSQL Server 2016 new features
SQL Server 2016 new features
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016
 
SQL Monitoring
SQL MonitoringSQL Monitoring
SQL Monitoring
 
Introducción a Azure Machine Learning
Introducción a Azure Machine LearningIntroducción a Azure Machine Learning
Introducción a Azure Machine Learning
 

Similar a La receta de la abuela para mejores cargas de datos

FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones SolidQ
 
ORACLE - ADVANCED COMPRESSION OPTION.pptx
ORACLE  - ADVANCED COMPRESSION OPTION.pptxORACLE  - ADVANCED COMPRESSION OPTION.pptx
ORACLE - ADVANCED COMPRESSION OPTION.pptxJavierdelaCruzSanche1
 
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel EgeaSpanishPASSVC
 
Transferencia de datos en Oracle
Transferencia de datos en OracleTransferencia de datos en Oracle
Transferencia de datos en OracleCarmen Soler
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Eduardo Castro
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09victdiazm
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfexpertoleonelmartine
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPSolidQ
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.Keith Hollman
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Eduardo Castro
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazacestiogalo
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANASergio Cannelli
 
2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBDEmanuelMuoz11
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnEnrique Catala Bañuls
 

Similar a La receta de la abuela para mejores cargas de datos (20)

FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
 
ORACLE - ADVANCED COMPRESSION OPTION.pptx
ORACLE  - ADVANCED COMPRESSION OPTION.pptxORACLE  - ADVANCED COMPRESSION OPTION.pptx
ORACLE - ADVANCED COMPRESSION OPTION.pptx
 
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
 
Transferencia de datos en Oracle
Transferencia de datos en OracleTransferencia de datos en Oracle
Transferencia de datos en Oracle
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
 
Base de datos
Base de datosBase de datos
Base de datos
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdf
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTP
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de traza
 
Copia de-mandante
Copia de-mandanteCopia de-mandante
Copia de-mandante
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANA
 
2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura Oracle
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOn
 

Más de SpanishPASSVC

Creación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeCreación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeSpanishPASSVC
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IOSpanishPASSVC
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasSpanishPASSVC
 
Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016SpanishPASSVC
 
Mejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalMejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalSpanishPASSVC
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecuciónSpanishPASSVC
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureSpanishPASSVC
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoSpanishPASSVC
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzureSpanishPASSVC
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosSpanishPASSVC
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerSpanishPASSVC
 
Minería de datos / Machine Learning
Minería de datos / Machine LearningMinería de datos / Machine Learning
Minería de datos / Machine LearningSpanishPASSVC
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataSpanishPASSVC
 

Más de SpanishPASSVC (14)

Creación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeCreación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nube
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016
 
Mejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalMejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación Transaccional
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecución
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreo
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
Minería de datos / Machine Learning
Minería de datos / Machine LearningMinería de datos / Machine Learning
Minería de datos / Machine Learning
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 

La receta de la abuela para mejores cargas de datos

  • 1. La receta de la abuela para mejores cargas de datos Alejandro Cordero Database Consultant – Pythian Group Correo electrónico: alejandro@sqlturbo.com Twitter: @ale_corderocr LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr BLOG: Sqlturbo.com MCTS, CSM
  • 2. Speaker Bio 2 Picture Here Speaker Bio - Alejandro Cordero 2 SQLTURBO.COM DBA en Pythian Scrum Master Certified alejandro@sqlturbo.com
  • 3. 3 Agenda El papel de los modelos de recuperación Operaciones “Minimally logged” TraceFlag 610 Importando con SSIS Importando con BCP Importando con Bulk Insert Importando con Select Into / Insert .. Select Conclusiones de la abuela 3
  • 4. 4 Transacción Completa 4 1 3 write-ahead logging (WAL) sincrónico 2 Transacción Bitacora de transacciones O transaction log Archivo de datos O Data file Modelos de Recuperación • Full – Se guardan todas las operaciones. • Bulk-logged – Se guardan operaciones excepto ciertas operaciones de carga de alto rendimiento. • Simple – Solo guarda información temporalmente y son truncadas luego de un checkpoint.
  • 5. 5 Operaciones Minimally Logged SSIS Bcp BULK INSERT INSERT... SELECT Select into operations 5
  • 6. 6 Páginas y Extents de datos Página de datos - 8 KB Extent – unidad básica -8 páginas o 64kb Las páginas pueden ser fully logged O Minimally logged y en un Mixed extent Esto puede pasar para una página que sea De datos o de índices, significa que en un Extent mixto puedo tener también un Comportamiento Mixto, donde mis Páginas de datos son Minimally logged Pero las páginas de los índices son Fully logged. El mejor escenario es cuando Logro que mis páginas de Datos e índices sean Minimally logged.
  • 7. 7 Ingredientes para una carga de datos -Pre requisitos para operaciones ML- Base de datos en Simple/Bulk Load La tabla no esta siendo replicada La tabla es bloqueada por medio de un TABLOCK Si la tabla no tiene índices, las paginas de datos son “Minimally logged” Si la tabla no tiene índice Clustered y tiene índices Non Clustered las páginas de datos son “Minimally logged”, sin embargo las páginas de los índices serán ML solo si la tabla esta vacía
  • 8. 8 Ingredientes para una carga de datos -Pre requisitos para operaciones ML- Si la tabla tiene un índice clustered y está vacía ambas paginas de índice y de datos son Minimally logged. En contraste si la tabla no está vacía la operación será Fully Logged Mejores Prácticas Para conservar tamaño: Trate de hacer varios bulk loads en diferentes batches. Cada vez que termina un batch El log puede ser limpiado por un transaction log backup cuando se está en bulk-logged mode. Péro El primer batch será Minimally logged…..los demás serán Mixtos o Full.
  • 9. 9 Traceflag 610 – el Ingrediente secreto Cuando se usa este traceflag se habilita la posibilidad De hacer operaciones minimally logged Sobre índices B-tree, los árboles B, son el algoritmo usado por SQL Server en sus índices. De esta forma podrémos tener operaciones ML sobre Índices clustered llenos . Con ciertas excepciones. Solo cuando el dato se guarda sobre una página nueva y no dentro de una existente, este va a ser ML. non-FULL recovery model AND NOT replicated AND ( (Heap AND TABLOCK) OR (B-tree AND empty AND TABLOCK) OR (B-tree AND empty AND TF-610) OR (B-tree AND nonempty AND TF-610 AND NEW key-range) Mejores Prácticas : cuando se usa el t610 Usar el batchsize más grande posible DBCC TRACEON (610, -1);
  • 11. 11 Cuando se hace una operación Minimally Logged Table Indexes Rows in table Hints Without TF 610 With TF 610 Concurrent possible Heap Any TABLOCK Minimal Minimal Yes Heap Any None Full Full Yes Heap + Index Any TABLOCK Full Depends (3) No Cluster Empty TABLOCK, ORDER (1) Minimal Minimal No Cluster Empty None Full Minimal Yes (2) Cluster Any None Full Minimal Yes (2) Cluster Any TABLOCK Full Minimal No Cluster + Index Any None Full Depends (3) Yes (2) Cluster + Index Any TABLOCK Full Depends (3) No
  • 12. 12 El plato Principal – la carga de datos SSIS BCP BULK INSERT SELECT INTO INSERT SELECT
  • 13. Comparativa de Rendimiento entre las 5 recetas SSIS BCP BULK INSERT SELECT INTO INSERT SELECT
  • 14. 14 Resumen Functionality Integration Services BULK INSERT BCP INSERT … SELECT SQL Dest. OLE DB Dest Protocol Shared Memory TCP/IP Named Pipes In Memory TCP/IP Shared Memory Named Pipes In Memory Speed Faster / Fastest(4) Fast / Fastest (1) Fastest Fast Slow / Fastest (2) Data Source Any Any Data File Only Data File Only Any OLE DB Bulk API Support Not Native Not ORDER Not Native All All No Hints Allowed Lock taken with TABLOCK hint on heap BU BU BU BU X Can transform in transit Yes Yes No No Yes I/O Read block Size Depends(3) Depends(3) 64 kilobytes (KB) 64 KB Up to 512 KB SQL Server Version 2005 and 2008 2005 and 2008 7.0, 2000, 2005, and 2008 6.0, 7.0, 2000, 2005, and 2008 2008 Invoked from DTEXEC / BIDS DTEXEC / BIDS Transact-SQL Command Line Transact-SQL
  • 15. Cargas de datos simultaneas
  • 16. 16 Conclusiones Usar Traceflag 610 – Pero, probar primero! Usar SSIS o bulk Insert de preferencia Tomar en cuenta espacio necesario para el crecimiento Tomar en cuenta el modelo de recuperación Tomar en cuenta CPU disponibles Tomar en cuenta si tengo trasaction logs corriendo.
  • 17. Preguntas? Correo electrónico: alejandro@sqlturbo.com Twitter: @ale_corderocr LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr BLOG: Sqlturbo.com MCTS, CSM
  • 18. Thank You for Attending Follow @pass24hop Share your thoughts with hashtags #pass24hop & #sqlpass