In-Memory OLTP en SQL Server 2014

Enrique Catala Bañuls
Enrique Catala BañulsTechnical Leader at @SolidQ and Microsoft Data Platform MVP
Foro Microsoft
Big Data y Analytics
Filtrar > Decidir > Acertar
Nunca fue más fácil
Nuevo motor relacional In-
Memory OLTP en SQL Server
2014
Enrique Catalá Bañuls (@enriquecatala)
ecatala@solidq.com
MVP – MCT – Mentor en SolidQ
Únete a PASS Spain
Comunidad Española de SQL Server
• Noticias
• Webcasts
• Charlas
• Foro, dudas…
https://www.facebook.com/PASSspanish
In-Memory OLTP en SQL Server 2014
SolidQ Summit
Madrid 2014
20, 21, 22 Mayo 2014
• 2 Tracks SQL,BI ,Big Data
• 3 jornadas
• 30 sesiones técnicas
• Mentores de SolidQ
http://summit.solidq.com http://www.gusenet.org
23 charlas variadas
BI, SQL, C#, MVC,
angular, Javascript,
Kinect, NancyFx, Dev, …
Agenda
Motivación
Arquitectura
Uso de In-Memory OLTP
Coexistencia con otras tecnologías
Aplicaciones prácticas
1. Reducir el número de
ciclos por instrucción
2. Mejorar la escalabilidad
(uso de recursos HW
mejor aprovechados)
3. Disminuir el número de
instrucciones ejecutadas
por petición
Aumentar
rendimiento
100x
Motivación
Motivación
Rendimiento por core se apalancaCoste de memoria disminuye
$/GB de Memoria
1
10
100
1.000
10.000
100.000
1.000.000
1990
1991
1992
1993
1994
1994
1995
1996
1997
1998
1999
2000
2000
2001
2002
2004
2005
2007
2008
2009
2011
US$/GB
0
1
10
100
1.000
10.000
100.000
1.000.000
10.000.000
1970 1975 1980 1985 1990 1995 2000 2005 2010
Motivación: Limitaciones
Tablas on-disk
Page
Latch
Agenda
Motivación
Arquitectura
Uso de In-Memory OLTP
Coexistencia con otras tecnlogías
Aplicaciones prácticas
In-Memory en motor relacional
In-Memory OLTP
• 5-30x rendimiento en OLTP
• Integrado en SQL Server
In-Memory DataWarehouse
• 5-25x rendimiento
• Elevada compression
• Soporta clustered y escrituras
SSD Buffer pool extension
• Mejora transparente
• Hasta 3x rendimiento
Aplicación directa en cargas de trabajo
Entornos OLTP altamente
concurrentes
Entornos BI con DW
grandes y agregaciones
masivas
Entornos transaccionales
sobre OnDisk de grandes
volúmenes de datos
Pilares de In-Memory OLTP
Integracion completa
• T-SQL conocido
• Mismas herramientas
• Integrado
completamente en SQL
Server (sin licencia
extra)
Optimizado para memoria
RAM
• Nuevas estructuras de
almacenamiento
• Sin Buffer Pool
• Punteros a datos
• Todo son índices de
cobertura
Alta concurrencia
• Gestión de concurrencia
optimista multiversion
• Soporte ACID
• Nuevo motor con
algorimos lock-free
• Sin latches
T-SQL supereficiente
• T-SQL compilado a
código máquina en C
• Los SP son DLL
• Compilaciones
superagresivas a código
máquina
Integración
Memory-optimized table
filegroup Data filegroup
SQL Server.exe
In-memory OLTP engine for memory-
optimized tables and indexes
TDS handler and session management
Natively compiled SPs
and schema
Buffer pool for tables and indexes
Proc/plan cache for ad-hoc T-SQL
and SPs
Transaction log
Query interoperability
Non-durable
table T1 T4T3T2
T1 T4T3T2
T1 T4T3T2
T1 T4T3T2
Tables
Indexes
Interpreter for TSQL, query plans,
expressions
T1 T4T3T2
T1 T4T3T2
Checkpoint and recovery
Access methods
Parser,
Catalog,
Algebrizer,
Optimizer
In-Memory
OLTP Compiler
In-Memory
OLTP
component
Key
Existing SQL
component
Generated .dll
Client app
Ventajas In-Memory
Tablas on-disk
Page
Latch
Tablas in-memory
Concurrencia en In-Memory OLTP
Sin bloqueos
• Sin lock, latches
• Sin deadlocks
• Mínimo context switch
• Requiere gestión de
excepciones
Multiversionado
Alta concurrencia
• Se consigue el máximo
aprovechamiento HW
• Cuanta mas carga,
mayor rendimiento
comparable
• Solo se registran
commits
Aislamiento basado en
snapshot
• No se usa tempdb
• Duplicación temporal
de filas
Concurrencia optimista
Agenda
Motivación
Arquitectura
Uso de In-Memory OLTP
Coexistencia con otras tecnlogías
Aplicaciones prácticas
In-Memory OLTP en SQL Server 2014
Aumentos de rendimiento
In-Memory
OLTP
Compiler
In-Memory
OLTP
component
Memory-optimized table
filegroup
Data filegroup
SQL Server.exe
In-Memory OLTP engine for
memory-optimized tables and
indexes
TDS handler and session management
Natively compiled
SPs and schema
Buffer pool for tables and
indexes
Proc/plan cache for ad-hoc T-
SQL and SPs
Client app
Transaction log
Interpreter for TSQL, query
plans, and expressions
Query
interop
Access methods
Parser,
Catalog,
Algebrizer,
Optimizer
10-30x mas eficiente
Reducción de consumo
de log
Checkpoints
secuenciales y en
background
Sin mejoras en pila de
llamadas, paso de
parámetros o devolución
de resultados
Key
Existing SQL
component
Generated .dll
Aprovechamiento de In-Memory OLTP
Modo interpretado
• Hasta 3x de mejora de rendimiento
• Cuidado, podemos empeorar
• No requiere adaptar código
• Sintaxis completa
• Objetos in-memory y on-disk
• Recomendado para:
• Adhoc
• Migraciones rápidas a In-
Memory
Modo Nativo
• De 5x a 30x mejora de rendimiento
• En el caso peor 2x
• Adaptar stored procedures
• Sintaxis limitada
• Solo objetos in-memory
• Recomendado para:
• OLTP alto rendimiento
• Logica de negocio crítica
In-Memory OLTP en SQL Server 2014
Agenda
Motivación
Arquitectura
Uso de In-Memory OLTP
Coexistencia con otras tecnologías
Aplicaciones prácticas
Soportado
Parcialmente soportado
No soportado
• AlwaysON
• FCI
• Log Shipping
• Resource Governor
• Integration services
• Dacpac y bacpack
• Replicación transaccional (p2p no soportada)
• Instancia: TDE, MARS, CDC (se puede pero no recomendado)
• Objetos in-memory con Particionado, compresion, linked server, CT
Soporte de In-Memory en SQL Server
Tablas
Procedimientos
almacenados nativos
• CASE
• Subqueries
• OR
• Outer join
• Funciones de Sistema limitadas a matematicas ,date/time y texto
Limitaciones en In-Memory OLTP 2014
• Triggers DDL/DML
• Tipos de datos LOB, XML o CLR
• Foreign key o check constraints
• ALTER TABLE
• Añadir/quitar nuevos índices
Agenda
Motivación
Arquitectura
Uso de In-Memory OLTP
Coexistencia con otras tecnologías
Aplicaciones prácticas
26
Escenarios comunes de implementación In-Memory OLTP
Alto volumen de
inserción de datos
Alto volumen de
procesamiento
durante inserción
Alto volumen de
lecturas
Nuevos escenarios
• Escenario “shock absorver”
• Cargas masivas a DW
• Escenarios con tablas staging
• Similar al anterior
• *Lógica compleja en SP
• Caché transaccional
• Gestion de sesiones
• Zonas críticas que antes no se
podían poner en base de datos
relacional (generalmente por no
poderse escalar verticalmente)
• Sistemas altamente estresados
por peticiones de lecturas
• Las tablas de elevado % de
lecturas pueden ser cuello de
botella por LATCH_SH
Conclusiones
27
• Nuevo motor totalmente integrado y sin coste añadido
• Mejoras de rendimiento de hasta 30x
• Permite exprimir eficientemente tu HW actual
• Tus conocimientos T-SQL son perfectamente válidos
Enrique Catalá Bañuls
(@enriquecatala)
ecatala@solidq.com
www.enriquecatala.com
MVP – MCT – Mentor en SolidQ
In-Memory OLTP en SQL Server 2014
1 of 28

