SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Microsoft Data Platform
Avanet
Jose Redondo
Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
redondoj@gmail.com | @redondoj | redondoj.wordpress.com
In-Memory OLTP en SQL Server 2016
Expositor
• Data Architect
• BI Expert, Data Analysis & Big Data
• Dev Client, Web & Database .NET - Java
• Dev – DBA Microsoft, SyBase, IBM & Oracle
• Speaker Latam “Microsoft, Avanet, FirstCloud,
ShareCol” & USA “ITProCamp”
• SQL Server MCP – MSTS – MTA
• Contributing Technical Reviewer Packt Publishing
Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
In-Memory OLTP en
SQL Server 2016
Agenda
• Fundamentos básicos de In-
Memory OLTP
• Primera etapa:
• In-Memory OLTP en
Microsoft SQL Server 2014
• Etapa siguiente:
• La siguiente ruta: In-Memory
OLTP en Microsoft SQL
Server 2016
Fundamentos básicos de
In-Memory OLTP
Preferencias de Hardware
1
10
100
1000
10000
100000
1000000
1990
1991
1992
1993
1994
1994
1995
1996
1997
1998
1999
2000
2000
2001
2002
2004
2005
2007
2008
2009
2011
US$/GB
$ Por GB de PC Class Memory
Según La Ley de Moore, el poder de
procesamiento total de la CPU se mantiene
PERO en el procesamiento paralelo...
La velocidad del CPU se
tarificaría no ajustadamente
Porque los procesadores
generarian problemas
Mientras tanto
continúa
bajando costo
de la memoria
RAM
Las nuevas CPU no
permitirán ejecutar
una transacción corta
mas rápido
Arquitectura
Integración de SQL Server
• Misma experiencia de
gestión, administración y
desarrollo
• Consultas y transacciones
Integradas
• 'HA' (High Availability)
integrada y
Backup/Restore
Memoria principal
optimizada
• Punteros directos a filas
• Índices sólo existen en
memoria
• Sin pool en buffers
• Sin registro de escritura
anticipada
• Almacenamiento de
información basada en
Stream
Ejecución sin bloqueo
• Multi-versión de control
de concurrencia
optimista, soporte
completo de ACID
• Estructuras de datos sin
bloqueo
• Sin bloqueos, latches o
spinlocks,
• Ninguna I/O en
transacción
T-SQL compilado en
código máquina nativo
• T-SQL compilado a
código máquina
aprovechando el
compilador de VC
• Procedimiento y sus
queries, se convierte en
una función de C
• Optimizaciones de
tiempo de compilación
agresivas
ArquitecturaSolución
Motor híbrido y
experiencia integrado
Velocidad de caché en
memoria con capacidades
de una base de datos
Las transacciones se
ejecutan hasta el final sin
bloqueos
Queries y la lógica de
negocio funcionan a la
velocidad de código nativo
Bases
Datos de rendimiento
crítico se adaptan en la
memoria
Los conflictos son poco
comunes
Fuerza de decisión en
tiempo de compilación
Integrado
Primera etapa:
In-Memory OLTP en Microsoft
SQL Server 2014
SQL Server 2014 In-Memory OLTP
• Anteriormente llamado
“Hekaton” en fase beta.
• Liberado en SQL
Server 2014
SQL Server 2014 In-Memory OLTP
• Valor agregado:
• Rendimiento OLTP
(Hasta 30x) debido a
• Alta escalabilidad:
Arquitectura sin
bloqueos ni
obstrucciones
permitiendo
escalamiento lineal
• Acceso eficiente a datos
y Procesamiento de
consultas: Estructuras de
datos en memoria
optimizada y
compilación nativa
SQL Server 2014 In-Memory OLTP
• Valor agregado:
• Integrado en SQL Server
permitiendo reducción del
TCO
• Parte de la edición Enterprise
• La misma base de datos puede
estar tanto en la memoria así
como en disco
• Experiencia integrada tanto del
desarrollador así como del
DBA: T-SQL, Client Stack,
Tooling, Backup/Restore,
AlwaysOn...
SQL Server 2014 In-Memory OLTP
• Escenarios vitales: Aplicaciones
OLTP de alto rendimiento y
escalado
Conjunto de características de SQL 2014
• Tablas optimizadas en
Memoria
• Tablas perdurables
(Predeterminado) están
completamente
conectadas y persistente
• Tablas no duraderas
fungiendo como
"geniales" tablas
temporales globales en
base de datos de usuario
Conjunto de características de SQL 2014
• Procedimientos Almacenados
nativamente compilados
• Comandos comunes SQL bajo
escenarios OLTP (Select - Insert
- Delete - Update), Manejo de
excepciones de errores y más
• Operadores más utilizados,
órdenes internas (MATH, String,
Identity) entre otros
• Ejecución de consultas
comunes – Joins, GroupBy,
OrderBy, TOP, SORT, Table,
Query, Join Hints y muchas
más
Conjunto de características de SQL 2014
• Interoperabilidad en el acceso a tablas de memoria optimizada
• Area de superficie de los queries T-SQL casi completa
Conjunto de características de SQL 2014
• Tipos de tabla optimizada en memoria
• Utilizar variables de tabla de memoria optimizado para mitigar la contención de TempDB
Casos de Éxito
7x rendimiento más rápido
Permite actualizaciones en tiempo real
16x mas transacciones por segundo &
340x de reducción en tiempos
visualizado con In-Memory
Con In-Memory OLTP
& ColumnStore
Antes
Gaming App Gaming App ReportingReporting
Reports in
17 min
15,000
requests/sec
Reports in
3 sec
250,000
requests/sec
Ajuste por registro validando relación
Costo-Beneficio con tecnología In-Memory
40%
de costo
800%
de ejecución
teniendo una ganancia con
el mismo HW
en rendimiento en
la misma
configuración
4x
de ejecución
24x
de incremento
40%
de costo
Demo
Etapa siguiente:
La siguiente ruta: In-Memory OLTP
en
Microsoft
SQL Server 2016
SQL Server 2014
Limitación: Tamaño de la sostenibilidad y persistencia de una
tabla en una base de datos <= 256 GB
Desafío del Cliente:
Tamaño de tablas en memoria
Desafío
• El rendimiento critico de mi(s) tabla(s) requerirá > 256GB
• El rendimiento critico de mis tablas son de < 256GB PERO pueden
excederse a este limite en el futuro
Desafío del Cliente:
Tamaño de tablas en memoria
SQL Server 2016
• Soporta 2TB de sostenibilidad por tabla(s) en la base de
datos
• Cliente puede resolver la limitación de tamaño mediante la
adición de más memoria al servidor físico
Desafío del Cliente:
Tamaño de tablas en memoria
SQL Server 2014
Desafío: Almacenamiento de registros eliminados que son
recolectado de la basura
Es lento debido al paso adicional con FileStream
Desafío del Cliente:
Administración de almacenamiento de información
SQL Server 2016
• Gestión de almacenamiento es disociada del FileStream
• Archivo(s) no utilizado(s) se puede volver a utilizar
inmediatamente después de que se hace referencia en el
registro de transacciones (Log Transaction)
Desafío del Cliente:
Administración de almacenamiento de información
SQL Server 2014
Limitación: No la Encriptación de Datos
Transparente (TDE)
Desafío del Cliente: Seguridad (TDE)
Desafío
• Mis tablas de rendimiento crítico tienen información
sensible que debe ser protegida mediante TDE
Desafío del Cliente: Seguridad (TDE)
SQL Server 2016
• Soportes de TDE para las tablas de memoria optimizadas
• Actualización de base de datos :
• Turn off
• TDE ->
• Drop the keys ->
• Create New keys->
• Turn on
Desafío del Cliente: Seguridad (TDE)
•SQL Server 2014
Limitación: Escala limitada > (2 socket/64-cores)
Desafío del cliente: Escala de almacenamiento
Single Offline Checkpoint Thread
Del Tran2
(TS 450)
Del Tran3
(TS 250)
Del Tran1
(TS150)
Insert into
Hekaton T1
Log in SQL
Table
Del Tran1
(TS150)
Del Tran2
(TS 450)
Del Tran3
(TS 250)
Insert into
Hekaton T1
SQL
Transaction
Log
Disco
SQL Server 2016
• Múltiples hilos Checkpoint fuera de línea (Offline)
• Uno por contenedor
Desafío del cliente: Escala de almacenamiento
Single Offline Checkpoint Thread
Del Tran2
(TS 450)
Del Tran3
(TS 250)
Del Tran1
(TS150)
Insert into
Hekaton T1
Log in SQL
Table
Del Tran1
(TS150)
Del Tran2
(TS 450)
Del Tran3
(TS 250)
Insert into
Hekaton T1
SQL
Transaction
Log
Disco
Single Offline Checkpoint Thread Single Offline Checkpoint Thread
Incrementa la Compatibilidad
Retos y Desafíos de las Aplicaciones
• Desarrollo o Modificación de las
aplicaciones actuales
• Métodos iterativo Agile de
desarrollo
• Tuning de bases de datos de las
aplicaciones
• Respondiendo a los cambios de
patrones de datos
• Necesidad de ser capaces de
modificar los Schema de las
base de datos
Soporte al comando T-SQL “ALTER”
• ALTER PROC y sp_recompile
suportado
• Online
• ALTER TABLE para Schema y
cambios en los índices
• Soporte en los cambios
completos de Schema:
• Add
• Alter
• Drop Column
• Constraint
Soporte al comando T-SQL “ALTER”
• Operaciones de Índices
• Add/Drop de índices soportados
• Cambios en los índices HASH
bucket_count a través de la
ejecución del comando REBUILD
• Nueva sintaxis para ALTER TABLE ….
ADD/DROP/ALTER INDEX
• ALTER TABLE es una operación
fuera de línea; requiere 2X de
memoria
• sp_rename todavía no esta
soportado
Demos
Desafío:
Informes de consultas de tablas en memoria
• SQL Server 2014 utiliza planes de ejecución (Consultas) de
serie para todas las consultas tocando tablas In-Memory
Desafío:
Informes de consultas de tablas en memoria
• SQL Server 2016 ahora permite consultas que tocan tablas
In-Memory utilizando planes paralelos.
Convirtiendo aplicaciones existente
• {LEFT|RIGHT} OUTER JOIN
• Disjunction (OR, NOT)
• UNION [ALL]
• SELECT DISTINCT
• Subqueries (EXISTS, IN, scalar)
• FOREIGN KEY
• CHECK
• UNIQUE constraints and indexes
• Nested Stored procedures (EXECUTE)
• Natively compiled scalar UDFs
• Indexes on NULLable columns
Validaciones personalizadas
• DML Triggers en tablas en memoria optimizadas
• AFTER Triggers, Nativamente compilado
Código generado con Entity-Framework y
aplicaciones ISV (Independent Software Vendor)
• Multiple Active Result Sets (MARS)
• Soporte en el diseñador de tablas en SSMS
Cómodo escenario para Migración de
aplicaciones
• Migración asistida para Procedimientos Almacenados
• Asistente de migración indican que limitaciones son fáciles, y
cuales serían las difíciles de solucionar
• Soporte del analizador de mejores prácticas
Amplia gama de soporte para el
Collation e Idiomas
• Collations no aplicable "BIN2" en columnas de clave de
índice
• Code Pages no aplicable "Latin" para columnas (VAR)Char
• Collations no aplicable "BIN2" para comparaciones y
clasificaciones en módulos nativos
Aumento de capacidades de la Plataforma
• In-Memory OLTP en Azure SQL DB
• Ahora como Private Preview
• Este verano como Public Preview
Mejoras In-Memory
Análisis operacional & Mejora del rendimiento
Mejoras In-Memory
Análisis operacional & Mejora del rendimiento
Demo
Preguntas & Respuestas
Jose Redondo
Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
redondoj@gmail.com | @redondoj | redondoj.wordpress.com
In-Memory OLTP en SQL Server 2016

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
Recuperación ante desastres y continuidad del negocio con Azure SQL Database
Recuperación ante desastres y continuidad del negocio con Azure SQL DatabaseRecuperación ante desastres y continuidad del negocio con Azure SQL Database
Recuperación ante desastres y continuidad del negocio con Azure SQL Database
 
