Lectura 13 - Recuperación

miércoles, 21 de enero de 2009

INTRODUCCIÓN

En el siguiente resumen se presenta los diferentes tipos de fallo que pueden producirse en una computadora ya que estos se producen por varios motivos como: fallos de disco, cortes de corriente, errores en el software, incluso sabotaje. En cada uno de estos casos puede perderse información, es por esto que cada sistema de base de datos debe tener un esquema de recuperación de datos el cual debe constar de una alta disponibilidad para minorizar el tiempo en el que no se puede usar la información. Es por esto que se exponen cada uno de estos problemas con más detalle.

1.1. CLASIFICACIÓN DE LOS FALLOS

En un sistema puede producirse varios tipos de fallos, cada uno de los cuales requiere un tratamiento diferente. El tipo de fallo más fácil de tratar es el que no te conduce a una perdida de información en el sistema. Los fallos más difíciles de tratar son aquellos que provocan una perdida de información. Es por eso que abordaremos solo los siguientes tipos de fallos:

• Fallo en la transacción. Hay dos tipos de errores que pueden hacer que una transacción falle:

- Error lógico. La transacción no puede continuar con su ejecución normal a causa de alguna condición interna, como una entrada incorrecta, datos no encontrados, desbordamiento o exceso del límite de recursos.
- Error del sistema. El sistema se encuentra en un estado no deseado, como consecuencia del cual una transacción no puede continuar con su ejecución normal. Sin embargo, se puede volver a ejecutarse mas tarde.

• Caída del sistema. Un mal funcionamiento del hardware o un error en el software de la base de datos o del sistema operativo causa la perdida del contenido de la memoria volátil y aborta el procesamiento de una transacción. El contenido de la memoria no volátil permanece intacto y no se corrompo. La suposición de que los errores de hardware o software fuercen una parada del sistema, pero no corrompan el contenido de la memoria no volátil, se conoce como supuesto de fallo-parada.
• Fallo de disco. Un bloque del disco pierde su contenido como resultado de bien una colisión de la cabeza lectora, bien un fallo durante una operación de transferencia de datos. las copias de datos que se encuentran en otros discos o en archivos de seguridad en medios de almacenamiento secundarios, como cintas, se utilizan para recuperarse del fallo.

Para determinar como el sistema debe recuperarse de los fallos, es necesario identificar los modos de fallo de los dispositivos de almacenamiento. Entonces se pueden proponer algoritmos para garantizar la consistencia de la base de datos y la atomicidad de las transacciones a pesar de los fallos, a los cuales se le conocen como algoritmos de recuperación, constan de dos partes:

1. Acciones llevadas a cabo durante al procesamiento normal de transacciones para asegurar que existe información suficiente para permitir la recuperación frente a fallos.
2. Acciones llevadas a cabo después de ocurrir un fallo para restablecer el contenido de la base de datos, la atomicidad de la transacción y la durabilidad.

Para una mayor comprensión de cómo se pueden garantizar las propiedades de atomicidad y durabilidad de una transacción, se pueden comprender mejor estros medios de almacenamiento y sus métodos de acceso.

1.2. ESTRUCTURA DE ALMACENAMIENTO

1.2.1. Tipos de almacenamiento

• Almacenamiento volátil. La información que reside en almacenamiento volátil no suele sobrevivir a las caídas del sistema.
• Almacenamiento no volátil. La información que reside en almacenamiento no volátil sobrevive a las caídas del sistema.

En el estado actual de la tecnología, el almacenamiento no volátil es más lento en varios órdenes de magnitud que el almacenamiento volátil. Esta diferencia de velocidad es consecuencia de que los dispositivos de disco y de cinta sean electromecánicos, mientras que el almacenamiento volátil se basa por completo en circuitos integrados, como el almacenamiento volátil.

• Almacenamiento estable. La información nunca se pierde. A pesar de que el almacenamiento estable es teóricamente imposible de conseguir, puede obtenerse una buena aproximación usando técnicas que hagan que la perdida de información sea una posibilidad muy remota.

