Sei sulla pagina 1di 18

CONFIABILIDAD EN BASES DE DATOS DISTRIBUIDAS

Ing. Fernando Ortiz Ahumada

INTRODUCCIN
Un sistema de manejo de bases de datos confiable es aquel que puede continua procesando las solicitudes de usuario an cuando el sistema sobre el que opera no es confiable. En otras palabras, aun cuando los componentes de un sistema distribuido fallen, un sistema de manejo de bases de datos confiable debe seguir ejecutando las solicitudes de usuario sin violar la consistencia de la base de datos.

DEFINICIONES Confiabilidad
Se puede ver como una medida con la cual un sistema conforma su comportamiento a alguna especificacin. Se puede interpretar como la probabilidad de que un sistema no haya experimentado ninguna falla dentro de un periodo de tiempo dado. La confiabilidad se utiliza como un criterio para describir sistemas que no pueden ser reparados o donde la operacin del sistema es critica.

DEFINICIONES Disponibilidad
Es la fraccin del tiempo que un sistema satisface su especificacin. En otras palabras, la probabilidad de que el sistema sea operacional en un instante dado de tiempo.

DEFINICIONES Sistema
Se refiere a un mecanismo que consiste de una coleccin de componentes y sus interacciones con el medio ambiente que responden a estmulos que provienen del mismo con un patrn de comportamiento reconocible. El comportamiento del sistema al responder a cualquier estimulo del medio ambiente necesita establecerse por medio de una especificacin, la cual indica el comportamiento valido de cada estado del sistema.

DEFINICIONES De faltas a fallas


Cualquier desviacin de un sistema del comportamiento descrito en su especificacin se considera como una falla . Cada falla necesita ser rastreada hasta su causa. Es posible que el sistema caiga en un estado interno el cual no obedece a su especificacin; a este tipo de estados se les conoce como estados errneos . La parte del estado interno que es incorrecta se le conoce como error del sistema. Cualquier error en los estados internos de las componentes del sistema se le conoce como una falta en el sistema.

DEFINICIONES De faltas a fallas


Las faltas del sistema se pueden clasificar como severas (hard) y no severas (soft). Las faltas severas casi siempre son de tipo permanente y conducen a fallas del sistema severas. Las faltas no severas por lo general son transitorias o intermitentes.

TIPOS DE FALLAS
Fallas de transacciones. Las fallas en transacciones se pueden deber a un error debido a datos de entrada incorrectos as como a la deteccin de un interbloqueo. La forma usual de enfrentar las fallas en transacciones es abortarlas. Fallas del sistema. En un sistema distribuido se pueden presentar fallas en el procesador, la memoria principal o la fuente de energa de un nodo. En este tipo de fallas se asume que el contenido de la memoria principal se pierde, pero el contenido del almacenamiento secundario es seguro. Tpicamente, se hace diferencia entre las fallas parciales y fallas totales del nodo. Una falla total se presenta en todos los nodos del sistema distribuido. Una falla parcial se presenta solo en algunos nodos del sistema.

TIPOS DE FALLAS
Fallas del medio de almacenamiento. Se refieren a las fallas que se pueden presentar en los dispositivos de almacenamiento secundario que almacenan las bases de datos. Esas fallas se pueden presentar por errores del sistema operativo, por errores del controlador del disco, o del disco mismo. Fallas de comunicacin. Las fallas de comunicacin en un sistema distribuido son frecuentes. Estas se pueden manifestar como prdida de mensajes lo que lleva en un caso extremo a dividir la red en varias subredes separadas.

PROTOCOLOS LOCALES
Se refiere a las funciones realizadas por el administrador de recuperacin local el cual debe existir en cada nodo. Estas funciones mantienen las propiedades de atomicidad y durabilidad de las transacciones locales. Ellas estn relacionadas a la ejecucin de los comandos que son pasados al administrador de recuperacin local, las cuales son: begin_transaction, read, write, commit y abort .