Que hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesQue hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis Services
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Introducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query ProcessorIntroducción Procesador Consultas SQL Server - Query Processor
Introducción Procesador Consultas SQL Server - Query Processor
 
TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005
 
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
 
Consideraciones de sql server hardware
Consideraciones de sql server hardwareConsideraciones de sql server hardware
Consideraciones de sql server hardware
 
Query store
Query storeQuery store
Query store
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Query store
Query storeQuery store
Query store
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracle
 
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosMS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
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
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 

Andere mochten auch

257.propuestas.m.mateos
257.propuestas.m.mateos257.propuestas.m.mateos
257.propuestas.m.mateos
NETWORKVIAL
 
Power point. comp. linguistica
Power point. comp. linguisticaPower point. comp. linguistica
Power point. comp. linguistica
belenrojasucjc
 
Lasik Center - Dossier Corporativo
Lasik Center - Dossier CorporativoLasik Center - Dossier Corporativo
Lasik Center - Dossier Corporativo
Lasik Center
 
Cv m. parma 2013 marcas & portfolio
Cv m. parma 2013   marcas & portfolioCv m. parma 2013   marcas & portfolio
Cv m. parma 2013 marcas & portfolio
Maximiliano Parma
 
FINAL WEB version BHF Community Report 2015
FINAL WEB version BHF Community Report 2015FINAL WEB version BHF Community Report 2015
FINAL WEB version BHF Community Report 2015
Frances Sheehan, CAP®
 
