sql server sobre microsoft azure (iaas)
DESCRIPTION
Presentación de mi charla sobre SQL Server en máquinas virtuales en Azure para el GWAB 2014 Madrid.TRANSCRIPT
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/