INFORMACION DE RECUPERACION
Cuando una falla del sistema ocurre, el contenido de la bases de datos voltil se pierde. Por lo tanto, el manejador de BDD tiene que mantener cierta informacin acerca de su estado en el momento de la falla con el fin de ser capaz de llevar a la BD al estado en el que se encontraba antes de la falla. La informacin de recuperacin que el sistema mantiene depende del mtodo con el que se realizan las actualizaciones. Existen dos estrategias para efectuarlas: en el lugar (in-place) y fuera de lugar (out-of-place).

RECUPERACIN IN-PLACE
Cada actualizacin se hace directamente en los valores almacenados en las paginas de los buf fers de la base de datos. Dado que las actualizaciones in-place hace que los valores anteriores se pierdan, es necesario mantener suficiente informacin de los cambios de estado en la BD. Esta informacin se mantiene, por lo general, e el registro de la BD (database log). As cada actualizacin, no solo cambia la base de datos, sino es tambin guardada en el registro de la BD.

RECUPERACIN IN-PLACE
El registro de la BD contiene informacin que es utilizada por el proceso de recuperacin para restablecer la BD a un estado consistente. Esta informacin puede incluir entre otras cosas: El identificador de la transaccin El tipo de operacin realizada Los datos accesados por la transicin para realizar la accin El valor anterior del dato (imagen anterior) El valor nuevo del dato (imagen nueva)

RECUPERACIN OUT-OF-PLACE
Las tcnicas de recuperacin mas comunes son del tipo inplace, pero aqu se presentan las tcnicas mas comunes de recuperacin out-of-place: 1. Shadowing. Cuando ocurre una actualizacin, no se cambia la pgina anterior, sino se crea una pgina sombra con el nuevo valor y se escribe en la base de datos estable. Se actualizan los caminos de acceso de manera que los accesos posteriores se hacen a la nueva pgina sombra. La pgina anterior se retiene para propsitos de recuperacin, para realizar una operacin UNDO.

RECUPERACIN OUT-OF-PLACE
2. Archivos diferenciales. Para cada archivo F se mantiene una parte de solo lectura (FR), un archivo diferencial que consiste de la parte de inserciones DF+ y la parte de supresiones DF-. As, el archivo completo consistir de la unin de la parte de lectura ms la parte de inserciones y a todo esto se le eliminan las supresiones realizadas. F = (FR U DF+) DFTodas las actualizaciones se tratan como la supresin de un valor anterior y la insercin de un nuevo valor. Peridicamente, el archivo diferencial tiene que ser mezclado con el archivo base de solo lectura.

PROTOCOLOS DISTRIBUIDOS
Como con los protocolos de recuperacin local, las versiones distribuidas ayudan a mantener la atomicidad y durabilidad de las transacciones. La ejecucin de los comandos begin_transaction, read y write no provoca ningn cambio significativo. Sin embargo, la ejecucin de las operaciones commit, abort y recover requieren del desarrollo de un protocolo especial para cada una de ellas en el cual participan todos los nodos de la red que intervienen en una transaccin.

COMPROMISO DE DOS FASES


El compromiso de dos fases (two-phase commit) es un protocolo muy simple que asegura la atomicidad de las transacciones distribuidas. Extiende los efectos de una operacin local de commit a transacciones distribuidas poniendo de acuerdo a todos los nodos involucrados en la ejecucin de una transaccin antes de que los cambios hechas por la transaccin sean permanentes.

COMPROMISO DE DOS FASES


Las fases del protocolo son las siguientes: Fase 1 : el coordinador hace que todos los participantes estn listos para escribir los resultados en la base de datos. Fase 2 : Todos escriben los resultados en la base de datos.

La terminacin de una transaccin se hace mediante la regla del compromiso global : 1. El coordinador aborta una transaccin si y solamente si al menos un participante vota por que se aborte. 2. El coordinador hace un commit de la transaccin si y solo si todos los participantes votan por que se haga el commit.

Potrebbero piacerti anche