Ciertos sistemas están provistos de una fuente de alimentación de seguridad. Por lo que determinada memoria principal puede sobrevivir a las caídas del sistema y a cortes de corriente. Otras formas alternativas de medios de almacenamiento no volátil, como los medios ópticos, ofrecen un grado de confianza incluso más alto que el de los discos.

1.2.2. Implementación del almacenamiento estable

Para implementar almacenamiento estable se debe replicar la información necesaria en varios medios de almacenamiento no volátil (normalmente discos) con modos de fallo independientes, y actualizar esa información de manera controlada para asegurar que un fallo durante una transferencia de datos no dañara la información necesaria.
Una transferencia de bloques entre la memoria y el disco puede acabar de diferentes formas:

• Éxito. La información transferida llega a su destino con seguridad.
• Fallo parcial. Ocurre un fallo en medio de la transferencia y el bloque de destino contiene información incorrecta.
• Fallo total. El fallo ocurre suficientemente pronto durante la transferencia para que el bloque destino permanezca intacto.

Es necesario que, si se produce un fallo durante una transferencia de datos, el sistema lo detecte e invoque a un procedimiento de recuperación para restaurar el bloque a un estado estable. Para hacer esto, el sistema debe mantener dos bloques físicos por cada bloque lógico de la base de datos; en el caso de los discos con imagen, ambos bloques están en el mismo lugar; en el caso de copia de seguridad remota, uno de los bloques es local mientras que el otro esta en un lugar remoto. Una operación de salida se ejecuta de la siguiente manera:

1. Se escribe la información en el primer bloque físico.
2. cuando la primera escritura se completa con éxito, se escribe la misma información en el segundo bloque físico.
3. la salida está complementada sólo después de que la segunda escritura finalice con éxito.

1.2.3. Acceso a los datos

El sistema de base de datos reside permanentemente en almacenamiento no volátil y se divide en unidades de almacenamiento de longitud fija denominadas bloques. Los bloques son las unidades de datos que se transfieren desde y hacia el disco y pueden contener varios elementos de datos.

Las transacciones llevan información del disco hacia la memoria principal y luego devuelven la información al disco. Las operaciones de entrada y salida se realizan en unidades de bloque. Los bloques que residen en el disco como bloques físicos, y a los que residen temporalmente en la memoria principal como bloques de memoria intermedia. El área de memoria en donde los bloques residen temporalmente se denomina memoria intermedia de disco.

La transferencia de un bloque entre disco y memoria principal se comienza a través de las dos operaciones siguientes:

1. Entrada (A) transfiere el bloque físico A a la memoria principal.
2. Salida (B) transfiere el bloque de memoria intermedia B al disco y reemplaza allí al correspondiente bloque físico.

1.3. RECUPERACION Y ATOMICIDAD

Para conseguir el objetivo de la atomicidad se debe efectuar primero la operación de salida de la información que describe las modificaciones en el almacenamiento estable sin modificar todavía la base de datos. Este procedimiento permitirá realizar la salida de todas las modificaciones realizadas por una transacción comprometida aunque se produzcan fallos. Las transacciones se ejecutan secuencialmente, esto es, solamente una transacción esta activa en cada momento.

1.4. RECUPERACION BASADA EN EL REGISTRO HISTORICO

La estructura mas ampliamente utilizada para guardar las modificaciones de una base de datos es el registro histórico. El registro histórico es una secuencia de registros que mantiene un registro de todas las actividades de actualización de la base de datos. Existen varios tipos de registros del registro histórico. Un registro de actualización del registro histórico describe una única escritura en la base de datos y tiene los siguientes cambios:

• El identificador de la transacción es un identificador único de la transacción que realiza la operación escribir.
• El identificador del elemento de datos es un identificador único del elemento de datos que se escribe.
• El valor anterior es el valor que tenía el elemento de datos antes de la escritura.
• El valor nuevo es el valor que tendrá el elemento de datos después de la escritura.

Existen otros registros del registro histórico especiales para registrar sucesos significativos durante el procesamiento de una transacción tales como el comienzo de una transacción y el éxito o aborto de la misma.

