sql server sobre microsoft azure (iaas)

27
SQL Server sobre Azure (IaaS) Pablo Doval SQL/BI Team Lead

Upload: pablo-alvarez-doval

Post on 17-Jun-2015

493 views

Category:

Data & Analytics


0 download

DESCRIPTION

Presentación de mi charla sobre SQL Server en máquinas virtuales en Azure para el GWAB 2014 Madrid.

TRANSCRIPT

Page 1: SQL Server sobre Microsoft Azure (IaaS)

SQL Server sobre Azure (IaaS)Pablo Doval

SQL/BI Team Lead

Page 2: SQL Server sobre Microsoft Azure (IaaS)

¡Encantado!

■SQL/BI Team Lead

http://geeks.ms/blogs/palvarez

@PabloDoval

[email protected]

Page 3: SQL Server sobre Microsoft Azure (IaaS)

¿Por qué IaaS?

Page 4: SQL Server sobre Microsoft Azure (IaaS)

SQL Database en Azure

■Administrada automágicamente■Nos centramos en la parte lógica■Alta Disponibilidad por defecto

■Simplicidad de Escalado■Actualización de tamaño dinámica■Soporte de Federaciones

■Herramientas disponibles■Económica

Page 5: SQL Server sobre Microsoft Azure (IaaS)

Si esto es tan genial… ¿por qué esta sesión?

■Volumen de Datos:■Limite 150 Gb (+ Federación)

■Rendimiento:■Conexiones Simultáneas, Busy Neighbours, paralelismo, etc.

■Características:■Particionado, Compresión, etc.

■Complejidades a la hora de migrar:■Consideraciones de Conectividad■Soporte T-SQL Limitado

Page 6: SQL Server sobre Microsoft Azure (IaaS)

¿Por qué Iaas?

Rendimiento Predecible

Alta Carga Transaccional

Entornos de DW

Page 7: SQL Server sobre Microsoft Azure (IaaS)

Ok, vamos a montarlo en una VM…

Tamaño Características

Núcleos Memoria Máximo Discos (1Tb) Ancho de Banda

XS (A0) Compartidos 768 Mb 1 5 Mbps

S (A1) 1 1,75 Gb 2 100 Mbps

M (A2) 2 3,5 Gb 4 200 Mbps

L(A3) 4 7 Gb 8 400 Mbps

XL (A4) 8 14 Gb 16 800 Mbps

A5 2 14 Gb 4 200 Mbps

A6 4 28 Gb 8 1000 Mbps

A7 8 56 Gb 16 2000 Mbps

A8 8 56 Gb N/A N/A

A9 16 112 Gb N/A N/A

Page 8: SQL Server sobre Microsoft Azure (IaaS)

Discos en Microsoft Azure Storage

http://<account>.blob.core.windows.net/<container>/<blobname>

BlobContenedorCuenta

sqlsrv01disks

vhds

Data1.vhd

Log.vhd

other SQLSrv.iso

Page 9: SQL Server sobre Microsoft Azure (IaaS)

Limitaciones

Cuenta

20.000 IOPS

Page 10: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: 1 Fichero

E/S Aleatoria (Páginas) E/S Secuencial (Extents)

Lecturas Escrituras Lecturas Escrituras

IOPS 500 500 500 300

MB/s 4 MB/s 4 MB/s 30 MB/s 20 MB/s

Page 11: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: 4 Ficheros

E/S Aleatoria (Páginas) E/S Secuencial (Extents)

Lecturas Escrituras Lecturas Escrituras

IOPS 2000 2000 2000 1300

MB/s 20 MB/s 20 MB/s 120 MB/s 80 MB/s

Page 12: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: 8 Ficheros

E/S Aleatoria (Páginas) E/S Secuencial (Extents)

Lecturas Escrituras Lecturas Escrituras

IOPS 4000 4000 2500 2600

MB/s 30 MB/s 30 MB/s 150 MB/s 160 MB/s

Page 13: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: 16 Ficheros

E/S Aleatoria (Páginas) E/S Secuencial (Extents)

Lecturas Escrituras Lecturas Escrituras

IOPS 8000 8000 2500 5000

MB/s 60 MB/s 60 MB/s 150 MB/s 300 MB/s

Page 14: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: IOPS

1 4 8 160

1000

2000

3000

4000

5000

6000

7000

8000

9000

500

2000

4000

8000

500

2000

4000

8000

500

2000

2500 2500

300

1300

2500

5000 Suma de Lecturas (E/S Aleatoria)Suma de Escrituras (E/S Aleatoria)Suma de Lecturas (E/S Secuencial)Suma de Escrituras (E/S Secuencial)

Page 15: SQL Server sobre Microsoft Azure (IaaS)

Rendimiento: MB/s

1 4 8 160

50

100

150

200

250

300

350

420

30

60

420

30

60

30

120

150 150

20

80

160

300

Suma de Lecturas (E/S Aleatoria)Suma de Escrituras (E/S Aleatoria)Suma de Lecturas (E/S Secuencial)Suma de Escrituras (E/S Secuencial)

Page 16: SQL Server sobre Microsoft Azure (IaaS)

■Considerar la carga de trabajo:■Si la actividad principal es de datos (lecturas):

■usar discos separados y Files/FileGroups■Si la actividad principal es de log de transacciones (inserts, updates):

■volumen stripped para el Log ( o Storage Pools)

■Recomendaciones sobre TempDb

■Usar Compresión / Particionado / Instant File Initializacion

■Trace Flag T1117

Otras Recomendaciones de Disco

Page 17: SQL Server sobre Microsoft Azure (IaaS)

¿Qué más podemos hacer?

Page 18: SQL Server sobre Microsoft Azure (IaaS)

■Deshabilita del Write-Ahead Logging■Puede mejorar el rendimiento…

■ … ¡pero tenemos que tener claras las implicaciones!

Delayed Transaction Durability

Page 19: SQL Server sobre Microsoft Azure (IaaS)

In-Memory OLTP (Hekaton de toda la vida)

• Latencia extremadamente baja

• Mejora de Rendimiento (hasta un X30)

• Mejora de Escalabilidad

• Estructura en Memoria• Integrado en el motor relacional SQL Server• Soporte ACID• No hay locks ni latches• T-SQL se compila a código nativo

Tabla Hekaton

In-Memory OLTP engine: Tablas e Indices Hekaton

Compilador de Sprocs nativos

Compilador de Hekaton

Protocolo TDS y Gestión de Sesión

Log de Transacciones Fichero de Datos

Buffer PoolLock Manager

Cache de planes

Parser y optimizer

Page 20: SQL Server sobre Microsoft Azure (IaaS)

■Replicas secundarias con AlwaysOn en lectura

■Columnstore Indexes

■Optimización de Consultas AdHoc

Otras Técnicas con SQL 2014

Page 21: SQL Server sobre Microsoft Azure (IaaS)

■Procesadores:■MAXDOP■NUMA

■Memoria:■Max Server Memory

■Red:■Network packet size■Peticiones desde el mismo Cloud Service / VNet

Otras Recomendaciones Generales

Page 22: SQL Server sobre Microsoft Azure (IaaS)

■ SQL Database en Azure está bien en escenarios sencillos■.. y no tan sencillos, usando instancias Premium■podemos empezar a trabajar desde el minuto 1 sin preocuparnos

de la infrastructura■hay que tener en cuenta sus limitaciones

■Pero en ocasiones necesitamos SQL Server en MVs ■mucho mas versátil■requiere configuración minuciosa

Resumen

Page 23: SQL Server sobre Microsoft Azure (IaaS)

¿Preguntas?

Page 25: SQL Server sobre Microsoft Azure (IaaS)
Page 26: SQL Server sobre Microsoft Azure (IaaS)
Page 27: SQL Server sobre Microsoft Azure (IaaS)