In-Memory OLTP en SQL Server 2016

1,628 views 52 slides Jul 22, 2015
Slide 1
Slide 1 of 52
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52

About This Presentation

En esta sesión, exploraremos las inversiones de todas las características referente a la tecnología In-Memory OLTP en Microsoft SQL Server tanto On-Premises así como en la nube, incluyendo el T-SQL Surface Area, Los Procedimientos Almacenados nativamente compilados, así como las mejoras en cuan...


Slide Content

Microsoft Data Platform Avanet Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ [email protected] | @redondoj | redondoj.wordpress.com In-Memory OLTP en SQL Server 2016

Expositor Data Architect BI Expert, Data A nalysis & 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 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 Arquitectura Solució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 S tack, Tooling, Backup/ R estore, 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

Solución Antes Con tecnología In-Memory Sincronización asincrónica diaria Minoristas en línea Cercano a la sincronización en tiempo real Minoristas en línea Clientes Clientes 7x rendimiento más rápido Permite actualizaciones en tiempo real Desafío para el negocio Proveedor de SaaS (Software como un servicio - Software as a Service) para grandes minoristas que quiso aumentar la velocidad de actualización de la disponibilidad de inventario sin bloqueo de consultas para mejorar la satisfacción del cliente Beneficios claves Aumento de las ventas con mayor rendimiento y satisfacción del cliente mejorada 7x de rendimiento habilita en tiempo real actualizaciones de existencias e inventarios Los clientes pueden acceder a los datos durante las actualizaciones

16x mas transacciones por segundo & 340x de reducción en tiempos visualizado con In-Memory Con I n-Memory OLTP & ColumnStore Antes Solution Gaming App Gaming App Reporting Reporting 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 Considera incremento del 800% en solicitudes por segundo como ganancias utilizando In-Memory OLTP de SQL Server bajo IBM System x3850 X6 en rendimiento en la misma configuración 24x de incremento en rendimiento con LSI Nytro WarpDrive y SQL Server 2014 In-Memory OLTP en comparación con la misma configuración con SQL Server 2012 Mayor rendimiento de SQL Server 2014 In-Memory OLTP bajo 4x con ioDrive2 Duo 2.4TB HW 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 T ransparente (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 S chema y cambios en los índices Soporte en los cambios completos de Schema: Add Alter Drop C olumn Constraint

Soporte al comando T-SQL “ALTER” Operaciones de Índices Add/ D rop 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 T riggers, 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- M emory Análisis operacional & Mejora del rendimiento Capacidad Índice Columnar In-Memory por encima de In-Memory/Disk basado en las mejoras de las tablas OLTP Mejoras en la ejecución del área superficial T-SQL Escala para establecer un mayor calculo computacional y en la memoria a disponer en un escenario especifico Misión de rendimiento crítico

Mejoras In-Memory Análisis operacional & Mejora del rendimiento Benefic i os A diferencia de la competencia, usted obtiene análisis operacional 30x de transacciones más rápidas 100x en el resultado de sus consultas In- M emory más para sus aplicaciones Misión de rendimiento crítico

Demo

Preguntas & Respuestas

Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ [email protected] | @redondoj | redondoj.wordpress.com