http://www.solidq.com
Presentación que se realizó en el evento de lanzamiento en Valencia y A Coruña los días 17 y 19 de Junio respectivamente.
Novedades SQL Server 2014: Escalabilidad con Eladio Rincón
Novedades SQL Server 2014: Escalabilidad | Lanzamiento SQL Server 2014
1. #SQSummit
Novedades SQL Server 2014:
Escalabilidad
Director Relacional
MCT, SQL Server MVP
Eladio Rincón
@erincon
erincon@solidq.com
2.
3. Agenda
3
1. Buffer Pool Extension
2. Resource Governor para IO
3. Transacciones Diferidas
4. Otros
4. Agenda
4
1. Buffer Pool Extension
2. Resource Governor para IO
3. Transacciones Diferidas
4. Otros
5. • Caché de segundo nivel
• Optimización transparente
OLTP (3x-10x)
• Durable
Buffer Pool Extension
5
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION
{ ON ( FILENAME = 'os_file_path_and_name'
, SIZE = <size> [ KB | MB | GB ] )
| OFF }
7. Buffer Pool Extension
7
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
11. Resource Governor
11
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
12. Resource Governor para IO
Nuevo!
12
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 ])
]
14. Agenda
14
1. Buffer Pool Extension
2. Resource Governor para IO
3. Transacciones Diferidas
4. Otros
15. SQL Server 2014 Transacciones
Pros / Contras
Tradicionales
Premisa: No Perdida Datos Posible
Cuello de botella no Log
Diferidas
Premisa: Perdida Datos Posible
Reducción Esperas
Escribimos en lotes
Menos Operaciones E/S Disco
16. Transacciones Diferidas
Otras Consideraciones
• Son visibles para el resto de transacciones en
registro
• Con alto grado de simultaneidad es posible
contención pero mucho menor que con las
tradicionales
• Utilizar en: Logs, Simuladores, Cargas masivas,
Cuellos de Botella por Log Transacciones
• Pero asumiendo que: ES POSIBLE LA PERDIDA
DE DATOS
17. Usage
Delayed Durability
Database Level Control
Atomic block level control – Natively Compiled
Procedure
Commit Level Control
17
ALTER DATABASE … SET DELAYED_DURABILITY = { DISABLED | ALLOWED |
FORCED }
CREATE PROCEDURE <procedureName> …
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS BEGIN ATOMIC WITH
( DELAYED_DURABILITY = ON,
TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = N'English'
… )
END
COMMIT [ { TRAN | TRANSACTION } ] [ transaction_name |
@tran_name_variable ] ]
[ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ]
19. Opciones de Durabilidad
Combinatoria
DELAYED DURABILITY EN BASE DE DATOS
COMMIT TRANSACCION DISABLED ALLOWED FORCED
DELAYED_DURABILITY = OFF
Totalmente
durable
(Tradicional)
Totalmente
durable
(Tradicional)
Durabilidad
diferida
DELAYED_DURABILITY = ON
Totalmente
durable
(Tradicional)
Durabilidad
diferida
Durabilidad
diferida
Las transacciones distribuidas siempre son
totalmente durables
20. Otras Novedades en
SQL Server 2014
20
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
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
Otras mejoras Motor
• Nuevo Cardinalyty
Estimator
• Mejoras en Gestión de
Estadisticas
• Reconstrucción de
particiones “por
separado”
21. Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
ésta es tu oportunidad.
http://summit.solidq.com
Síguenos:
21
Editor's Notes
Durable = solo almacena páginas limpias por lo que si reinicia sql server no se pierden datos
CAP_CPU_PERCENT permite especificar realmente que se establece un tope máximo fijo a la conexión independientemente de si hay o no competencia por recursos.
En un entorno donde “si quieres mas, pagas mas”, esta configuración es mejor que utilizar MAX_CPU_PERCENT
The ability to govern physical IO only applies to user operations and not system tasks. System tasks include write operations to the transaction log and Lazy Writer IO operations. The Resource Govenor applies primarily to user read operations because most write operations are typically performed by system tasks.