#SQSummit
@enriquecatala
Novedades de SQL Server 2014 en
Motor Relacional
Mentor
ecatala@solidq.com
MVP – MCT – MCSE
Enriq...
Agenda
2
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operaciones...
In-Memory motor relacional
En SQL Server 2014
4
In-Memory OLTP
• 5-30x rendimiento en
OLTP
• Integrado en SQL Server
In-Me...
Pilares In-Memory OLTP
5
Integracion completa
• T-SQL conocido
• Mismas herramientas
• Integrado
completamente en SQL
Serv...
DEMO
6
In-Memory OLTP
Agenda
7
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operaciones...
• Disco y memoria
• Integrado en el core
• Beneficios
• 10x-100x mas rápido
• Transparente
• Facil implantación
In-Memory ...
• Unidad básica de
transferencia disco-
memoria
• Contiene valores de una
sola columna
• Row Group=filas de varios
segment...
In-Memory DataWarehouse
10
• Clustered y actualizables NUEVO!
• Particionado NUEVO!
• Elevada compresión NUEVO!
• No es necesario más índices
• Pensa...
In-Memory DataWarehouse
Diferencias
12
NONCLUSTERED
columnstore
CLUSTERED
columnstore
• SQL Server 2014
• Write-read
• Est...
DEMO
13
In-Memory
DataWarehouse
In-Memory DataWarehouse
Compresión
14
19,7GB
10,9GB
5,0GB
4,0GB
6,9GB
1,8GB
TABLE WITH
CUSTOMARY
INDEXING
TABLE WITH
CUSTO...
Agenda
15
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operacione...
• Caché de segundo
nivel
• Optimización
transparente OLTP (3x-
10x)
• Durable
Buffer pool extension
16
ALTER SERVER CONFIG...
Buffer pool extension
17
Buffer pool extension
19
Beneficios
Buenas prácticas
• Tamaño hasta 1:32 RAM:BPE
• Recomendado 1:4 a 1:8
• Testear, impact...
Agenda
20
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operacione...
Resource Governor
21
Resource Governor
22
SQL Server 2012
• # Resource pools 64 (antes 20)
• AFFINITY para vincular a nodos NUMA
• Nuevo CAP_CP...
Resource Governor para IO
Nuevo!
23
CREATE RESOURCE POOL pool_name
[ WITH
( [ MIN_CPU_PERCENT = value ]
[ [ , ] MAX_CPU_PE...
DEMO
24
Resource Governor para IO
Agenda
25
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operacione...
Desafios resueltos en las VLT
Very Large Tables
26
Mantenimiento
Rendimiento
• Entorno transaccional
• Reportes
• Índices
...
DEMO
27
Desafios resueltos en las
VLT
Agenda
28
1. In-Memory OLTP
2. In-Memory DataWarehouse
3. Buffer Pool Extension
4. Resource Governor para IO
5. Operacione...
Relajado el proceso de envío de páginas
sucias a disco para tempdb
Tempdb
Por fin!
29
Select into … #tmp
• Bulk inserts
• ...
Cardinality estimator
El mayor cambio en el motor “OnDisk” desde SQL Server 7.0
30
• Aporta el nº de registros
involucrado...
• Se decide el algoritmo de obtención de
datos
• Malas interpretaciones producen
• Malos planes de ejecución
• Mal rendimi...
Cardinality estimator
Desde SQL Server 7.0 hasta SQL Server 2012
32
Independencia
• Distribución de datos
independiente de...
Threshold update statistics
En SQL Server 2008 R2 SP1
33
DEMO
35
-Tempdb
-Incremental statistics
Novedades en SQL Server 2014
Que no dan tiempo en esta sesión…
36
AlwaysON
• Hasta 8 secundarios
• 4 síncronos
• Soporte n...
Resumen
Exprime al máximo tu HW actual !!!
37
In-memory
• In-memory OLTP
• In-memory DW
• Buffer pool extension
Administra...
¿Preguntas?
38
¡Gracias!
Siéntate a comer con nosotros o tómate un café y aclara tus
dudas 
39
@enriquecatala
Mentor – MVP SQL Server
En...
Upcoming SlideShare
Loading in …5
×

Novedades de SQL Server 2014 en motor relacional

883 views

Published on

En esta sesión trataremos las novedades de SQL Server 2014 en el área de motor relacional. Trataremos en profunidad las siguientes tecnologías: Buffer Pool Extension, mejoras en Resource Governor 2.0, novedades en índices columnares indexes, mejoras en particionado, estadísticas e indexación

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
883
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Novedades de SQL Server 2014 en motor relacional

  1. 1. #SQSummit @enriquecatala Novedades de SQL Server 2014 en Motor Relacional Mentor ecatala@solidq.com MVP – MCT – MCSE Enrique Catalá Bañuls
  2. 2. Agenda 2 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras en motor On-Disk
  3. 3. In-Memory motor relacional En SQL Server 2014 4 In-Memory OLTP • 5-30x rendimiento en OLTP • Integrado en SQL Server In-Memory DataWarehouse • 5-25x rendimiento • Elevada compression • Soporta clustered y escrituras 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
  4. 4. Pilares In-Memory OLTP 5 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
  5. 5. DEMO 6 In-Memory OLTP
  6. 6. Agenda 7 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras en motor On-Disk
  7. 7. • Disco y memoria • Integrado en el core • Beneficios • 10x-100x mas rápido • Transparente • Facil implantación In-Memory DataWarehouse Columnar indexes 8 C 1 C 2 C 3 C 5 C 6 C 4 Columnstore Index Representation
  8. 8. • Unidad básica de transferencia disco- memoria • Contiene valores de una sola columna • Row Group=filas de varios segmentos • Cada segmento en LOB diferente In-Memory DataWarehouse Segmentos 9 C1 C2 C3 C5 C6C4 Row group Segments
  9. 9. In-Memory DataWarehouse 10
  10. 10. • Clustered y actualizables NUEVO! • Particionado NUEVO! • Elevada compresión NUEVO! • No es necesario más índices • Pensados para grandes volúmenes • Tabla en nuevo formato • No duplica espacio In-Memory DataWarehouse Beneficios 11
  11. 11. In-Memory DataWarehouse Diferencias 12 NONCLUSTERED columnstore CLUSTERED columnstore • SQL Server 2014 • Write-read • Estructura nueva de objeto • Contiene deltastore en rowstore temporal y deltas • SQL Server 2012+ • Readonly • Duplica espacio • Contiene subset de columnas
  12. 12. DEMO 13 In-Memory DataWarehouse
  13. 13. In-Memory DataWarehouse Compresión 14 19,7GB 10,9GB 5,0GB 4,0GB 6,9GB 1,8GB TABLE WITH CUSTOMARY INDEXING TABLE WITH CUSTOMARY INDEXING (PAGE COMPRESSION) TABLE WITH NO INDEXING TABLE WITH NO INDEXING (PAGE COMPRESSION) TABLE WITH COLUMNSTORE INDEX CLUSTERED COLUMNSTORE
  14. 14. Agenda 15 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras en motor On-Disk
  15. 15. • Caché de segundo nivel • Optimización transparente OLTP (3x- 10x) • Durable Buffer pool extension 16 ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION { ON ( FILENAME = 'os_file_path_and_name' , SIZE = <size> [ KB | MB | GB ] ) | OFF }
  16. 16. Buffer pool extension 17
  17. 17. Buffer pool extension 19 Beneficios Buenas prácticas • Tamaño hasta 1:32 RAM:BPE • Recomendado 1:4 a 1:8 • Testear, impacto negativo en escrituras • Transparencia • Maximizar ROI hardware actual • Minimizar cuellos de botella I/O • Más barato que RAM en grandes cantidades • Valido para Standard Edition
  18. 18. Agenda 20 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras en motor On-Disk
  19. 19. Resource Governor 21
  20. 20. Resource Governor 22 SQL Server 2012 • # Resource pools 64 (antes 20) • AFFINITY para vincular a nodos NUMA • Nuevo CAP_CPU_PERCENT • Se gobiernan multipage allocations (nuevo memory manager) SQL Server 2014 • Limitar IOPS por volumen
  21. 21. Resource Governor para IO Nuevo! 23 CREATE RESOURCE POOL pool_name [ WITH ( [ MIN_CPU_PERCENT = value ] [ [ , ] MAX_CPU_PERCENT = value ] [ [ , ] CAP_CPU_PERCENT = value ] [ [ , ] AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)} ] [ [ , ] MIN_MEMORY_PERCENT = value ] [ [ , ] MAX_MEMORY_PERCENT = value ] [ [ , ] MIN_IOPS_PER_VOLUME = value ] [ [ , ] MAX_IOPS_PER_VOLUME = value ]) ]
  22. 22. DEMO 24 Resource Governor para IO
  23. 23. Agenda 25 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras en motor On-Disk
  24. 24. Desafios resueltos en las VLT Very Large Tables 26 Mantenimiento Rendimiento • Entorno transaccional • Reportes • Índices • Estadísticas • Historificación • Espacio
  25. 25. DEMO 27 Desafios resueltos en las VLT
  26. 26. Agenda 28 1. In-Memory OLTP 2. In-Memory DataWarehouse 3. Buffer Pool Extension 4. Resource Governor para IO 5. Operaciones online 6. Mejoras motor On-Disk
  27. 27. Relajado el proceso de envío de páginas sucias a disco para tempdb Tempdb Por fin! 29 Select into … #tmp • Bulk inserts • Select into .. #tmp SORT_IN_TEMPDB • Creacion de índices con SORT_IN_TEMP_DB Tablas temporales en RAM en % elevado Optimización directa solo por migrar
  28. 28. Cardinality estimator El mayor cambio en el motor “OnDisk” desde SQL Server 7.0 30 • Aporta el nº de registros involucrados en la sentencia (en cada paso) • Estima el recuento de filas afectadas • Aporta distribución de valores • Aporta info distinct count • Aporta info sobre duplicados Estimarselectividaddelpredicado WHERE
  29. 29. • Se decide el algoritmo de obtención de datos • Malas interpretaciones producen • Malos planes de ejecución • Mal rendimiento de consultas Cardinality estimator El mayor cambio en el motor “OnDisk” desde SQL Server 7.0 31
  30. 30. Cardinality estimator Desde SQL Server 7.0 hasta SQL Server 2012 32 Independencia • Distribución de datos independiente de unos campos a otros salvo que se indique lo contrario Uniformidad • Los valores se distribuyen uniformemente Contenido • Si algo se busca será porque existe • Si una table se cruza, será porque existe el dato en ambas • El rango menor se asume contenido en el mayorInclusión • En equijoin se assume que el valor existe ¿Acaso eso sucede?
  31. 31. Threshold update statistics En SQL Server 2008 R2 SP1 33
  32. 32. DEMO 35 -Tempdb -Incremental statistics
  33. 33. Novedades en SQL Server 2014 Que no dan tiempo en esta sesión… 36 AlwaysON • Hasta 8 secundarios • 4 síncronos • Soporte nativo para cloud • Leer secundarios con principal caido Gestión • Backups autogestionados • Herramientas de análisis para migrar a In-Memory • Mejor soporte ExtendedEvents • Estadísticas incrementales Entornos híbridos • Atachar ficheros de BBDD en cloud • Backups a la nube • Migración a la nube Con WS2012 R2 • 640 Cores • 4Tb de RAM • Virtual • 64 cores y 1Tb ram • Soporte SMB Direct 3.0 Seguridad • Cifrado de backups • Nuevos roles y permisos granulares Desarrollo • SQL Server Data Tools • Ahora para BI
  34. 34. Resumen Exprime al máximo tu HW actual !!! 37 In-memory • In-memory OLTP • In-memory DW • Buffer pool extension Administración • Mejoras en operaciones online • Resource governor para IO On-disk • Nuevo cardinality estimator • Reescritura de componente clave planes ejecución • Estadísticas incrementales La mayor actualización desde SQL Server 2005 Escalabilidad vertical Mejorar disponibilidad del dato Migrar == optimizar¿? 
  35. 35. ¿Preguntas? 38
  36. 36. ¡Gracias! Siéntate a comer con nosotros o tómate un café y aclara tus dudas  39 @enriquecatala Mentor – MVP SQL Server Enrique Catalá Bañuls

×