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
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
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
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
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
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
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
Tipos de Transacciones en SQL Server 2014
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
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
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.
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 } ) ]
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
DEMOTransacciones Diferidas:
Configuración y Ejemplos
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
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
• 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
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)
• 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
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
• 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
DEMOGestión de Bloqueos en “cola alternativa”
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
Preguntas?
Funcionalidades de Nube Híbrida enSQL Server 2014
Guillermo Caicedo
A continuación …
Gracias por participar
Top Related