+ All Categories
Home > Technology > Novedades de SQL Server 2014 en motor relacional

Novedades de SQL Server 2014 en motor relacional

Date post: 09-Jul-2015
Category:
Upload: enrique-catala-banuls
View: 446 times
Download: 0 times
Share this document with a friend
Description:
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
Popular Tags:
36
#SQSummit @enriquecatala Novedades de SQL Server 2014 en Motor Relacional Mentor [email protected] MVP – MCT – MCSE Enrique Catalá Bañuls
Transcript
Page 1: Novedades de SQL Server 2014 en motor relacional

#SQSummit

@enriquecatala

Novedades de SQL Server 2014 en

Motor Relacional

Mentor

[email protected]

MVP – MCT – MCSE

Enrique Catalá Bañuls

Page 2: Novedades de SQL Server 2014 en motor relacional

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

Page 3: Novedades de SQL Server 2014 en motor relacional

In-Memory motor relacionalEn 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

Page 4: Novedades de SQL Server 2014 en motor relacional

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

Page 5: Novedades de SQL Server 2014 en motor relacional

DEMO

6

In-Memory OLTP

Page 6: Novedades de SQL Server 2014 en motor relacional

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

Page 7: Novedades de SQL Server 2014 en motor relacional

• Disco y memoria

• Integrado en el core

• Beneficios

• 10x-100x mas rápido

• Transparente

• Facil implantación

In-Memory DataWarehouseColumnar indexes

8

C

1

C

2

C

3

C

5

C

6

C

4Columnstore Index Representation

Page 8: Novedades de SQL Server 2014 en motor relacional

• 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 DataWarehouseSegmentos

9

C1 C2 C3 C5 C6C4

Row

group

Segments

Page 9: Novedades de SQL Server 2014 en motor relacional

In-Memory DataWarehouse

10

Page 10: Novedades de SQL Server 2014 en motor relacional

• 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 DataWarehouseBeneficios

11

Page 11: Novedades de SQL Server 2014 en motor relacional

In-Memory DataWarehouseDiferencias

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

Page 12: Novedades de SQL Server 2014 en motor relacional

DEMO

13

In-MemoryDataWarehouse

Page 13: Novedades de SQL Server 2014 en motor relacional

In-Memory DataWarehouseCompresión

14

19,7GB

10,9GB

5,0GB4,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

Page 14: Novedades de SQL Server 2014 en motor relacional

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

Page 15: Novedades de SQL Server 2014 en motor relacional

• 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 }

Page 16: Novedades de SQL Server 2014 en motor relacional

Buffer pool extension

17

Page 17: Novedades de SQL Server 2014 en motor relacional

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

Page 18: Novedades de SQL Server 2014 en motor relacional

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

Page 19: Novedades de SQL Server 2014 en motor relacional

Resource Governor

21

Page 20: Novedades de SQL Server 2014 en motor relacional

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 memorymanager)

SQL Server 2014 • Limitar IOPS por volumen

Page 21: Novedades de SQL Server 2014 en motor relacional

Resource Governor para IONuevo!

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 ])

]

Page 22: Novedades de SQL Server 2014 en motor relacional

DEMO

24

Resource Governor para IO

Page 23: Novedades de SQL Server 2014 en motor relacional

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

Page 24: Novedades de SQL Server 2014 en motor relacional

Desafios resueltos en las VLTVery Large Tables

26

Mantenimiento

Rendimiento• Entorno transaccional

• Reportes

• Índices

• Estadísticas

• Historificación

• Espacio

Page 25: Novedades de SQL Server 2014 en motor relacional

DEMO

27

Desafios resueltos en las VLT

Page 26: Novedades de SQL Server 2014 en motor relacional

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

Page 27: Novedades de SQL Server 2014 en motor relacional

Relajado el proceso de envío de páginas

sucias a disco para tempdb

TempdbPor 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

Page 28: Novedades de SQL Server 2014 en motor relacional

Cardinality estimatorEl 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

Est

imarse

lecti

vid

ad

del p

red

icad

oWHERE

Page 29: Novedades de SQL Server 2014 en motor relacional

• Se decide el algoritmo de obtención de datos

• Malas interpretaciones producen

• Malos planes de ejecución

• Mal rendimiento de consultas

Cardinality estimatorEl mayor cambio en el motor “OnDisk” desde SQL Server 7.0

31

Page 30: Novedades de SQL Server 2014 en motor relacional

Cardinality estimatorDesde 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?

Page 31: Novedades de SQL Server 2014 en motor relacional

Threshold update statisticsEn SQL Server 2008 R2 SP1

33

Page 32: Novedades de SQL Server 2014 en motor relacional

DEMO

35

-Tempdb

-Incremental statistics

Page 33: Novedades de SQL Server 2014 en motor relacional

Novedades en SQL Server 2014Que 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

Page 34: Novedades de SQL Server 2014 en motor relacional

ResumenExprime 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 verticalMejorar disponibilidad

del datoMigrar == optimizar¿?

Page 35: Novedades de SQL Server 2014 en motor relacional

¿Preguntas?

38

Page 36: Novedades de SQL Server 2014 en motor relacional

¡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


Recommended