Recommended

Sql server 2016 novedades para desarrolladores by
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresEnrique Catala Bañuls
632 views37 slides
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016) by
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Enrique Catala Bañuls
1.8K views18 slides
Introducción R - Primeros pasos by
Introducción R - Primeros pasosIntroducción R - Primeros pasos
Introducción R - Primeros pasosSolidQ
1.1K views31 slides
SQLCLR: .NET en el core de sql server by
SQLCLR: .NET en el core de sql serverSQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql serverEnrique Catala Bañuls
1.2K views19 slides
Datawarehouse como servicio en Azure (sqldw) by
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)SolidQ
728 views50 slides
Capas de acceso a datos .net escalables de verdad contra SQL Server by
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 ServerEnrique Catala Bañuls
534 views27 slides

More Related Content

What's hot

avanttic Tech Dates - Facilidad contratación Oracle a través de acuerdos marc... by
avanttic Tech Dates - Facilidad contratación Oracle a través de acuerdos marc...avanttic Tech Dates - Facilidad contratación Oracle a través de acuerdos marc...
avanttic Tech Dates - Facilidad contratación Oracle a través de acuerdos marc...avanttic Consultoría Tecnológica
295 views32 slides
Migración de Oracle a PostgreSQL by
Migración de Oracle a PostgreSQLMigración de Oracle a PostgreSQL
Migración de Oracle a PostgreSQLOpen Canarias
5.9K views30 slides
Presentación corporativa by
Presentación corporativaPresentación corporativa
Presentación corporativaOpen Canarias
3K views35 slides
Oracle GG presentacion by
Oracle GG presentacionOracle GG presentacion
Oracle GG presentacionAna Patricia Guerrero Baldera
768 views27 slides
Producción global, subcontratación y logística - Vega Christopher by
Producción global, subcontratación y logística  - Vega ChristopherProducción global, subcontratación y logística  - Vega Christopher
Producción global, subcontratación y logística - Vega ChristopherNelielChris
80 views10 slides
DynamoDB, análisis del paper. by
DynamoDB, análisis del paper.DynamoDB, análisis del paper.
DynamoDB, análisis del paper.Javier de la Rosa Fernandez
1.1K views33 slides

What's hot(20)

Migración de Oracle a PostgreSQL by Open Canarias
Migración de Oracle a PostgreSQLMigración de Oracle a PostgreSQL
Migración de Oracle a PostgreSQL
Open Canarias5.9K views
Producción global, subcontratación y logística - Vega Christopher by NelielChris
Producción global, subcontratación y logística  - Vega ChristopherProducción global, subcontratación y logística  - Vega Christopher
Producción global, subcontratación y logística - Vega Christopher
NelielChris80 views
Azure Realtime analytics: Análisis de datos en tiempo real by Software Guru
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
Software Guru584 views
Tgs ss-the globalcloud-r01 by Itconic
Tgs ss-the globalcloud-r01Tgs ss-the globalcloud-r01
Tgs ss-the globalcloud-r01
Itconic255 views
Global azure bootcamp SQL Azure End to End by jorge Muchaypiña
Global azure bootcamp   SQL Azure End to End Global azure bootcamp   SQL Azure End to End
Global azure bootcamp SQL Azure End to End
jorge Muchaypiña101 views
PostgreSQL vs MySQL: PostgreSQL como alternativa. by Arturo Espinosa
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.
Arturo Espinosa13K views
Top BI Enhancements for Sql Server 2012 by BILATAM
Top BI Enhancements for Sql Server 2012Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012
BILATAM626 views
¿Por que cambiar de Apache Hadoop a Apache Spark? by Socialmetrix
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
Socialmetrix2.7K views
Big data con Hadoop y SSIS 2016 by Ángel Rayo
Big data con Hadoop y SSIS 2016Big data con Hadoop y SSIS 2016
Big data con Hadoop y SSIS 2016
Ángel Rayo866 views
Primeros pasos con Apache Spark - Madrid Meetup by dhiguero
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetup
dhiguero1.9K views
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates by Gustavo Arjones
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
Gustavo Arjones752 views
Tutorial en Apache Spark - Clasificando tweets en realtime by Socialmetrix
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtime
Socialmetrix11.5K views
Un viaje a la observabilidad by Elasticsearch
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidad
Elasticsearch2K views

