stringtranslate.com

Registro de escritura anticipada

En informática , el registro de escritura anticipada ( WAL ) es una familia de técnicas para proporcionar atomicidad y durabilidad (dos de las propiedades ACID ) en sistemas de bases de datos . [1]

Un registro de escritura anticipada es una estructura auxiliar residente en el disco que solo se puede agregar y que se utiliza para la recuperación de transacciones y fallos. Los cambios se registran primero en el registro, que debe escribirse en el almacenamiento estable , antes de que los cambios se escriban en la base de datos. [2]

La funcionalidad principal de un registro de escritura anticipada se puede resumir de la siguiente manera: [3]

En un sistema que utiliza WAL, todas las modificaciones se escriben en un registro antes de que se apliquen. Normalmente, tanto la información de rehacer como de deshacer se almacena en el registro.

El propósito de esto se puede ilustrar con un ejemplo. Imaginemos un programa que está realizando alguna operación cuando la máquina en la que se está ejecutando se queda sin energía. Al reiniciarse, ese programa podría necesitar saber si la operación que estaba realizando tuvo éxito, tuvo éxito parcial o falló. Si se utiliza un registro de escritura anticipada, el programa puede consultar este registro y comparar lo que se suponía que debía estar haciendo cuando se quedó sin energía inesperadamente con lo que realmente hizo. Sobre la base de esta comparación, el programa podría decidir deshacer lo que había comenzado, completar lo que había comenzado o dejar las cosas como están.

Después de una cierta cantidad de operaciones, el programa debe realizar un punto de control , escribiendo todos los cambios especificados en el WAL en la base de datos y borrando el registro.

WAL permite que las actualizaciones de una base de datos se realicen en el lugar . Otra forma de implementar actualizaciones atómicas es con paginación en la sombra , que no es en el lugar. La principal ventaja de realizar actualizaciones en el lugar es que reduce la necesidad de modificar índices y listas de bloqueo.

ARIES es un algoritmo popular en la familia WAL.

Los sistemas de archivos modernos generalmente utilizan una variante de WAL al menos para los metadatos del sistema de archivos ; esto se denomina registro en diario .

Referencias

  1. ^ Hellerstein, Joseph M.; Stonebraker, Michael; Hamilton, James (2007). Arquitectura de un sistema de base de datos . Boston: Now. ISBN 978-1-60198-079-3.OCLC 191079239  .
  2. ^ "30.3. Registro de escritura anticipada (WAL)". Documentación de PostgreSQL . 2023-05-11 . Consultado el 2023-06-05 .
  3. ^ Petrov, Alex (2019). Database Internals: una mirada profunda a cómo funcionan los sistemas de datos distribuidos. O'Reilly Media. ISBN 978-1492040347.OCLC 1103591515  .