transacciones diferidas

22
Durabilidad diferida de transacciones y mejoras en gestión de bloqueos ( by Eladio Rincón) Enrique Catala Bañuls MVP , Mentor [email protected] Twitter: @enriquecatala www.enriquecatala.com

Upload: enrique-catala-banuls

Post on 11-Jul-2015

184 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Transacciones diferidas

Durabilidad diferida de

transacciones y mejoras en gestión

de bloqueos ( by Eladio Rincón)

Enrique Catala BañulsMVP , Mentor

[email protected]

Twitter: @enriquecatala

www.enriquecatala.com

Page 2: Transacciones diferidas

3 Sponsor Sessions at 11:15

Don’t miss them, they might be getting distributing some awesome prizes!

Attunity

SolidQ

ApexSQL

Also Raffle prizes at the end of the event provided by

Cisco, SolidQ, Attunity, ApexSQL & Microsoft

Page 3: Transacciones diferidas

Our Main Sponsors:

Page 4: Transacciones diferidas

Agenda

1. Transacciones durabilidad diferida en SQL Server

2014 Transacciones en SQL Server 2014

Transacciones Diferidas

Ejemplos y Escenarios de Uso

2. Nuevas Operaciones ONLINE Prioridad en Bloqueos

Reconstrucción online de particiones

Page 5: Transacciones diferidas

TransaccionesTipos en SQL Server 2014

Page 6: Transacciones diferidas

Transacciones en SQL Server 2014 Pros / Contras

Tradicionales

Sin perdida datos

Cuello de botella en Log

Diferidas

Perdida datos posible

Reducción esperas

Escribimos en lotes

Menos operaciones E/S disco

Page 7: Transacciones diferidas

Transacciones DiferidasConsideraciones

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

Page 8: Transacciones diferidas

Durabilidad Transacciones DiferidasCuando se escribe a disco?

Una transacción tradicional de la misma bbdd se confirma

Sys.sp_flush_log

El buffer de registro de transacciones en memoria se llena y se vacía en disco automáticamente.

Page 9: Transacciones diferidas

Modos Configuración BBDDModos de Configuración

Disabled Allowed Forced

ALTER DATABASE <BBDD> SET DELAYED DURABILITY =

COMMIT

[ { TRAN | TRANSACTION } ]

[ transaction_name | @tran_name_variable ]

[ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ]

Page 10: Transacciones diferidas

Resumen OpcionesCombinatoria

DELAYED DURABILITY EN BASE DE

DATOS

COMMIT TRANSACCION DISABLED ALLOWED FORCED

DELAYED_DURABILITY = OFFTotalmente

durable

(Tradicional)

Totalmente

durable

(Tradicional)

Durabilidad

diferida

DELAYED_DURABILITY = ONTotalmente

durable

(Tradicional)

Durabilidad

diferida

Durabilidad

diferida

Page 11: Transacciones diferidas

DEMOConfiguración y Ejemplos

Page 12: Transacciones diferidas

Bucles While

Cursores

Escenarios de Uso

Logs

Cargas Masivas (Cubos)

Procesos Perdida Datos

Page 13: Transacciones diferidas

Agenda

1. Transacciones durabilidad diferida en SQL Server 2014 SQL Server 2014 Transacciones

Transacciones Diferidas

Durabilidad Transacciones Diferidas

Ejemplos y Escenarios de Uso

2. Nuevas Operaciones ONLINE Reconstrucción online de particiones

Prioridad en Bloqueos

Page 14: Transacciones diferidas

• Timeouts o caida de rendimiento

• Muchos recursos (CPU, disco, memoria)

• Saturación de transasction log

• Impacto en cargas de mission crítica

• Rebuild online (índice entero entablas particionadas)

• Rebuild offline (a nivel de partición)

• Bloqueo Exclusivo de Tabla (with Sch-M lock) durante la operación

Reconstrucción ONLINE de particiones

Page 15: Transacciones diferidas

Granularidad

Accesibilidad

Lock Priority

Una o varias particiones

Tabla accesible para DML y bloqueos leves (al principio y al final)

Utiliza el gestor de prioridad de bloqueos

Beneficios de SPOIR (Singles Partition

Online Index Rebuild)

Disponibilidad Reducción de downtime en mission crítica

Ahorro de Recursos Mejor uso de recursos (CPU, memoria, disco y log)

Page 16: Transacciones diferidas

DEMOReconstrucción online de particiones

Page 17: Transacciones diferidas

• Blocking transactions need to be completed before DDL

• SWITCH/OIR will block new transactions

• Workload slow down or timeouts

• Impact to Tier1 mission-critical OLTP workloads

Partition SWITCH

• Short Sch-M lock on source and target tables

Online Index Rebuild (OIR)

• Short table S and Sch-M lock

Prioridad en Gestión de Bloqueos

Page 18: Transacciones diferidas

Situación Actual (antes de 2014)

Lock queueSession

Wait

Grant

51-

SELECT

52-DDL

53-

SELECT

54-

SELECT

55-

SELECT

FIFO: Primero en entrar,

primero en reservar el

recurso

Page 19: Transacciones diferidas

• Se mata a todos los que evitan que hagasla operación

• Inmediatamente o trasel tiempo establecido

• MAX_DURATION* = n minutes

Mejoras en SQL Server 2014POR FIN!

• Esperar a que los bloqueadores acaben

• MAX_DURATION*

• Gestión de bloqueoshabitual

• Operación cancelada

• Inmediatamente o trasel tiempo establecido

• MAX_DURATION* = n minutes

LOW PRIORITY LOCK QUEUE

*Si no hay bloqueadores, la operación

sucede de forma normal

Page 20: Transacciones diferidas

DEMOGestión de Bloqueos en “cola alternativa”

Page 21: Transacciones diferidas

Agenda

1. Transacciones durabilidad diferida en SQL Server

2014 SQL Server 2014 Transacciones

Transacciones Diferidas

Durabilidad Transacciones Diferidas

Ejemplos y Escenarios de Uso

2. Nuevas Operaciones ONLINE Prioridad en Bloqueos

Reconstrucción online de particiones

Page 22: Transacciones diferidas

Gracias!

Enrique Catala Bañuls

[email protected]

Twitter: @enriquecatala

www.enriquecatala.com