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...
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 cuanto a escalabilidad entre muchas otras.
Size: 10.11 MB
Language: es
Added: Jul 22, 2015
Slides: 52 pages
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