1.4.1 Modificación diferida de la base de datos

La técnica de la modificación diferida garantiza la atomicidad de las transacciones mediante el almacenamiento de todas las modificaciones de la base de datos en el registro histórico, pero retardando la ejecución de todas las operaciones escribir de una transacción hasta que la transacción se compromete parcialmente. Cuando una transacción se compromete parcialmente, la información del registro histórico asociada a esa transacción se utiliza para la ejecución de las escrituras diferidas. Si el sistema cae antes de que la transacción complete su ejecución o si la transacción aborta, la información del registro histórico simplemente se ignora.

1.4.2. Modificación inmediata de la base de datos

La técnica de modificación inmediata permite realizar la salida de las modificaciones de la base de datos a la propia base de datos mientras que la transacción esta todavía en estado activo. Las modificaciones de datos escritas por transacciones activas se denominan modificaciones no comprometidas. En caso de una caída o de un fallo en la transacción, el sistema debe utilizar el campo para el valor anterior de los registros del registro histórico para restaurar los elementos de datos modificados a los valores que tuvieran antes de comenzar la transacción.
Mediante la utilización del registro histórico, el sistema puede manejar cualquier fallo que no genere una perdida de información en el almacenamiento no volátil. El esquema de recuperación usa dos procedimientos de recuperación:

• Deshacer. Restaura el valor de todos los elementos de datos actualizados por la transacción a los valores anteriores.
• Rehacer. Fija el valor de todos los elementos de datos actualizados por la transacción a los nuevos valores.

Las operaciones deshacer y rehacer deben ser idempotentes para garantizar un comportamiento correcto incluso en el caso de que el fallo se produzca durante el proceso de recuperación.
Después de haberse producido un fallo, el esquema de recuperación consulta el registro histórico para determinar las transacciones que deben rehacerse y las que deben deshacerse.

1.4.3. Puntos de revisión

Cuando ocurre un fallo en el sistema, en principio es necesario recorrer completamente el registro histórico para hallar la información. En este enfoque hay dos inconvenientes principales:

1. El proceso de búsqueda consume tiempo.
2. La mayoría de las transacciones que deben rehacerse de acuerdo con el algoritmo ya tienen escritas sus actualizaciones en la base de datos. aunque el hecho de volver a ejecutar estas transacciones no produzca resultados erróneos, si repercutirá en un aumento del tiempo de ejecución del proceso de recuperación.

Para reducir este tipo de sobrecarga se introducen los puntos de revisión. Durante la ejecución, el sistema actualiza el registro histórico utilizando la técnica de modificación diferida de la base de datos ó la técnica de modificación inmediata de la base de datos. Además el sistema realiza periódicamente puntos de revisión, en los cuales tiene lugar la siguiente secuencia de acciones:

1. escritura en almacenamiento estable de todos los registros del registro histórico que residan en ese momento en memoria principal.
2. escritura en disco de todos los bloques de memoria intermedia que se hayan modificado.
3. escritura en almacenamiento estable de un registro del registro histórico .

Mientras se lleva cabo un punto de revisión no se permite que ninguna transacción realice acciones de actualización, tales como escribir en un bloque de memoria intermedia o escribir un registro del registro histórico.

La presencia de un registro en el registro histórico permite que el sistema pueda hacer más eficiente su procedimiento de recuperación.

1.5. PAGINACION EN LA SOMBRA

La paginación en la sombra es una técnica de recuperación alternativa a las basadas en registro histórico. Bajo ciertas circunstancias la paginación en la sombra puede requerir menos acceso al disco que los métodos basados en registro histórico. No obstante, existen algunos inconvenientes en el enfoque de la paginación en la sombra.

Igual que antes, la base de datos se divide en un número determinado de bloques de longitud fija a los que se denominara paginas. Tras la paginación en la sombra se mantienen dos tablas de páginas durante la vida de una transacción: la tabla de páginas actual y las tablas de páginas sombra.

Intuitivamente, el enfoque de la paginación en la sombra para recuperación se basa en almacenar la tabla de páginas sombra en almacenamiento no volátil, de modo que puede recuperarse el estado de la base de datos antes de la ejecución de una transacción en caso de producirse una caída del sistema o de que se abortase la transacción. La tabla actual de páginas se escribe en almacenamiento no volátil cuando la transacción se compromete. Entonces, la tabla actual de páginas se convierte en la nueva tabla de páginas de sombra y se concede el permiso para la ejecución de la siguiente transacción.

La paginación en la sombra presenta varias ventajas frente a as técnicas basadas en registro histórico. Se elimina la sobrecarga de escritura del registro histórico y la recuperación es notablemente más rápida. Sin embargo la técnica de paginación en la sombra también tiene ciertos inconvenientes:

• Sobrecarga en el compromiso.
• Fragmentación de datos.
• Recogida de basura.

Además de los inconvenientes anteriores, la paginación en la sombra presenta más dificultades que las técnicas basadas en registro histórico para adaptarla a sistemas que permitan la ejecución concurrente de varias transacciones. Por todas estas razones no esta muy extendido el uso de la paginación en la sombra.

1.6. TRANSACCIONES CONCURRENTES Y RECUPERACIÓN

Ahora se vera como modificar y extender el esquema de recuperación basado en registro histórico para permitir la ejecución concurrente de varias transacciones. El sistema sigue teniendo una única memoria intermedia de disco y un único registro histórico independiente del número de transacciones concurrentes. Todas las transacciones comparten los bloques de la memoria intermedia. Se permiten actualizaciones inmediatas y que un bloque de la memoria intermedia tenga elementos de datos que hayan sido modificados por una o más transacciones.

1.6.1. Interacción con el control de concurrencia

El esquema recuperación depende en gran medida del esquema de control de concurrencia que se use. Para retroceder los efectos de una transacción fallida deben deshacerse las modificaciones realizadas por esa transacción.

Es necesario, por tanto, que si una transacción modifica el valor de un elemento de datos, ninguna otra transacción pueda modificar el mismo elemento de datos hasta que se haya comprometido o se haya retrocedido. Este registro puede satisfacerse fácilmente utilizado bloqueo estricto de fases, esto es, bloqueo de dos fases manteniendo bloqueos exclusivos hasta el final de la transacción.

1.6.2. Retroceso de transacciones

Se utiliza el registro histórico para retroceder una transacción fallida. El registro histórico se explora hacia atrás; para cada registro del registro histórico, se restablece el valor del elemento de datos son su valor anterior. La exploración del registro histórico termina cuando se encuentra el registro. Es importante empezar por el final, ya que una transacción puede haber actualizado más de una vez el valor de un elemento datos. Una vez que haya actualizado un elemento de datos, ninguna otra transacción podría haber actualizado el mismo elemento de datos debido a los registros del control de concurrencia. Así pues la restricción del valor anterior de un elemento de datos no borrara los efectos de otra transacción.

1.6.3. Puntos de revisión

Los puntos de revisión son usados para reducir el número de registros del registro histórico que deben ser examinados cuando el sistema se recupera de una caída. Se asume que no existe la concurrencia, durante la recuperación es necesario considerar solamente las siguientes transacciones:

• Las transacciones que comenzaron después del último punto de revisión.
• La única transacción, si la había, que estaba activa en el momento de grabarse el ultimo punto de revisión.

Cuando las transacciones pueden ejecutarse concurrentemente, la situación se torna mas complicada ya que varias transacciones pueden estar activas en el momento en que se produce el último punto de revisión.

En un sistema de procesamiento de transacciones concurrente es necesario que el registro del registro histórico correspondiente a un punto de revisión sea de la forma , donde L, es una lista con las transacciones activas en el momento del punto de revisión.

El requisito de que las transacciones no puedan realizar modificaciones sobre los bloques de la memoria intermedia ni sobre el registro histórico durante un punto de revisión puede resultar molesto, ya que el procesamiento de transacciones tendrá que parar durante la ejecución de un punto de revisión. Un punto de revisión durante el cual se permite que las transacciones realicen modificaciones incluso mientras los bloques de memoria intermedia se están guardando en disco, se denomina punto de revisión difuso.