Blog latihan adab
Blog latihan adabBlog latihan adab
Blog latihan adab
Aml Hayaati
 
Zenith bank annual report 2009
Zenith bank annual report 2009Zenith bank annual report 2009
Zenith bank annual report 2009
Michael Olafusi
 
Getting users to care about security
Getting users to care about securityGetting users to care about security
Getting users to care about security
Alison Gianotto
 

Andere mochten auch (20)

In-Memory OLTP en SQL Server 2014
In-Memory OLTP en SQL Server 2014In-Memory OLTP en SQL Server 2014
In-Memory OLTP en SQL Server 2014
 
Resume
Resume Resume
Resume
 
257.propuestas.m.mateos
257.propuestas.m.mateos257.propuestas.m.mateos
257.propuestas.m.mateos
 
Power point. comp. linguistica
Power point. comp. linguisticaPower point. comp. linguistica
Power point. comp. linguistica
 
Taller gestión tiempo
Taller gestión tiempoTaller gestión tiempo
Taller gestión tiempo
 
Lasik Center - Dossier Corporativo
Lasik Center - Dossier CorporativoLasik Center - Dossier Corporativo
Lasik Center - Dossier Corporativo
 
Beethoven’s 4 rules of success in business
Beethoven’s 4 rules of success in businessBeethoven’s 4 rules of success in business
Beethoven’s 4 rules of success in business
 
Cv m. parma 2013 marcas & portfolio
Cv m. parma 2013   marcas & portfolioCv m. parma 2013   marcas & portfolio
Cv m. parma 2013 marcas & portfolio
 
máquina de turing
máquina de turingmáquina de turing
máquina de turing
 
FINAL WEB version BHF Community Report 2015
FINAL WEB version BHF Community Report 2015FINAL WEB version BHF Community Report 2015
FINAL WEB version BHF Community Report 2015
 
Economía 2016 unidad 2
Economía  2016 unidad 2Economía  2016 unidad 2
Economía 2016 unidad 2
 
Sistemas tecnológicos
Sistemas tecnológicosSistemas tecnológicos
Sistemas tecnológicos
 
Que es duolingo jennifer
Que es duolingo jenniferQue es duolingo jennifer
Que es duolingo jennifer
 
Uow 2008 Project Managementfinal
Uow 2008  Project ManagementfinalUow 2008  Project Managementfinal
Uow 2008 Project Managementfinal
 
Blog latihan adab
Blog latihan adabBlog latihan adab
Blog latihan adab
 
Zenith bank annual report 2009
Zenith bank annual report 2009Zenith bank annual report 2009
Zenith bank annual report 2009
 
Getting users to care about security
Getting users to care about securityGetting users to care about security
Getting users to care about security
 
Presentación mutaciones
Presentación mutacionesPresentación mutaciones
Presentación mutaciones
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Trabajo Final Mca 13 Slm.
Trabajo Final Mca 13 Slm.Trabajo Final Mca 13 Slm.
Trabajo Final Mca 13 Slm.
 

Ähnlich wie In-Memory OLTP en SQL Server 2016

Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Introducción a bases de datos en memoria oltp
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 Caraballo
 

Ähnlich wie In-Memory OLTP en SQL Server 2016 (20)

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...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
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
 
Casos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerCasos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL Server
 
In memory
In memoryIn memory
In memory
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
Tech day sql server 2014 nuevas características - g-taylor
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-taylor
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014
 
Column stored index
Column stored index Column stored index
Column stored index
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
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
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Carbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareCarbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshare
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Introducción a bases de datos en memoria oltp
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
 

Mehr von Joseph Lopez

