SlideShare a Scribd company logo
1 of 18
Download to read offline
#dotNetSpain2016
Enrique Catalá
Mentor SolidQ (www.solidq.com)
ecatala@solidq.com | @enriquecatala
www.sqlpass.es
Como hacer tuning a
capas de acceso a datos
en .NET
Patrocinadores
Colaboradores
#dotNetSpain2016
Comunidad PASS Spain:
Próximos eventos
http://www.sqlpass.es/
#dotNetSpain2016
1. Introducción
2. Demo time!
Agenda
#dotNetSpain2016
 Ingeniero Informático
 Microsoft Data Platform MVP
 Mentor en SolidQ
ecatala@solidq.com
www.solidq.com
@enriquecatala
enrique@enriquecatala.com
www.enriquecatala.com
#dotNetSpain2016
Capas de acceso a datos
#dotNetSpain2016
Hardware
Tuning HW (cabina,
red,..)
ServiciosTuning SQL, IIS
Aplicación Tuning aplicaciones
#dotNetSpain2016
Tipología de
acceso
Por conjuntos Por cursores
Patrones de
bajo nivel
Dinámico
Adhoc
Parametrizable
Estático
Stored
procedures
Arquitecturas
Modelo
conectividad
Conectada
Desconectada
Modelo de
desarrollo
Manual
ORM
#dotNetSpain2016
Fundamentos
• Tiempo de desarrollo
• Diferencia de roles
• Desarrollador vs. DBA
• Independencia de la
aplicación
• Uso de modelo de
datos
• Abstracción de servidor
de base de datos
Másmotivos
• Rechazo a T-SQL
• Manejo de cadenas
para acceso a datos
• Errores en tiempo de
ejecución vs.
Compilación
• Uso de lenguajes más
familiares
• Es más “cool”
#dotNetSpain2016
Librería Método ¿Qué hace?
Query.PlanCompiler.Pl
anCompiler
Compile(cqt.DbCommandTree ctree, …….) Compila query hacia SQL Server. Coste de
compilación. Aquí generalmente es donde
debemos poner esfuerzos en optimizar linq
Objects.Elinq.Compile
dELinqQueryState
GetExecutionPlan(MergeOption? forMergeOption) Obtener plan de ejecución ya compilado
previamente
Objects.Elinq.ELinqQu
eryState
GetExecutionPlan(MergeOption? forMergeOption) Obtener plan de ejecución todavía no compilado
Objects.ObjectQuery
<T>
GetResults(MergeOption? forMergeOption) Obtiene datos. Incluye datos GetExecutionPlan,
Compile y el coste de materializar incluido. Es el
coste total
#dotNetSpain2016
Deja rodar tu app un tiempo y mira qué mejorar
#dotNetSpain2016
• List<T> -> O(n)
• Dictionary<T,U> -> O(1)
#dotNetSpain2016
Generalmente es preferible hacer menos operaciones
a la BBDD con mas conjuntos de filas
#dotNetSpain2016
• Evita procesados fila a fila
Capas de acceso
a datos
• La estructura de datos importa, no es
todo BBDD
Complejidad
algorítmica
• Centra el tiro a donde esté el
problema
Profiling de una
aplicación .NET
• Ya no estamos en los 90. Hasta tu
móvil tiene 8 núcleos 
Consideraciones
de concurrencia
No olvides realizar la encuesta
¡Gracias!
#dotNetSpain2016
Enrique Catalá Bañuls
Mentor SolidQ (www.solidq.com)
ecatala@solidq.com | @enriquecatala
http://aka.ms/DOTNETT6S4

More Related Content

What's hot

What's hot (20)

Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Paralelismo en sql server
Paralelismo en sql serverParalelismo en sql server
Paralelismo en sql server
 
In memory
In memoryIn memory
In memory
 
Query store
Query storeQuery store
Query store
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql server
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v next
 
10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs
 
Arquitectura a escala
Arquitectura a escalaArquitectura a escala
Arquitectura a escala
 
Uniqs Institucional
Uniqs InstitucionalUniqs Institucional
Uniqs Institucional
 
Cortana Analytics suite
Cortana Analytics suiteCortana Analytics suite
Cortana Analytics suite
 
Construyendo pruebas para un DWH usando un paradigma de modelado Data Vault
Construyendo pruebas para un DWH usando un paradigma de modelado Data VaultConstruyendo pruebas para un DWH usando un paradigma de modelado Data Vault
Construyendo pruebas para un DWH usando un paradigma de modelado Data Vault
 
Nos vamos a la nube!
Nos vamos a la nube!Nos vamos a la nube!
Nos vamos a la nube!
 
Data wrangling en R para programadores SQL
Data wrangling en R para programadores SQLData wrangling en R para programadores SQL
Data wrangling en R para programadores SQL
 
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure TemplatesInstalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
 
¿Cómo mezclar agua con aceite? NodeJS + Azure
¿Cómo mezclar agua con aceite? NodeJS + Azure¿Cómo mezclar agua con aceite? NodeJS + Azure
¿Cómo mezclar agua con aceite? NodeJS + Azure
 
CloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosCloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datos
 

Viewers also liked

Introduction To Value I Group
Introduction To Value I GroupIntroduction To Value I Group
Introduction To Value I Group
smartled
 
AlaskaAirlinesMagazine_08.15_p.25
AlaskaAirlinesMagazine_08.15_p.25 AlaskaAirlinesMagazine_08.15_p.25
AlaskaAirlinesMagazine_08.15_p.25
Aliza Vaccher
 

Viewers also liked (20)

Aplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdadesAplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdades
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Query store
Query storeQuery store
Query store
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
 
Introduction To Value I Group
Introduction To Value I GroupIntroduction To Value I Group
Introduction To Value I Group
 
Инвестпрограмма Чеченэнерго
Инвестпрограмма ЧеченэнергоИнвестпрограмма Чеченэнерго
Инвестпрограмма Чеченэнерго
 
Guia Embarazo Weleda
Guia Embarazo WeledaGuia Embarazo Weleda
Guia Embarazo Weleda
 
Areatzako jaiak egitaraua laburpena 2013 07 22
Areatzako jaiak egitaraua laburpena 2013 07 22Areatzako jaiak egitaraua laburpena 2013 07 22
Areatzako jaiak egitaraua laburpena 2013 07 22
 
Published Samples Asheesh Pandia 1112
Published Samples Asheesh Pandia 1112Published Samples Asheesh Pandia 1112
Published Samples Asheesh Pandia 1112
 
AlaskaAirlinesMagazine_08.15_p.25
AlaskaAirlinesMagazine_08.15_p.25 AlaskaAirlinesMagazine_08.15_p.25
AlaskaAirlinesMagazine_08.15_p.25
 
Invitación Asado
Invitación AsadoInvitación Asado
Invitación Asado
 
En Liten Bok
En Liten BokEn Liten Bok
En Liten Bok
 
MobiTree FTMA Conference 2012: Mobile Marketing & Rules to Stay Ahead of The ...
MobiTree FTMA Conference 2012: Mobile Marketing & Rules to Stay Ahead of The ...MobiTree FTMA Conference 2012: Mobile Marketing & Rules to Stay Ahead of The ...
MobiTree FTMA Conference 2012: Mobile Marketing & Rules to Stay Ahead of The ...
 
Como Xesús
Como XesúsComo Xesús
Como Xesús
 
Espaciosutil
Espaciosutil Espaciosutil
Espaciosutil
 
el aceite de argan que es y como usar
el aceite de argan que es y como usarel aceite de argan que es y como usar
el aceite de argan que es y como usar
 
Cassandra NoSQL
Cassandra NoSQLCassandra NoSQL
Cassandra NoSQL
 
Court dismisses Base Minerals Zimbabwe's appeal
Court dismisses Base Minerals Zimbabwe's appealCourt dismisses Base Minerals Zimbabwe's appeal
Court dismisses Base Minerals Zimbabwe's appeal
 
Diario Resumen 20150916
Diario Resumen 20150916Diario Resumen 20150916
Diario Resumen 20150916
 

Similar to Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)

Portafolio avantia software_solutions
Portafolio avantia software_solutionsPortafolio avantia software_solutions
Portafolio avantia software_solutions
fvivas76
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2
Snoop Consulting
 

Similar to Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016) (20)

Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Power bi para desarrolladores
Power bi para desarrolladoresPower bi para desarrolladores
Power bi para desarrolladores
 
Hoja De Vida De Carlos Manuel Renteria De La Cruz
Hoja De Vida De Carlos Manuel Renteria De La CruzHoja De Vida De Carlos Manuel Renteria De La Cruz
Hoja De Vida De Carlos Manuel Renteria De La Cruz
 
Transformación Digital en clave Cloud, ALM y DevOps
Transformación Digital en clave Cloud, ALM y DevOpsTransformación Digital en clave Cloud, ALM y DevOps
Transformación Digital en clave Cloud, ALM y DevOps
 
Conviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShellConviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShell
 
Home automation solutions (domotic system)
Home automation solutions (domotic system)Home automation solutions (domotic system)
Home automation solutions (domotic system)
 
Monitorizando espacios con IoT y Azure
Monitorizando espacios con IoT y AzureMonitorizando espacios con IoT y Azure
Monitorizando espacios con IoT y Azure
 
Plataforma de Gestión de Contenidos Digitales para Pymes. Documadrid 2008
Plataforma de Gestión de Contenidos Digitales para Pymes. Documadrid 2008Plataforma de Gestión de Contenidos Digitales para Pymes. Documadrid 2008
Plataforma de Gestión de Contenidos Digitales para Pymes. Documadrid 2008
 
Casos exito santiago toribio almatech
Casos exito santiago toribio almatechCasos exito santiago toribio almatech
Casos exito santiago toribio almatech
 
Metodologia Integracion de Aplicaciones
Metodologia Integracion de AplicacionesMetodologia Integracion de Aplicaciones
Metodologia Integracion de Aplicaciones
 
Portafolio avantia software_solutions
Portafolio avantia software_solutionsPortafolio avantia software_solutions
Portafolio avantia software_solutions
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricks
 
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
 
Teamnet centro de competencia
Teamnet centro de competenciaTeamnet centro de competencia
Teamnet centro de competencia
 
Microsoft machine learning
Microsoft machine learningMicrosoft machine learning
Microsoft machine learning
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2
 
SOA - IBM
SOA - IBMSOA - IBM
SOA - IBM
 

More from Enrique Catala Bañuls

More from Enrique Catala Bañuls (14)

Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL Server
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
 
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
 
Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014
 
Planes de ejecución en sql server 2014
Planes de ejecución en sql server 2014Planes de ejecución en sql server 2014
Planes de ejecución en sql server 2014
 
Transacciones diferidas
Transacciones diferidasTransacciones diferidas
Transacciones diferidas
 
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azureEscalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azure
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 
Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014 Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014
 
Guias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql serverGuias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql server
 
Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (11)

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
 
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
 
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
 
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.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
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...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)