Similar to In-Memory OLTP en SQL Server 2014

Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem... by
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...SpanishPASSVC
692 views14 slides
In-Memory OLTP en SQL Server 2016 by
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016Joseph Lopez
1.6K views52 slides
Nuevos escenarios BI con SQL Server 2014 by
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Ruben Pertusa Lopez
1.9K views32 slides
SQL Server 2016 Tablas en Memoria by
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaEduardo Castro
1.5K views37 slides
Tech day sql server 2014 nuevas características - g-taylor by
Tech day   sql server 2014 nuevas características - g-taylorTech day   sql server 2014 nuevas características - g-taylor
Tech day sql server 2014 nuevas características - g-taylorHelver Gilberto Parra Gonzalez
117 views14 slides
Novedades de SQL Server 2014 en motor relacional by
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalEnrique Catala Bañuls
1.2K views36 slides

Similar to In-Memory OLTP en SQL Server 2014(20)

Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem... by SpanishPASSVC
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
SpanishPASSVC692 views
In-Memory OLTP en SQL Server 2016 by Joseph Lopez
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
Joseph Lopez1.6K views
SQL Server 2016 Tablas en Memoria by Eduardo Castro
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
Eduardo Castro1.5K views
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014 by SolidQ
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
SolidQ478 views
Introducción a bases de datos en memoria oltp by Eliana Caraballo
Introducción a bases de datos en memoria oltpIntroducción a bases de datos en memoria oltp
Introducción a bases de datos en memoria oltp
Eliana Caraballo1.7K views
BI real time analytics by SolidQ
BI real time analyticsBI real time analytics
BI real time analytics
SolidQ628 views
In memory by SolidQ
In memoryIn memory
In memory
SolidQ965 views
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h... by SpanishPASSVC
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
SpanishPASSVC665 views
Conociendo los cambios de SQL Server a partir de 2012 a 2016 by Joseph Lopez
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Joseph Lopez2.8K views
Optimización de motores sql server 24 horas SQL Pass by Julián Castiblanco
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
Integración de Oracle Data Integrator con Oracle GoldenGate 12c by Edelweiss Kammermann
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
SQL Server 2014 y La Plataforma de Datos by Joseph Lopez
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
Joseph Lopez1.6K views
Sql server 2014 y la plataforma de datos by SpanishPASSVC
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
SpanishPASSVC634 views
SQL Server 2014 Nuevas Capacidades by Eduardo Castro
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
Eduardo Castro8K views

More from Enrique Catala Bañuls

