Tipos de capacidad de recuperación basada en programaciones en DBMS

En general, hay tres tipos de horario que se dan a continuación: 

1. Calendario recuperable: 
se dice que un calendario es recuperable si es recuperable como sugiere su nombre. Solo se permiten lecturas antes de la operación de escritura en los mismos datos. Solo se permiten lecturas (Ti->Tj). 

Ejemplo – 
 

S1: R1(x), W1(x), R2(x), R1(y), R2(y), 
         W2(x), W1(y), C1, C2; 

El programa dado sigue el orden de Ti->Tj => C1->C2 . La transacción T1 se ejecuta antes que T2, por lo tanto, no hay posibilidad de que ocurra un conflicto. R1(x) aparece antes de W1(x) y la transacción T1 se compromete antes de T2, es decir, la finalización de la primera transacción realizó la primera actualización en el elemento de datos x, por lo tanto, el cronograma dado es recuperable. 

Veamos un ejemplo de horario irrecuperable para aclarar más el concepto: 
 

S2: R1(x), R2(x), R1(z), R3(x), R3(y), W1(x), 
       W3(y), R2(y), W2(z), W2(y), C1, C2, C3; 

Ti->Tj => C2->C3 pero W3(y) se ejecutó antes de W2(y), lo que genera conflictos, por lo que debe confirmarse antes de la transacción T2. Así que el horario dado es irrecuperable. si Ti->Tj => C3->C2 se da en el programa, entonces se convertirá en un programa recuperable. 

Nota: Una transacción confirmada nunca debe revertirse. Significa que leer el valor de una transacción no confirmada y confirmarla introducirá la transacción actual en un estado inconsistente o irrecuperable. Esto se denomina problema de lectura sucia

Ejemplo: 

2. Programación sin cascada: 
cuando no se produce lectura o escritura antes de la ejecución de la transacción, la programación correspondiente se denomina programación sin cascada. 

Ejemplo – 
 

S3: R1(x), R2(z), R3(x), R1(z), R2(y), R3(y), W1(x), C1, 
         W2(z), W3(y), W2(y), C3, C2; 

En este programa, W3 (y) y W2 (y) sobrescriben los conflictos y no hay lectura, por lo tanto, el programa dado es un programa sin cascada. 

Caso especial: 
una transacción comprometida que se desea abortar. Como se indica a continuación, todas las transacciones están leyendo datos comprometidos, por lo tanto, es un cronograma sin cascada. 

3. Horario estricto: 
si el horario no contiene lectura ni escritura antes de la confirmación, se conoce como horario estricto. El horario estricto es de naturaleza estricta. 

Ejemplo – 
 

S4: R1(x), R2(x), R1(z), R3(x), R3(y), 
        W1(x), C1, W3(y), C3, R2(y), W2(z), W2(y), C2; 

En este cronograma, no surge ningún conflicto de lectura-escritura o escritura-escritura antes de la confirmación, por lo tanto, es un cronograma estricto: 

4. Cancelación en cascada: la cancelación 
en cascada también se puede revertir. Si la transacción T1 aborta como T2 lee los datos escritos por T1 que no están comprometidos. Por lo tanto, es una reversión en cascada. 

Ejemplo: 

Correlación entre horario estricto, sin cascada y recuperable: 

De la figura anterior: 
 

  1. Los cronogramas estrictos son todos los cronogramas recuperables y sin cascada 
     
  2. Todos los horarios sin cascada son recuperables 
     

Publicación traducida automáticamente

Artículo escrito por Pradip_Sawatkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *