Upload
pablo-alvarez-doval
View
496
Download
0
Embed Size (px)
DESCRIPTION
Presentación de mi charla sobre SQL Server en máquinas virtuales en Azure para el GWAB 2014 Madrid.
Citation preview
SQL Server sobre Azure (IaaS)Pablo Doval
SQL/BI Team Lead
¿Por qué 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
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
¿Por qué Iaas?
Rendimiento Predecible
Alta Carga Transaccional
Entornos de DW
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
Discos en Microsoft Azure Storage
http://<account>.blob.core.windows.net/<container>/<blobname>
BlobContenedorCuenta
sqlsrv01disks
vhds
Data1.vhd
Log.vhd
other SQLSrv.iso
Limitaciones
Cuenta
20.000 IOPS
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
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
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
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
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)
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)
■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
¿Qué más podemos hacer?
■Deshabilita del Write-Ahead Logging■Puede mejorar el rendimiento…
■ … ¡pero tenemos que tener claras las implicaciones!
Delayed Transaction Durability
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
■Replicas secundarias con AlwaysOn en lectura
■Columnstore Indexes
■Optimización de Consultas AdHoc
Otras Técnicas con SQL 2014
■Procesadores:■MAXDOP■NUMA
■Memoria:■Max Server Memory
■Red:■Network packet size■Peticiones desde el mismo Cloud Service / VNet
Otras Recomendaciones Generales
■ 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
¿Preguntas?
@gwab_es - #GWAB #Spain http://spain.windowsazurebootcamp.org/