03 24 hopes_2014_eladiorincon

26
Durabilidad diferida de transacciones y mejoras en gestión de bloqueos para tareas administrativas en SQL Server 2014 Expositor: Eladio Rincón ([email protected] ) Director y Mentor SolidQ | MVP SQL Server | MCT Moderador: Freddy Angarita

Transcript of 03 24 hopes_2014_eladiorincon

Page 1: 03 24 hopes_2014_eladiorincon

Durabilidad diferida de transacciones y mejoras en

gestión de bloqueos para tareas administrativas en

SQL Server 2014

Expositor: Eladio Rincón ([email protected])

Director y Mentor SolidQ | MVP SQL Server | MCT

Moderador: Freddy Angarita

Page 2: 03 24 hopes_2014_eladiorincon

Gracias a nuestros auspiciadores

Database Security as Easy as A-B-C

http://www.greensql.com

Hardcore Developer and IT Training

http://www.pluralsight.com

SQL Server PerformanceTry PlanExplorer today!

http://www.sqlsentry.com

Page 3: 03 24 hopes_2014_eladiorincon

Próximos SQL Saturday

24 de Enero de 2015 https://www.sqlsaturday.com/346/register.aspx

18 de Abril de 2015 https://www.sqlsaturday.com/368/register.aspx

9 de Mayo de 2015 https://www.sqlsaturday.com/373/register.aspx

6 de Diciembre de 2014 https://www.sqlsaturday.com/351/register.aspx

Page 4: 03 24 hopes_2014_eladiorincon

4

Capítulo Global PASS en Español

4

Reuniones semanales todos los miércoles a

las 12PM UTC-5 (Hora de Colombia)

https://www.facebook.com/SpanishPASSVC

Page 5: 03 24 hopes_2014_eladiorincon

5

Asistencia Técnica

Si requiere asistenciadurante la sesión debe usar la sección de preguntas que esta en el menú de la derecha.

Use el botón de Zoom para ajustar su pantalla al tamaño deseado

Escriba sus preguntas en la sección de preguntas que esta en el menú de la derecha

Page 6: 03 24 hopes_2014_eladiorincon

6

Presentando a: Eladio Rincón

Mentor y Director @ SolidQ

Microsoft SQL Server MVP

http://www.solidq.com

http://www.linkedin.com/in/erincon

Mentor y formador en SQL Server:

• Experto en Arquitecturas 24x7 basadas en SQL Server:• Diseño de Sistemas Escalables

• Soporte a Clientes

• Optimización y Troubleshooting

6

Page 7: 03 24 hopes_2014_eladiorincon

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 8: 03 24 hopes_2014_eladiorincon

Tipos de Transacciones en SQL Server 2014

Page 9: 03 24 hopes_2014_eladiorincon

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 10: 03 24 hopes_2014_eladiorincon

Transacciones Diferidas

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

Consideraciones

Page 11: 03 24 hopes_2014_eladiorincon

Durabilidad Transacciones Diferidas

Cuando 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 12: 03 24 hopes_2014_eladiorincon

Modos Configuración BBDD

Disabled Allowed Forced

ALTER DATABASE <BBDD> SET DELAYED DURABILITY =

COMMIT

[ { TRAN | TRANSACTION } ]

[ transaction_name | @tran_name_variable ]

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

Page 13: 03 24 hopes_2014_eladiorincon

Resumen Opciones

CombinacionesDELAYED 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 14: 03 24 hopes_2014_eladiorincon

DEMOTransacciones Diferidas:

Configuración y Ejemplos

Page 15: 03 24 hopes_2014_eladiorincon

Escenarios de Uso

Alta actividad en Log y trozos pequeños

Cursores que modifican fila por fila

Escenarios de loggin (registro, auditoria)

ASUMIR: potencial perdida de datos SI fail-over

Sin mejoras apreciables

Batches grandes que modifican mucho (transacción

única)

Operaciones masivas

Page 16: 03 24 hopes_2014_eladiorincon

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 17: 03 24 hopes_2014_eladiorincon

• 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 18: 03 24 hopes_2014_eladiorincon

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 RecursosMejor uso de recursos (CPU, memoria, disco y log)

Page 19: 03 24 hopes_2014_eladiorincon

• 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 20: 03 24 hopes_2014_eladiorincon

Situación Actual (antes de 2014)

Lock queueSession

Wait

Grant

51-SELECT

52-DDL

53-SELECT

54-SELECT

55-SELECTFIFO: Primero en entrar, primero en reservar el recurso

Page 21: 03 24 hopes_2014_eladiorincon

• 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 sucedede forma normal

Page 22: 03 24 hopes_2014_eladiorincon

DEMOGestión de Bloqueos en “cola alternativa”

Page 23: 03 24 hopes_2014_eladiorincon

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 24: 03 24 hopes_2014_eladiorincon

Preguntas?

Page 25: 03 24 hopes_2014_eladiorincon

Funcionalidades de Nube Híbrida enSQL Server 2014

Guillermo Caicedo

A continuación …

Page 26: 03 24 hopes_2014_eladiorincon

Gracias por participar