Mehr von Joseph Lopez (20)

Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
Microsoft Azure Data Environment
Microsoft Azure Data EnvironmentMicrosoft Azure Data Environment
Microsoft Azure Data Environment
 
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual MachineAplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
 
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
 
Aplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas HibridosAplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas Hibridos
 
Performance Tuning en Azure SQL Database
Performance Tuning en Azure SQL DatabasePerformance Tuning en Azure SQL Database
Performance Tuning en Azure SQL Database
 
Tablas temporales en SQL Server 2016 y Azure SQL Database v12
Tablas temporales en SQL Server 2016 y Azure SQL Database v12Tablas temporales en SQL Server 2016 y Azure SQL Database v12
Tablas temporales en SQL Server 2016 y Azure SQL Database v12
 
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...
 
DBA para SharePoint
DBA para SharePointDBA para SharePoint
DBA para SharePoint
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
 
Introduccion a Power BI
Introduccion a Power BIIntroduccion a Power BI
Introduccion a Power BI
 
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
 
Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?
 
Introduccion a las Bodegas de Datos
Introduccion a las Bodegas de DatosIntroduccion a las Bodegas de Datos
Introduccion a las Bodegas de Datos
 
Microsoft Azure SQL Database
Microsoft Azure SQL DatabaseMicrosoft Azure SQL Database
Microsoft Azure SQL Database
 
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
 
Configurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business IntelligenceConfigurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business Intelligence
 
Generando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big DataGenerando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big Data
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (15)

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
 
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
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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
 
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
 
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
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

