En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos




descargar 0.75 Mb.
títuloEn años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos
página35/36
fecha de publicación02.02.2016
tamaño0.75 Mb.
tipoDocumentos
b.se-todo.com > Economía > Documentos
1   ...   28   29   30   31   32   33   34   35   36

7.3.3 EJECUCION DE LOS COMANDOS DEL LRM



Existen cinco comandos que forman la interfaz al LRM. Ellos son: begin_transaction, read, write, commit y abort. En esta sección se discutirá cada uno de ellos y se presentará el comando recover cuya necesidad debe ser aparente después de la discusión anterior. La ejecución de los comandos abort, commit y recover es completamente dependiente de los algoritmos de recuperación que se usen. Por otra parte, los comandos begin_transaction, read y write son independientes del LRM.
La decisión fundamental en el diseño de administrador de recuperación local, el administrador del buffer y la interacción entre estas componentes es si el administrador de buffers obedece instrucciones del LRM tales como cuando escribir las páginas del buffer de la base de datos al almacenamiento estable. Específicamente, existen dos decisiones fundamentales:


  1. ¿puede el administrador de buffers escribir las páginas del buffer actualizadas por una transacción en el almacenamiento estable durante la ejecución de la misma, o tiene que esperar las instrucciones del LRM para escribirlas en la base de datos estable? A este tipo de estrategia se le conoce como fix/no-fix.

  2. ¿puede el LRM forzar al administrador del buffer para que escriba ciertas páginas del buffer en la base de datos estable al final de la ejecución de una transacción? A este tipo de estrategia se le conoce como flush/no-flush.


De acuerdo a lo anterior, existe cuatro posibles alternativas: no-fix/no-flush, no-fix/flush, fix/no-flush y fix/flush.


  • Begin_transaction. Hace que el LRM escriba un comando begin_transaction en el registro de la base de datos.

  • Read. El LRM trata de leer los datos especificados de las páginas del buffer que pertenecen a la transacción. Si el dato no se encuentra en esas páginas, envía un comando fetch al administrador del buffer para que los datos sean disponibles.

  • Write. Si el dato está disponible en los buffers de la transacción, el valor se modifica en los buffers de la base de datos. Si no se encuentra en los buffers, se envía un comando fetch al administrador del buffer y, entonces, se hace la actualización en la base de datos volátil.

Discutiremos ahora la ejecución de las instrucciones restantes de acuerdo a la estrategia que se siga.
No-fix/No-flush


  • Abort. El administrador del buffer pudo haber escrito algunas páginas actualizadas en la base de datos estable. Por lo tanto, el LRM ejecuta un UNDO de la transacción.

  • Commit. El LRM escribe un "end_of_transaction" en el registro de la base de datos.

  • Recover. Para aquellas transacciones que tienen tanto un "begin_transaction" como un "end_of_transaction" en el registro de la base de datos, se inicia una operación parcial REDO por el LRM. Mientras que para aquellas transacciones que tienen solo un "begin_transaction" en el registro, se ejecuta un UNDO global por el LRM.


No-fix/Flush


  • Abort. El administrador del buffer pudo haber escrito algunas páginas actualizadas en la base de datos estable. Por lo tanto, el LRM ejecuta un UNDO de la transacción.

  • Commit. El LRM envía un comando flush al administrador del buffer para todas las páginas actualizadas. Se escribe un comando "end_of_transaction" en el registro de la base de datos.

  • Recover. Para aquellas transacciones que tienen tanto un "begin_transaction" como un "end_of_transaction" en el registro de la base de datos, no se requiere una operación REDO. Mientras que para aquellas transacciones que tienen solo un "begin_transaction" en el registro, se ejecuta un UNDO global por el LRM.


Fix/No-flush.


  • Abort. Ninguna de las páginas actualizadas ha sido escrita en la base de datos estable. Por lo tanto, solo se liberan las páginas correspondientes a la transacción enviándoles un comando fix.

  • Commit. Se escribe un comando "end_of_transaction" en el registro de la base de datos. El LRM envía un comando unfix al administrador del buffer para todas las páginas a las que se les envío un comando fix previamente.

  • Recover. Para aquellas transacciones que tienen tanto un "begin_transaction" como un "end_of_transaction" en el registro de la base de datos, se inicia una operación parcial REDO por el LRM. Mientras que para aquellas transacciones que tienen solo un "begin_transaction" en el registro, no se necesita un UNDO global.


Fix/Flush


  • Abort. Ninguna de las páginas actualizadas ha sido escrita en la base de datos estable. Por lo tanto, solo se liberan las páginas correspondientes a la transacción enviándoles un comando fix.

  • Commit. De manera atómica se tienen que hacer las siguientes acciones. Se envía un comando flush al administrador del buffer para todas las páginas a las que se les aplicó un comando fix. El LRM envía un comando unfix al administrador del buffer para todas las páginas a las que se les aplicó un comando fix. El LRM escribe un "end_of_transaction" en el registro de la base de datos.

  • Recover. No requiere hacer trabajo alguno.


Verificación
La operación de recuperación requiere recorrer todo el registro de la base de datos. Así, el buscar todas las transacciones a las cuales es necesario aplicarles un UNDO o REDO puede tomar una cantidad de trabajo considerable. Para reducir este trabajo se pueden poner puntos de verificación (checkpoints) en el registro de la base de datos para indicar que en esos puntos la base de datos está actualizada y consistente. En este caso, un REDO tiene que iniciar desde un punto de verificación y un UNDO tiene que regresar al punto de verificación más inmediato anterior. La colocación de puntos de verificación se realiza con las siguientes acciones:


  1. Se escribe un "begin_checkpoint" en el registro de la base de datos.

  2. Se recolectan todos los datos verificados en la base de datos estable.

  3. Se escribe un "fin_de_checkpoint" en el registro de la base de datos.



1   ...   28   29   30   31   32   33   34   35   36

similar:

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases de datos de secuencias de adn y proteínas

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconUna red de comunicaciones es la combinación de hardware, software...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconResumen a lo largo de los años, la agricultura se ha mantenido como...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconResumen El presente trabajo de investigación bibliográfica trata...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconCientífico británico que sentó las bases de la moderna teoría evolutiva,...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconRecibimos de las distintas sucursales de la empresa los datos correspondientes a las ventas en

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconEntre las herramientas utilizadas en la minería de datos (Data Mining)...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconMinería de Datos aplicados a las ventas con Tarjeta de Crédito realizados...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases moleculares de las acciones de la insulina

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases moleculares de las acciones de la insulina




Todos los derechos reservados. Copyright © 2019
contactos
b.se-todo.com