Sql server ha muerto, larga vida a sql server by
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
303 views51 slides
Paralelismo en SQL Server by
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL ServerEnrique Catala Bañuls
386 views30 slides
Aplicando R al análisis de rendimiento de un servidor by
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 servidorEnrique Catala Bañuls
152 views20 slides
Técnicas avanzadas para resolver tus problemas de sql server by
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 serverEnrique Catala Bañuls
1.7K views28 slides
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el... by
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...Enrique Catala Bañuls
1.4K views26 slides
Planes de ejecución 3.0 sql 2016 y v next by
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 nextEnrique Catala Bañuls
1.3K views20 slides

More from Enrique Catala Bañuls(20)

Técnicas avanzadas para resolver tus problemas de sql server by Enrique Catala Bañuls
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
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el... by Enrique Catala Bañuls
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...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE... by Enrique Catala Bañuls
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...

Recently uploaded

Tarea Curso Tecnologias para la enseñanza virtual.pptx by
Tarea Curso Tecnologias para la enseñanza virtual.pptxTarea Curso Tecnologias para la enseñanza virtual.pptx
Tarea Curso Tecnologias para la enseñanza virtual.pptxlesliealejandraContr
6 views11 slides
Fundamentos de Electricidad y Electronica 9-3 (1).docx by
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docxSamuel709479
5 views26 slides
proyecto lavadora.docx by
proyecto lavadora.docxproyecto lavadora.docx
proyecto lavadora.docxpaulavallejo21
11 views2 slides
Fundamentos de Electricidad y Electronica 9-3 (1).docx by
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docxSamuel709479
7 views26 slides
El Ciberespacio y sus Características.pptx by
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptxAnthlingPereira
19 views3 slides
Tecnologías para la enseñanza virtual by
Tecnologías para la enseñanza virtual Tecnologías para la enseñanza virtual
Tecnologías para la enseñanza virtual mpachecocodem
9 views8 slides

Recently uploaded(20)

Fundamentos de Electricidad y Electronica 9-3 (1).docx by Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094795 views
Fundamentos de Electricidad y Electronica 9-3 (1).docx by Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094797 views
El Ciberespacio y sus Características.pptx by AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira19 views
Tecnologías para la enseñanza virtual by mpachecocodem
Tecnologías para la enseñanza virtual Tecnologías para la enseñanza virtual
Tecnologías para la enseñanza virtual
mpachecocodem9 views
Tarea15.pptx by illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir11 views
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx by dreadlockp5
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptxCÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
dreadlockp58 views
Presentación: El impacto y peligro de la piratería de software by EmanuelMuoz11
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de software
EmanuelMuoz1117 views
MVelazco_Internet, Origenes y Evolucion.pptx by al223915
MVelazco_Internet, Origenes  y Evolucion.pptxMVelazco_Internet, Origenes  y Evolucion.pptx
MVelazco_Internet, Origenes y Evolucion.pptx
al2239155 views
Tecnologías para la enseñanza virtual_cdc.pptx by CarmenerdelHuasco
Tecnologías para la enseñanza virtual_cdc.pptxTecnologías para la enseñanza virtual_cdc.pptx
Tecnologías para la enseñanza virtual_cdc.pptx
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx by MaraJos722801
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docxactividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx
MaraJos7228015 views
fundamentos de electricidad electronica by Kevin619029
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronica
Kevin6190295 views
Fundamentos de electricidad y electrónica.docx by DilanTabares
Fundamentos de electricidad y electrónica.docxFundamentos de electricidad y electrónica.docx
Fundamentos de electricidad y electrónica.docx
DilanTabares5 views
Los principios de la Antropometria y Ergonomia.pdf by BenisBorges
Los principios de la Antropometria y Ergonomia.pdfLos principios de la Antropometria y Ergonomia.pdf
Los principios de la Antropometria y Ergonomia.pdf
BenisBorges6 views
Fundamentos De Electricidad y Electrónica equipo 5.pdf by coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria14 views

In-Memory OLTP en SQL Server 2014

  • 1. Foro Microsoft Big Data y Analytics Filtrar > Decidir > Acertar Nunca fue más fácil
  • 2. Nuevo motor relacional In- Memory OLTP en SQL Server 2014 Enrique Catalá Bañuls (@enriquecatala) ecatala@solidq.com MVP – MCT – Mentor en SolidQ
  • 3. Únete a PASS Spain Comunidad Española de SQL Server • Noticias • Webcasts • Charlas • Foro, dudas… https://www.facebook.com/PASSspanish
  • 5. SolidQ Summit Madrid 2014 20, 21, 22 Mayo 2014 • 2 Tracks SQL,BI ,Big Data • 3 jornadas • 30 sesiones técnicas • Mentores de SolidQ http://summit.solidq.com http://www.gusenet.org 23 charlas variadas BI, SQL, C#, MVC, angular, Javascript, Kinect, NancyFx, Dev, …
  • 6. Agenda Motivación Arquitectura Uso de In-Memory OLTP Coexistencia con otras tecnologías Aplicaciones prácticas
  • 7. 1. Reducir el número de ciclos por instrucción 2. Mejorar la escalabilidad (uso de recursos HW mejor aprovechados) 3. Disminuir el número de instrucciones ejecutadas por petición Aumentar rendimiento 100x Motivación
  • 8. Motivación Rendimiento por core se apalancaCoste de memoria disminuye $/GB de Memoria 1 10 100 1.000 10.000 100.000 1.000.000 1990 1991 1992 1993 1994 1994 1995 1996 1997 1998 1999 2000 2000 2001 2002 2004 2005 2007 2008 2009 2011 US$/GB 0 1 10 100 1.000 10.000 100.000 1.000.000 10.000.000 1970 1975 1980 1985 1990 1995 2000 2005 2010
  • 10. Agenda Motivación Arquitectura Uso de In-Memory OLTP Coexistencia con otras tecnlogías Aplicaciones prácticas
  • 11. In-Memory en motor relacional In-Memory OLTP • 5-30x rendimiento en OLTP • Integrado en SQL Server In-Memory DataWarehouse • 5-25x rendimiento • Elevada compression • Soporta clustered y escrituras SSD Buffer pool extension • Mejora transparente • Hasta 3x rendimiento Aplicación directa en cargas de trabajo Entornos OLTP altamente concurrentes Entornos BI con DW grandes y agregaciones masivas Entornos transaccionales sobre OnDisk de grandes volúmenes de datos
  • 12. Pilares de In-Memory OLTP Integracion completa • T-SQL conocido • Mismas herramientas • Integrado completamente en SQL Server (sin licencia extra) Optimizado para memoria RAM • Nuevas estructuras de almacenamiento • Sin Buffer Pool • Punteros a datos • Todo son índices de cobertura Alta concurrencia • Gestión de concurrencia optimista multiversion • Soporte ACID • Nuevo motor con algorimos lock-free • Sin latches T-SQL supereficiente • T-SQL compilado a código máquina en C • Los SP son DLL • Compilaciones superagresivas a código máquina
  • 13. Integración Memory-optimized table filegroup Data filegroup SQL Server.exe In-memory OLTP engine for memory- optimized tables and indexes TDS handler and session management Natively compiled SPs and schema Buffer pool for tables and indexes Proc/plan cache for ad-hoc T-SQL and SPs Transaction log Query interoperability Non-durable table T1 T4T3T2 T1 T4T3T2 T1 T4T3T2 T1 T4T3T2 Tables Indexes Interpreter for TSQL, query plans, expressions T1 T4T3T2 T1 T4T3T2 Checkpoint and recovery Access methods Parser, Catalog, Algebrizer, Optimizer In-Memory OLTP Compiler In-Memory OLTP component Key Existing SQL component Generated .dll Client app
  • 15. Concurrencia en In-Memory OLTP Sin bloqueos • Sin lock, latches • Sin deadlocks • Mínimo context switch • Requiere gestión de excepciones Multiversionado Alta concurrencia • Se consigue el máximo aprovechamiento HW • Cuanta mas carga, mayor rendimiento comparable • Solo se registran commits Aislamiento basado en snapshot • No se usa tempdb • Duplicación temporal de filas Concurrencia optimista
  • 16. Agenda Motivación Arquitectura Uso de In-Memory OLTP Coexistencia con otras tecnlogías Aplicaciones prácticas
  • 18. Aumentos de rendimiento In-Memory OLTP Compiler In-Memory OLTP component Memory-optimized table filegroup Data filegroup SQL Server.exe In-Memory OLTP engine for memory-optimized tables and indexes TDS handler and session management Natively compiled SPs and schema Buffer pool for tables and indexes Proc/plan cache for ad-hoc T- SQL and SPs Client app Transaction log Interpreter for TSQL, query plans, and expressions Query interop Access methods Parser, Catalog, Algebrizer, Optimizer 10-30x mas eficiente Reducción de consumo de log Checkpoints secuenciales y en background Sin mejoras en pila de llamadas, paso de parámetros o devolución de resultados Key Existing SQL component Generated .dll
  • 19. Aprovechamiento de In-Memory OLTP Modo interpretado • Hasta 3x de mejora de rendimiento • Cuidado, podemos empeorar • No requiere adaptar código • Sintaxis completa • Objetos in-memory y on-disk • Recomendado para: • Adhoc • Migraciones rápidas a In- Memory Modo Nativo • De 5x a 30x mejora de rendimiento • En el caso peor 2x • Adaptar stored procedures • Sintaxis limitada • Solo objetos in-memory • Recomendado para: • OLTP alto rendimiento • Logica de negocio crítica
  • 21. Agenda Motivación Arquitectura Uso de In-Memory OLTP Coexistencia con otras tecnologías Aplicaciones prácticas
  • 22. Soportado Parcialmente soportado No soportado • AlwaysON • FCI • Log Shipping • Resource Governor • Integration services • Dacpac y bacpack • Replicación transaccional (p2p no soportada) • Instancia: TDE, MARS, CDC (se puede pero no recomendado) • Objetos in-memory con Particionado, compresion, linked server, CT Soporte de In-Memory en SQL Server
  • 23. Tablas Procedimientos almacenados nativos • CASE • Subqueries • OR • Outer join • Funciones de Sistema limitadas a matematicas ,date/time y texto Limitaciones en In-Memory OLTP 2014 • Triggers DDL/DML • Tipos de datos LOB, XML o CLR • Foreign key o check constraints • ALTER TABLE • Añadir/quitar nuevos índices
  • 24. Agenda Motivación Arquitectura Uso de In-Memory OLTP Coexistencia con otras tecnologías Aplicaciones prácticas
  • 25. 26 Escenarios comunes de implementación In-Memory OLTP Alto volumen de inserción de datos Alto volumen de procesamiento durante inserción Alto volumen de lecturas Nuevos escenarios • Escenario “shock absorver” • Cargas masivas a DW • Escenarios con tablas staging • Similar al anterior • *Lógica compleja en SP • Caché transaccional • Gestion de sesiones • Zonas críticas que antes no se podían poner en base de datos relacional (generalmente por no poderse escalar verticalmente) • Sistemas altamente estresados por peticiones de lecturas • Las tablas de elevado % de lecturas pueden ser cuello de botella por LATCH_SH
  • 26. Conclusiones 27 • Nuevo motor totalmente integrado y sin coste añadido • Mejoras de rendimiento de hasta 30x • Permite exprimir eficientemente tu HW actual • Tus conocimientos T-SQL son perfectamente válidos