Recuperación y Registro
Los mecanismos de recuperación y registro garantizan la atomicidad y durabilidad de las transacciones al registrar los cambios en un log, de modo que, después de una caída, el trabajo confirmado pueda rehacerse y el trabajo no confirmado pueda deshacerse.
Definition
La recuperación de bases de datos es el proceso de restaurar la base de datos a un estado consistente después de un fallo, asegurando que los efectos de las transacciones confirmadas sean duraderos y que las transacciones abortadas o en curso no dejen rastro; el registro es la técnica de grabar las acciones de las transacciones en un log duradero para hacer esto posible.
Scope
Este tema cubre cómo una base de datos sobrevive a fallos: el protocolo de registro anticipado (WAL), la información de deshacer y rehacer, los puntos de control para limitar el trabajo de recuperación y el algoritmo de recuperación estándar (notablemente ARIES) con sus pases de análisis, rehacer y deshacer. Trata las políticas de gestión de búfer (steal/no-steal, force/no-force) que determinan qué registro se requiere. Excluye los protocolos de control de concurrencia que se ejecutan durante la operación normal y la confirmación distribuida, que son temas adyacentes.
Core questions
- ¿Por qué el registro debe llegar al almacenamiento duradero antes que los datos que describe (registro anticipado)?
- ¿Cómo deshacer y rehacer restauran un estado consistente después de un fallo?
- ¿Cómo las políticas de gestión de búfer (steal/force) determinan los requisitos de registro?
- ¿Qué papel juegan los puntos de control en la limitación del tiempo de recuperación?
- ¿Cómo el algoritmo ARIES estructura la recuperación en análisis, rehacer y deshacer?
Key concepts
- registro anticipado (WAL)
- registro de deshacer y rehacer
- número de secuencia de log
- puntos de control
- políticas steal/no-steal y force/no-force
- registros de log de compensación
- pases de análisis, rehacer, deshacer
- ARIES
Key theories
- Registro anticipado
- El protocolo WAL requiere que los registros de log que describen un cambio se fuercen al almacenamiento estable antes que la página de datos correspondiente, asegurando que después de un fallo el sistema tenga suficiente información para deshacer los cambios no confirmados y rehacer los cambios confirmados.
- Recuperación de deshacer/rehacer y políticas de búfer
- Si el sistema necesita deshacer, rehacer o ambos depende de las políticas de búfer: una política steal (escribir páginas no confirmadas en el disco) requiere deshacer, y una política no-force (no forzar páginas confirmadas en la confirmación) requiere rehacer; la combinación común steal/no-force requiere ambos.
- ARIES
- ARIES es el método de recuperación ampliamente adoptado que utiliza el registro anticipado, números de secuencia de log y un algoritmo de tres pases (análisis, rehacer, deshacer) con registros de log de compensación para soportar el bloqueo de grano fino y las reversiones parciales.
Clinical relevance
La recuperación y el registro son lo que hacen que la durabilidad sea real: aseguran que una vez que un sistema confirma una transacción, como un pago o un pedido, ese hecho sobrevive a la pérdida de energía y a los fallos, y que un fallo a mitad de la transacción nunca deja la base de datos en un estado inconsistente y parcialmente actualizado.
History
La encuesta de Härder y Reuter de 1983 estableció los principios de la recuperación orientada a transacciones y la taxonomía de políticas de búfer. ARIES, desarrollado por C. Mohan y sus colegas en IBM y publicado en 1992, se convirtió en el algoritmo de recuperación de facto, combinando el registro anticipado con números de secuencia de log y registros de compensación para soportar el bloqueo de granularidad fina.
Key figures
- C. Mohan
- Jim Gray
- Theo Härder
- Andreas Reuter
Related topics
Seminal works
- mohan1992
- haerder1983
- gray1992
Frequently asked questions
- ¿Por qué es necesario el registro anticipado?
- Porque la base de datos puede escribir una página modificada en el disco antes de que la transacción se confirme, o mantener una página confirmada en la memoria en el momento del fallo. Forzar el registro de log antes de la página de datos garantiza que, independientemente de lo que haya hecho el gestor de búfer, la recuperación tenga suficiente información para deshacer los cambios no confirmados y rehacer los confirmados para alcanzar un estado consistente.
- ¿Qué logran los puntos de control?
- Un punto de control registra periódicamente qué transacciones están activas y vacía la contabilidad en el log, proporcionando a la recuperación un punto de partida reciente y conocido como bueno. Sin puntos de control, la recuperación podría tener que escanear todo el log desde el principio; los puntos de control limitan hasta dónde debe procesar la recuperación, manteniendo el tiempo de reinicio manejable.