In-Memory OLTP en SQL Server 2016

  • 1.
  • 2. Microsoft Data Platform Avanet Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com In-Memory OLTP en SQL Server 2016
  • 3. Expositor • Data Architect • BI Expert, Data Analysis & Big Data • Dev Client, Web & Database .NET - Java • Dev – DBA Microsoft, SyBase, IBM & Oracle • Speaker Latam “Microsoft, Avanet, FirstCloud, ShareCol” & USA “ITProCamp” • SQL Server MCP – MSTS – MTA • Contributing Technical Reviewer Packt Publishing Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
  • 4. In-Memory OLTP en SQL Server 2016
  • 5. Agenda • Fundamentos básicos de In- Memory OLTP • Primera etapa: • In-Memory OLTP en Microsoft SQL Server 2014 • Etapa siguiente: • La siguiente ruta: In-Memory OLTP en Microsoft SQL Server 2016
  • 7. Preferencias de Hardware 1 10 100 1000 10000 100000 1000000 1990 1991 1992 1993 1994 1994 1995 1996 1997 1998 1999 2000 2000 2001 2002 2004 2005 2007 2008 2009 2011 US$/GB $ Por GB de PC Class Memory Según La Ley de Moore, el poder de procesamiento total de la CPU se mantiene PERO en el procesamiento paralelo... La velocidad del CPU se tarificaría no ajustadamente Porque los procesadores generarian problemas Mientras tanto continúa bajando costo de la memoria RAM Las nuevas CPU no permitirán ejecutar una transacción corta mas rápido
  • 8. Arquitectura Integración de SQL Server • Misma experiencia de gestión, administración y desarrollo • Consultas y transacciones Integradas • 'HA' (High Availability) integrada y Backup/Restore Memoria principal optimizada • Punteros directos a filas • Índices sólo existen en memoria • Sin pool en buffers • Sin registro de escritura anticipada • Almacenamiento de información basada en Stream Ejecución sin bloqueo • Multi-versión de control de concurrencia optimista, soporte completo de ACID • Estructuras de datos sin bloqueo • Sin bloqueos, latches o spinlocks, • Ninguna I/O en transacción T-SQL compilado en código máquina nativo • T-SQL compilado a código máquina aprovechando el compilador de VC • Procedimiento y sus queries, se convierte en una función de C • Optimizaciones de tiempo de compilación agresivas ArquitecturaSolución Motor híbrido y experiencia integrado Velocidad de caché en memoria con capacidades de una base de datos Las transacciones se ejecutan hasta el final sin bloqueos Queries y la lógica de negocio funcionan a la velocidad de código nativo Bases Datos de rendimiento crítico se adaptan en la memoria Los conflictos son poco comunes Fuerza de decisión en tiempo de compilación Integrado
  • 9. Primera etapa: In-Memory OLTP en Microsoft SQL Server 2014
  • 10. SQL Server 2014 In-Memory OLTP • Anteriormente llamado “Hekaton” en fase beta. • Liberado en SQL Server 2014
  • 11. SQL Server 2014 In-Memory OLTP • Valor agregado: • Rendimiento OLTP (Hasta 30x) debido a • Alta escalabilidad: Arquitectura sin bloqueos ni obstrucciones permitiendo escalamiento lineal • Acceso eficiente a datos y Procesamiento de consultas: Estructuras de datos en memoria optimizada y compilación nativa
  • 12. SQL Server 2014 In-Memory OLTP • Valor agregado: • Integrado en SQL Server permitiendo reducción del TCO • Parte de la edición Enterprise • La misma base de datos puede estar tanto en la memoria así como en disco • Experiencia integrada tanto del desarrollador así como del DBA: T-SQL, Client Stack, Tooling, Backup/Restore, AlwaysOn...
  • 13. SQL Server 2014 In-Memory OLTP • Escenarios vitales: Aplicaciones OLTP de alto rendimiento y escalado
  • 14. Conjunto de características de SQL 2014 • Tablas optimizadas en Memoria • Tablas perdurables (Predeterminado) están completamente conectadas y persistente • Tablas no duraderas fungiendo como "geniales" tablas temporales globales en base de datos de usuario
  • 15. Conjunto de características de SQL 2014 • Procedimientos Almacenados nativamente compilados • Comandos comunes SQL bajo escenarios OLTP (Select - Insert - Delete - Update), Manejo de excepciones de errores y más • Operadores más utilizados, órdenes internas (MATH, String, Identity) entre otros • Ejecución de consultas comunes – Joins, GroupBy, OrderBy, TOP, SORT, Table, Query, Join Hints y muchas más
  • 16. Conjunto de características de SQL 2014 • Interoperabilidad en el acceso a tablas de memoria optimizada • Area de superficie de los queries T-SQL casi completa
  • 17. Conjunto de características de SQL 2014 • Tipos de tabla optimizada en memoria • Utilizar variables de tabla de memoria optimizado para mitigar la contención de TempDB
  • 19. 7x rendimiento más rápido Permite actualizaciones en tiempo real
  • 20. 16x mas transacciones por segundo & 340x de reducción en tiempos visualizado con In-Memory Con In-Memory OLTP & ColumnStore Antes Gaming App Gaming App ReportingReporting Reports in 17 min 15,000 requests/sec Reports in 3 sec 250,000 requests/sec
  • 21. Ajuste por registro validando relación Costo-Beneficio con tecnología In-Memory 40% de costo 800% de ejecución teniendo una ganancia con el mismo HW en rendimiento en la misma configuración 4x de ejecución 24x de incremento 40% de costo
  • 22. Demo
  • 23. Etapa siguiente: La siguiente ruta: In-Memory OLTP en Microsoft SQL Server 2016
  • 24. SQL Server 2014 Limitación: Tamaño de la sostenibilidad y persistencia de una tabla en una base de datos <= 256 GB Desafío del Cliente: Tamaño de tablas en memoria
  • 25. Desafío • El rendimiento critico de mi(s) tabla(s) requerirá > 256GB • El rendimiento critico de mis tablas son de < 256GB PERO pueden excederse a este limite en el futuro Desafío del Cliente: Tamaño de tablas en memoria
  • 26. SQL Server 2016 • Soporta 2TB de sostenibilidad por tabla(s) en la base de datos • Cliente puede resolver la limitación de tamaño mediante la adición de más memoria al servidor físico Desafío del Cliente: Tamaño de tablas en memoria
  • 27. SQL Server 2014 Desafío: Almacenamiento de registros eliminados que son recolectado de la basura Es lento debido al paso adicional con FileStream Desafío del Cliente: Administración de almacenamiento de información
  • 28. SQL Server 2016 • Gestión de almacenamiento es disociada del FileStream • Archivo(s) no utilizado(s) se puede volver a utilizar inmediatamente después de que se hace referencia en el registro de transacciones (Log Transaction) Desafío del Cliente: Administración de almacenamiento de información
  • 29. SQL Server 2014 Limitación: No la Encriptación de Datos Transparente (TDE) Desafío del Cliente: Seguridad (TDE)
  • 30. Desafío • Mis tablas de rendimiento crítico tienen información sensible que debe ser protegida mediante TDE Desafío del Cliente: Seguridad (TDE)
  • 31. SQL Server 2016 • Soportes de TDE para las tablas de memoria optimizadas • Actualización de base de datos : • Turn off • TDE -> • Drop the keys -> • Create New keys-> • Turn on Desafío del Cliente: Seguridad (TDE)
  • 32. •SQL Server 2014 Limitación: Escala limitada > (2 socket/64-cores) Desafío del cliente: Escala de almacenamiento Single Offline Checkpoint Thread Del Tran2 (TS 450) Del Tran3 (TS 250) Del Tran1 (TS150) Insert into Hekaton T1 Log in SQL Table Del Tran1 (TS150) Del Tran2 (TS 450) Del Tran3 (TS 250) Insert into Hekaton T1 SQL Transaction Log Disco
  • 33. SQL Server 2016 • Múltiples hilos Checkpoint fuera de línea (Offline) • Uno por contenedor Desafío del cliente: Escala de almacenamiento Single Offline Checkpoint Thread Del Tran2 (TS 450) Del Tran3 (TS 250) Del Tran1 (TS150) Insert into Hekaton T1 Log in SQL Table Del Tran1 (TS150) Del Tran2 (TS 450) Del Tran3 (TS 250) Insert into Hekaton T1 SQL Transaction Log Disco Single Offline Checkpoint Thread Single Offline Checkpoint Thread
  • 35. Retos y Desafíos de las Aplicaciones • Desarrollo o Modificación de las aplicaciones actuales • Métodos iterativo Agile de desarrollo • Tuning de bases de datos de las aplicaciones • Respondiendo a los cambios de patrones de datos • Necesidad de ser capaces de modificar los Schema de las base de datos
  • 36. Soporte al comando T-SQL “ALTER” • ALTER PROC y sp_recompile suportado • Online • ALTER TABLE para Schema y cambios en los índices • Soporte en los cambios completos de Schema: • Add • Alter • Drop Column • Constraint
  • 37. Soporte al comando T-SQL “ALTER” • Operaciones de Índices • Add/Drop de índices soportados • Cambios en los índices HASH bucket_count a través de la ejecución del comando REBUILD • Nueva sintaxis para ALTER TABLE …. ADD/DROP/ALTER INDEX • ALTER TABLE es una operación fuera de línea; requiere 2X de memoria • sp_rename todavía no esta soportado
  • 38. Demos
  • 39. Desafío: Informes de consultas de tablas en memoria • SQL Server 2014 utiliza planes de ejecución (Consultas) de serie para todas las consultas tocando tablas In-Memory
  • 40. Desafío: Informes de consultas de tablas en memoria • SQL Server 2016 ahora permite consultas que tocan tablas In-Memory utilizando planes paralelos.
  • 41. Convirtiendo aplicaciones existente • {LEFT|RIGHT} OUTER JOIN • Disjunction (OR, NOT) • UNION [ALL] • SELECT DISTINCT • Subqueries (EXISTS, IN, scalar) • FOREIGN KEY • CHECK • UNIQUE constraints and indexes • Nested Stored procedures (EXECUTE) • Natively compiled scalar UDFs • Indexes on NULLable columns
  • 42. Validaciones personalizadas • DML Triggers en tablas en memoria optimizadas • AFTER Triggers, Nativamente compilado
  • 43. Código generado con Entity-Framework y aplicaciones ISV (Independent Software Vendor) • Multiple Active Result Sets (MARS) • Soporte en el diseñador de tablas en SSMS
  • 44. Cómodo escenario para Migración de aplicaciones • Migración asistida para Procedimientos Almacenados • Asistente de migración indican que limitaciones son fáciles, y cuales serían las difíciles de solucionar • Soporte del analizador de mejores prácticas
  • 45. Amplia gama de soporte para el Collation e Idiomas • Collations no aplicable "BIN2" en columnas de clave de índice • Code Pages no aplicable "Latin" para columnas (VAR)Char • Collations no aplicable "BIN2" para comparaciones y clasificaciones en módulos nativos
  • 46. Aumento de capacidades de la Plataforma • In-Memory OLTP en Azure SQL DB • Ahora como Private Preview • Este verano como Public Preview
  • 47. Mejoras In-Memory Análisis operacional & Mejora del rendimiento
  • 48. Mejoras In-Memory Análisis operacional & Mejora del rendimiento
  • 49. Demo
  • 51. Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com