1.6.4. Recuperación al reiniciar

El sistema construye dos listas cuando se recupera de una caída: la lista- deshacer, que consta de las transacciones que han de deshacer, y la lista-rehacer, que esta formada por las transacciones que deben rehacerse.

Estas dos listas se construyen durante la recuperación de la siguiente manera. Al principio ambas están vacías. Luego se recorre el registro histórico hacia atrás examinando cada registró hasta que se encuentra el primer registro .

Una vez que se han examinado los registros apropiados del registro histórico, se atiende al contenido de la lista L en el registro punto de revisión.

Cuando se termina la lista-rehacer y la lista-deshacer, el proceso de recuperación procede de la siguiente manera:

1. Se recorre de nuevo el registro histórico hacia atrás comenzando en el ultimo registro y se realiza una operación deshacer por cada registro del registro histórico que pertenezca una transacción de la lista-deshacer.
2. Se localiza el ultimo registro del registro histórico.
3. Se recorre el registro hacia delante desde el ultimo registro se realiza una operación rehacer por cada registro del registro histórico que permanezca a una transacción de la lista-rehacer.

Es importante procesar el registro histórico hacia atrás en el paso para garantizar que el estado resultante de la base de datos sea correcto.

1.7. GESTIÓN DE LA MEMORIA INTERMEDIA

1.7.1. Registro histórico con memoria intermedia

El coste de realizar la escritura en almacenamiento estable de un bloque es suficientemente elevado para que sea deseable escribir de una sola vez varios registros del registro histórico. Para hacer esto se escriben los registros del registro histórico en una memoria intermedia almacenada en la memoria principal en la que permanecen durante un tiempo hasta que se guardan en almacenamiento estable. Se pueden acumular varios registros del registro histórico en la memoria intermedia del registro histórico y escribirse en almacenamiento estable con una sola operación. El orden de los registros del registro histórico en el almacenamiento estable debe ser exactamente el mismo orden en el que fueron escritos en la memoria intermedia del registro histórico.

Debido a la utilización de la memoria intermedia en el registro histórico, antes de ser escrito en almacenamiento estable, un registro del registro histórico puede permanecer únicamente en memoria principal (almacenamiento volátil) durante un espacio de tiempo considerable.

1.7.2. Base de datos con memoria intermedia

La base de datos se almacena en almacenamiento no volátil (disco) y cuando es necesario, se traen a memoria principal los bloques de datos que hagan falta. Como la memoria principal suele ser mucho más pequeña que la base de datos completa, puede ser necesaria la sobreescritura de un bloque B1 en memoria principal cuando es necesario traer a memoria otro bloque B2. Si B1 ha sido modificado, B1 se debe escribir ante de traer B2. Esta jerarquía de almacenamiento se corresponde con el concepto usual de memoria virtual.

1.7.3. El papel de sistema operativo en la gestión de la memoria intermedia

La memoria intermedia de la base de datos puede gestionarse usando uno de estos dos enfoques:

1. El sistema de base de datos reserva parte de la memoria principal para utilizarla como memoria intermedia y es el, en vez del sistema operativo, el que se encarga de gestionarlo.
2. El sistema de base de datos implementa su memoria intermedia dentro de la memoria virtual del sistema operativo.

Ambos enfoques tienen algunos inconvenientes, debe elegirse cualquiera de los dos excepto si el sistema operativo esta diseñado para soportar los requisitos del registro histórico de base de datos.

1.8. FALLO CON PERDIDA DE ALMACENAMIENTO NO VOLATIL

A pesar de que es raro encontrarse con un fallo en el que se pierde información de almacenamiento no volátil, es necesario prepararse para afrontar este tipo de fallos.
La idea básica es volcar periódicamente (una vez al día) el contenido entero de la base de datos en almacenamiento estable.

Más precisamente, ninguna transacción puede estar activa durante el procedimiento de volcado y tendrá lugar una secuencia de acciones similar a la utilizada en los puntos de revisión:

1. Escribir en almacenamiento estable todos los registros del registro histórico que residan en ese momento en memoria principal.
2. Escribir en disco todos los bloques de la memoria intermedia.
3. Copiar el contenido de la base de datos en almacenamiento estable.
4. Escribir el registro del registro histórico en almacenamiento estable.

Para la recuperación por pérdida de almacenamiento no volátil se restituye la base de datos en el disco utilizando el último volcado realizado. Entonces se consulta el registro histórico y se rehacen todas las transacciones que se hubieran comprometido desde que se efectuó el último volcado.

1.9. TÉCNICAS AVANZADAS DE RECUPERACIÓN

Se han propuesto varias técnicas de recuperación alternativas que pueden aplicarse incluso con bloqueos de liberaron rápida.

1.9.1. Registro de deshacer lógico

Si se usa una operación deshacer física, es decir, si durante el retroceso se escriben los valores anteriores de los nodos internos del árbol B+ (antes de ejecutar la operación inserción), podrían perderse algunas de las modificaciones realizadas por inserciones o barrados ejecutados posteriormente por otras transacciones.

La operación inserción no debe deshacer así, sino con una operación deshacer lógica, esto es, mediante la ejecución de una operación borrado en este caso.

Las operaciones de inserción y borrado son ejemplos de un tipo de operaciones que requieren operaciones deshacer lógicas, ya que liberan rápidamente los bloqueos. Estas operaciones se denominan operaciones lógicas.

1.9.2. Retroceso de transacciones

El retroceso de transacciones durante el modo de operación normal (esto es, no durante la fase de recuperación). Se recorre el registro histórico hacia atrás y se usan los registros del registro histórico pertenecientes a la transacción para devolver a os elementos de datos sus valores anteriores. Estos registros del registro histórico se denominan a veces registros de compensación del registro histórico. Estos registros no necesitan información para deshacer puesto que nunca es necesario realizar esta operación.

1.9.3. Punto de revisión

Los puntos de revisión suspenden temporalmente las modificaciones sobre la base de datos y se llevan a cabo las siguientes acciones:

1. Se escriben en almacenamiento estable todos los registros del registro histórico que se encuentran en ese momento en la memoria principal.
2. Se escriben en disco todos los bloques de la memoria intermedia que se hayan modificado.
3. Se escribe en almacenamiento estable el registro , donde L es una lista de todas las transacciones activas.

1.9.4. Recuperación al reiniciar

Las acciones de recuperación se realizan en dos fases cuando se vuelve a iniciar el sistema de base de datos después del fallo:

1. En la fase rehacer se vuelven a realizar modificaciones de todas las transacciones mediante la exploración hacia delante del registro histórico a partir del ultimo punto de revisión.
2. en la fase deshacer se retroceden todas las transacciones de la lista-deshacer. Se realiza el retroceso recorriendo el registro histórico hacia atrás empezando por el final.

1.9.5. Revisión difusa

La revisión difusa requiere que, mientras se efectúa el punto de revisión, se suspendan temporalmente todas las modificaciones de la base de datos. Si el número de painas de la memoria intermedia es grande, un punto de revisión puede llevar mucho tiempo, lo que puede resultar en una interrupción inaceptable en el procedimiento de transacciones. Para evitar estas interrupciones es posible modificar la técnica para permitir modificaciones después de haber escrito en el registro histórico el registro revisión, pero antes de escribir en disco los bloques de la memoria intermedia que han sufrido modificaciones. El punto de revisión así generado recibe el nombre de punto de revisión difuso.

1.9.6. Aries

El método de recuperación Aries representa a los métodos actuales de recuperación. La técnica de recuperación avanzada que se ha descrito se ha modelado después de Aries, pero se ha simplificado significativamente para ilustrar los conceptos clave y hacerlo mas fácil de comprender. En cambio Aries utiliza varias técnicas para reducir la sobrecarga de los puntos de revisión. En particular Aries es capaz de evitar rehacer muchas operaciones registradas que ya se han realizado y de reducir la cantidad de información registrada. El precio pagado es una mayor complejidad, pero beneficios merecen la pena.

