Durabilidad

Definición: ¿Qué significa Durabilidad?

La durabilidad en las bases de datos es la propiedad que garantiza que las transacciones se guarden de forma permanente y no desaparezcan o se borren accidentalmente, incluso durante un bloqueo de la base de datos. Por lo general, esto se logra guardando todas las transacciones en un medio de almacenamiento no volátil.

La durabilidad es parte del acrónimo ACID, que significa atomicidad, consistencia, aislamiento y durabilidad. ACID es un conjunto de propiedades que garantizan la confiabilidad de todas las transacciones de la base de datos.

Techinfo explica la durabilidad

Hay varias organizaciones, como bancos y hospitales, cuya existencia depende de los sistemas de información que se ejecutan en bases de datos. La capacidad de recuperar el 100% de todas las transacciones comprometidas es absolutamente crucial. La tasa de recuperación debe ser del 100 por ciento, no del 90 por ciento o incluso del 99.6 por ciento. Además, esta recuperación debe ser permanente, lo que significa que todas las transacciones deben reconstruirse, incluso si el servidor de la base de datos falla debido a una falla del sistema operativo o una pérdida de energía.

Puede ver de inmediato por qué la durabilidad, como parte de ACID, es un santo grial para los diseñadores de sistemas de bases de datos relacionales. ACID, un término popularizado por Theo Harder y Andreas Reuter en su artículo de 1983 "Principios de recuperación de bases de datos orientadas a transacciones", es el conjunto de cualidades que, cuando se implementan correctamente, siempre garantizarán el procesamiento, manejo y almacenamiento confiables de todas las bases de datos. actas.

La durabilidad en los sistemas de bases de datos relacionales modernos generalmente se logra por medio de registros de transacciones, archivos reciclables, archivos que se utilizan para almacenar todas las transacciones de la base de datos en una sesión. Una vez que un usuario emite un comando de confirmación, la transacción se escribe primero en los archivos de la base de datos almacenados en un medio no volátil como un disco duro, lo que se realiza antes de confirmarle al usuario que se ha guardado. Si una base de datos falla antes de guardar, los datos todavía están en los registros de transacciones la próxima vez que se reinicia la base de datos, pero los cambios no confirmados se deshacen o revierten. En la computación distribuida donde los servidores están geográficamente dispersos, esta garantía es difícil o complicada de implementar, por lo que se logra lo mismo mediante el uso del compromiso de dos fases.

Esta definición fue escrita en el contexto de bases de datos