Las diferencias principales entre Aries y el algoritmo de recuperación avanzada expuesto son que Aries:

1. Usa un número de secuencia del registro histórico para identificar a los registros del registro histórico.
2. Soporta operaciones rehacer fisiológicamente, que son físicas en el sentido en que la pagina afectada esta físicamente identificada, pero que pueden ser lógicas en la pagina.
3. Usar una tabla de paginas desfasadas para minimizar las operaciones rehacer innecesarias durante la recuperación.
4. Usa un esquema de revisión difusa que solo registra información sobre las páginas desfasadas e información asociada y no requiere siquiera la escritura de las páginas desfasadas a disco.

1.9.6.1 Estructura de datos

Cada registro de Aries tiene un número de secuencia del registro histórico (NSR) que lo identifica unívocamente. El NSR consiste en un número de archivo y un desplazamiento dentro del archivo.

1.9.6.2. Algoritmo de recuperación

Aries recupera de una caída del sistema en tres fases:

• Paso de análisis. Este paso determina las transacciones que hay que deshacer, las paginas que están desfasadas en el momento de la caída y el NSR en el que debería comenzar el paso rehacer.
• Paso rehacer. Este paso comienza en una posición determinada durante el análisis y realiza una operación rehacer, repitiendo la historia, para llevar a la base de datos al estado anterior a la caída.
• Paso deshacer. Este paso retrocede todas las transacciones incompletas en el momento de la caída.

1.9.6.3. Otras características

Entre otras de las características que proporciona Aries se encuentran:
• Independencia de recuperación. Algunas paginas se pueden recuperar independientemente de otras, de forma que se pueden usar incluso cuando se estén recuperando otras.
• Puntos de almacenamiento. Las transacciones pueden registrar puntos de almacenamiento y se pueden retroceder parcialmente hasta un punto de almacenamiento.
• Bloqueo de grano fino. El algoritmo de recuperación de Aries se puede usar con algoritmos de control de concurrencia de índices que permiten el bloqueo en el nivel de tuplas de los índices, en lugar del bloqueo en el nivel de las páginas, lo que aumenta significativamente la concurrencia.
• Optimizaciones de recuperación. La TablaPaginasDesfasadas se puede usar para preextraer páginas durante la operación rehacer, en lugar de extraer una pagina solo cuando el sistema encuentra un registro del registro histórico a aplicar a la página.

1.10. SISTEMAS REMOTOS DE COPIAS DE SEGURIDAD

Los sistemas tradicionales de procesamiento de transacciones son sistemas centralizados o sistemas cliente-servidor. Estos sistemas deben proporcionar una disponibilidad elevada, es decir, el tiempo en que el sistema no es utilizable debe ser extremadamente pequeño.

Varios aspectos que deben adoptarse al diseñar sistemas remotos para copias de seguridad son los siguientes:

• Detección de fallos. Al igual que en los protocolos para el manejo de fallos en sistemas distribuidos, es importante que el sistema remoto de copia de seguridad detecte que el sitio principal ha fallado.
• Transferencia del control. Cuando el sitio principal falla, el sitio copia de seguridad asume el procesamiento y se transforma en el nuevo sitio principal.
• Tiempo de recuperación. Si el registro histórico del sitio remoto copia de seguridad se hace grande, la recuperación puede tardar mucho.
• Tiempo de compromiso. Para asegurar que las actualizaciones de una transacción comprometida sean duraderas no se debe declarar comprometida una transacción hasta que sus registros del registro histórico hayan alcanzado el sitio copia de seguridad.

CONCLUSIÓN

Podemos concluir que cada uno de lo elementos en la recuperación de información de la base de datos son de gran utilidad, teniendo también claro que los sistemas de recuperación tienen fallos lo cuales se describieron anteriormente; así también se mencionaron cuales son los mas utilizados, al mismo tiempo sus ventaja y desventajas.

BIBLIOGRAFIA

Fundamentos de Bases de Datos. Cuarta Edición
Silberschatz; Korth; Sudarshan.
McGraw Hill. 2002

0 Comments: