capítulo 19 (técnicas de recuperación de datos ) y capítulo 20 (conceptos de las bases de datos...

33
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE CIENCIAS ECONOMICAS CARRERA DE FINANZAS TÉCNICAS DE RECUPERACIÓN DE BASES DE DATOS Luis Pillajo Aula 39

Upload: liz-ocampo

Post on 18-Jan-2017

290 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONOMICAS

CARRERA DE FINANZAS

TÉCNICAS DE RECUPERACIÓNDE BASES DE DATOS

Luis Pillajo

Aula 39

Page 2: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Técnicas de recuperaciónde bases de datos

Conceptos de recuperación

Luis Pillajo

Capítulo 19

Page 3: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Descripción de la recuperación y clasificación de los algoritmos de

recuperación

Luis Pillajo

Técnicas de recuperación de bases de datos

1. El método de recuperación restaura una copia de seguridad antigua de la base de datos que normalmente se archiva en cinta a partir de la copia de seguridad del registro.

2. También puede ser necesario rehacer algunas operaciones durante la recuperación se consultan las entradas guardadas en el registro del sistema online.

Page 4: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Almacenamiento en caché (búfer) de los bloques de disco

Normalmente, una o más de las páginas de disco que incluyen los elementos de datos que se van a actualizar se almacenan en caché en los búferes de la memoria principal, y después se actualizan en memoria antes de escribirse de nuevo en el disco.

Se utiliza un directorio para la caché a fin de rastrear los elementos de la base de datos que se encuentran en los búferes.!

Puede ser necesario limpiar algunos de los búferes de la caché para conseguir espacio para el elemento nuevo. Para seleccionar los búferes que se van a limpiar se puede utilizar alguna estrategia de sustitución de página propia de los sistemas operativos.

Cuando el contenido del búfer es reemplazado (limpiado) de la caché. También necesitamosotro bit, denominado bit pin-unpin

Luis Pillajo

Page 5: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Almacenamiento en caché (búfer) de los bloques de disco

• La primera, conocida como actualización en el lugar (in-place),

escribe el búfer en la misma ubicación de disco original, por lo que sobrescribe el valor antiguo de cualquier elemento de datos modificado en disco.

• Conocida como shadowing (en la sombra), escribe un búfer

actualizado en una ubicación diferente del disco, por lo que pueden conservarse varias versiones de los elementos de datos.

Luis Pillajo

El almacenamiento en caché es tradicionalmente una función del sistema operativo, pero debido a su importancia en la eficacia de los procedimientos de recuperación, el DBMS se encarga de hacerlo llamando a rutinas de bajo nivel de los sistemas operativos.Al volcar a disco un búfer modificado podemos utilizar dos estrategias:

Page 6: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Registro antes de la escritura, robar/no-robar y forzar/no-forzar

Una entrada de registro del tipo REHACER incluye el valor nuevo (AFIM) del elemento escrito por la operación, ya que lo necesitamos para rehacer el efecto de la operación a partir del registro del sistema (estableciendo el valor del elemento en la base de datos a su AFIM).

Las entradas de registro del tipo DESHACER incluyen el valor antiguo (BFIM) del elemento, ya que lo necesitamos para deshacer el efecto de la operación a partir del registro del sistema

Luis Pillajo

El mecanismo de recuperación debe garantizar la grabación de la BFIM del elemento de datos en la entrada apropiada del registro del sistema y que esa entrada se vuelque en disco antes de que la BFIM sea sobrescrita con la AFIM en la base de datos en disco. Este proceso se suele denominar registro antes de la escritura.

Page 7: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Luis Pillajo

Robar/no-robar Y

Forzar/no-forzar

Si una página en caché actualizada por una transacción no puede escribirse en disco antes de que la transacción se confirme, se denomina método no-robar. Si el protocolo permite escribir un búfer actualizado antes de que la transacción se confirme, se denomina robar.

Si todas las páginas actualizadas por una transacción se escriben inmediatamente en disco cuando la transacción se confirma, se denomina método forzar. En caso contrario, se conoce como no-forzar.

Page 8: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Puntos de control en el registro del sistema y puntos de control difusos

Luis Pillajo

Page 9: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Si una transacción falla por cualquier razón después de actualizar la base de datos, es posible tener que anular la transacción.

Luis Pillajo

Page 10: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Luis Pillajo

Técnicas de recuperación basadas en la actualización

diferida

Una transacción no puede modificar la base de datos en disco hasta haber alcanzado su punto de confirmación.

Una transacción no alcanza su punto de confirmación hasta que todas sus operaciones de actualización se han grabado en el registro del sistema y este último se ha escrito en el disco.

Page 11: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Acciones de transacción que no afectan a la base de datos

Luis Pillajo

En general, una transacción tendrá acciones que no afectan a la base de datos, como la generación e impresión de mensajes o informes a partir de la información recuperada de la base de datos.

Page 12: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Técnicas de recuperación basadas en la actualización

inmediata

1. Utiliza dos listas de transacciones que el sistema se encarga de mantener: las transacciones confirmadas desde el último punto de

control y las transacciones activas (como máximo, sólo una transacción entrará en

esta categoría porque el sistema es monousuario).

2. Deshace todas las operaciones escribir elemento

de la transacción activa a partir del registro del sistema,

utilizando el procedimiento DESHACER descrito a

continuación.

3. Rehace las operaciones escribir elemento de las

transacciones confirmadas a partir del registro del sistema, en el mismo orden en que se escribieron en dicho registro, utilizando el procedimiento

REHACER descrito anteriormente.

Luis Pillajo

Recuperación DESHACER/REHACER basada en la actualización inmediata en un entorno monousuario

Procedimiento RIU_S.

Page 13: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Utiliza dos listas de transacciones que el sistema se encarga de mantener: las transacciones confirmadas desde el último punto de control y las transacciones activas.

Deshace todas las operaciones escribir_elemento de las transacciones activas (no confirmadas), utilizando el procedimiento DESHACER. Las operaciones deben deshacerse en el orden inverso al orden en que se escribieron en el registro del sistema.

Rehace todas las operaciones escribir_elemento de las transacciones confirmadas a partir del registro del sistema, en el orden en que se escribieron en dicho registro.

Luis Pillajo

Procedimiento RIU_M.

Page 14: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Paginación en la sombra (shadowing)

Luis Pillajo

Page 15: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Algoritmo de recuperación ARIES

Luis Pillajo

El procedimiento de recuperación ARIES consta de tres pasos principales:

1. El análisis identifica las páginas sucias (actualizadas) en el búfer62. La fase REHACER realmente vuelve a aplicar a la base de datos las actualizaciones3. La fase DESHACER se explora el registro del sistema hacia atrás y se deshacen en orden

inverso las operaciones de las transacciones que estaban.

Page 16: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Recuperación en sistemas multibase de datos

Para mantener la atomicidad de una

transacción multibase de datos, es necesario tener un mecanismo de

recuperación de dos niveles. Necesitamos un

gestor de recuperación global, o

coordinador, para conservar la información

necesaria para la recuperación, además

de los gestores de recuperación locales y la

información que mantienen (registro del

sistema, tablas).

El efecto neto del protocolo de

confirmación en dos fases es que o todas las

bases de datos participantes confirman

el efecto de la transacción, o ninguna

de ellas lo hace.

En caso de que cualquiera de los

participantes(o el coordinador) falle,

siempre es posible volver a un estado en el

que la transacción se confirma o se anula.

Un fallo durante o antes de la fase 1

normalmente requiere que la transacción se

anule, mientras que un fallo

durante la fase 2 significa que una

transacción satisfactoria puede recuperarse y

confirmarse

Luis Pillajo

Page 17: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Copia de seguridad de la base de datos yrecuperación ante fallos catastróficos

Para evitar la pérdida de todos los efectos de las transacciones que se han ejecutado desde la última copia de seguridad, es costumbre hacer una copia de seguridad del registro del sistema a intervalos más frecuentes que la copia de seguridad de la base de datos completa, copiándolo periódicamente en la cinta magnética.Para recuperarse ante un fallo del disco, primero se vuelve a crear la base de datos en el disco a partir de su última copia de seguridad en cinta. A continuación, se reconstruyen los efectos de todas las transacciones confirmadas cuyas operaciones se han grabado en las copias de seguridad del registro del sistema.

Luis Pillajo

Page 18: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Conceptos de las bases dedatos de objetos

Las bases de datos son componentes fundamentales de muchos sistemas de software, y las bases de datos tradicionales son difíciles de utilizar con las aplicaciones orientadas a objetos que están desarrolladas con un lenguaje de programación orientado a objetos, como C++, Smalltalk o Java. Las bases de datos orientadas a objetos están diseñadas para que se integren directamente y sin problemas con las aplicaciones que están desarrolladas en dichos lenguajes.

Luis Pillajo

Capítulo 20

Page 19: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Panorámica de los conceptosde orientación a objetos

Luis Pillajo

Page 20: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Identidad del objeto

• Un sistema de bases de datos 00

proporciona una identidad única a cada objeto independiente almacenado en la base de datos. Esta identidad única suele implementarse mediante un identificador de objeto único, generado por el sistema, u orD.

• La principal propiedad que debe tener

un orD es la de ser inmutable, es decir, el valor de éste para un objeto particular no cambia. Esto preserva la identidad del objeto del mundo real que se está representando

Luis Pillajo

Page 21: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Estructura del objeto

Luis Pillajo

Los tres constructores más básicos son atom, tuple y set. Otros constructores que también se utilizan mucho son list, bag array. El constructor atom se utiliza para representar todos los valores atómicos básicos, como enteros, números reales, cadenas de caracteres, booleanos y cualquier tipo de datos básico que el sistema soporte directamente.

Page 22: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Constructores de tipos

Luis Pillajo

Page 23: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Encapsulamiento de operaciones,métodos y persistencia

El concepto de encapsulamiento es una de las principales características de los lenguajes y sistemas OO. También está relacionado con los conceptos de tipos de datos abstractos y ocultación de información en los lenguajes de programación. En los modelos y sistemas de bases de datos tradicionales, este concepto no se aplicaba porque lo habitual era que la estructura de los objetos de la base de datos fuera visible para los usuarios y programas externos.

Luis Pillajo

Page 24: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Especificación del comportamiento de los objetos a través de operaciones de clase

Los conceptos de ocultación de información y encapsulamiento pueden aplicarse a los objetos de bases de datos. La idea principal es definir el comportamiento de un tipo de objeto basándose en las operaciones que pueden aplicarse externamente a los objetos de ese tipo. Nuevo, y la operación destructor, que se utiliza para destruir un objeto.

También podemos declarar varias operaciones modificador de objeto para modificar los estados (valores) de varios atributos de un objeto. Operaciones adicionales pueden recuperar información sobre el objeto. Una operación se aplica normalmente a un objeto utilizando la notación de punto.

Luis Pillajo

Page 25: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Cómo especificar la persistencia de objeto a través de la denominación y la noción de alcance

Luis Pillajo

Page 26: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Jerarquías de tipos y herencia

EMPLEADO: Nombre, Direcc, FechaNac, Edad, Dni, Sueldo, FechaContrato, TiempoEnLaEmpresa

ESTUDIANTE: Nombre, Direcc, FechaNac, Edad, Dni, Especialidad, NotaMedia

Luis Pillajo

El nombre de una función lo podemos utilizar para referimos al valor de un atributo o al valor resultante de una operación (método). En esta sección utilizamos el término función para referimos indistintamente a los atributos y las operaciones de un tipo objeto, ya que se tratan de una forma parecida en una introducción básica a la herencia.Un tipo en su forma más simple puede definirse asignándole un nombre de tipo y, después, enumerando los nombres de sus funciones visibles (públicas).El concepto de subtipo resulta de utilidad cuando el diseñador o el usuario debe crear un tipo nuevo parecido pero no idéntico a un tipo definido ya existente. El subtipo hereda entonces todas las funciones del tipo predefinido, al que denominaremos supertipo. Por ejemplo, supongamos que queremos definir dos tipos nuevos, EMPLEADO Y ESTUDIANTE, de este modo:

Page 27: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Restricciones en las extensiones correspondientes a una jerarquía de tipos

Es común en las aplicaciones de bases de datos que cada tipo o subtipo tenga una extensión asociada, que alberga la colección de todos los objetos persistentes de ese tipo o subtipo. En este caso, la restricción es que cada objeto de una extensión que corresponde a un subtipo también debe ser miembro de la extensión que corresponde a su subtipo.

Algunos sistemas de bases de datos 00 tienen un tipo de sistema predefinido (denominado clase ROOT [raíz] o clase OBJECT [objeto]) cuya extensión contiene todos los objetos del sistema.

La clasificación procede entonces asignando objetos en los subtipos adicionales que son significativos para la aplicación, creando una jerarquía de tipos o de clases para el sistema.

Luis Pillajo

Page 28: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Objetos complejos

Luis Pillajo

Objetos complejos no estructurados y extensibilidad de tipos

Page 29: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Objetos complejos estructurados

Luis Pillajo

Page 30: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Otros conceptos de orientación a objetos

El polimorfismo de operaciones, que también se conoce como sobrecarga del operador. Este concepto permite que se vincule el mismo nombre de operador o símbolo a dos o más implementaciones diferentes del operador, dependiendo del tipo de objetos a los que se aplique ese operador. OBJETO_GEOMÉTRICO: Forma, Área, PuntoReferencia RECTÁNGULO subtipo-de OBJETO_GEOMÉTRICO (Forma='rectángulo'):

Anchura, Altura TRIÁNGULO subtipo-de OBJETO_GEOMÉTRICO (Forma='triángulo'):

lado1, lado2, Ángulo CíRCULO subtipo-de OBJETO_GEOMÉTRICO (Forma='círculo'): Radio

Luis Pillajo

Polimorfismo (sobrecarga del operador)

Page 31: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Herencia múltiple y herencia selectiva

Luis Pillajo

Page 32: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

Versiones

Si el sistema ya está operativo, y si es preciso cambiar uno o más de sus módulos, el diseñador debe crear una versión nueva de cada uno de esos módulos para implementar los cambios.

Observe que puede haber más de dos versiones de un objeto

Es lo que se denomina con frecuencia ingeniería concurrente.

Luis Pillajo

Page 33: Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de las bases de datos de objetos)

CONFIGURACIONES

Una configuración del objeto complejo es una colección consistente en una versión de cada módulo planificada de tal forma que las versiones del módulo de la configuración son compatibles y, juntas, forman una versión válida del objeto complejo.

Una nueva versión o configuración del objeto complejo no tiene que incluir las versiones nuevas de cada módulo.

Por tanto, determinadas versiones de módulos que no han cambiado pueden pertenecer a más de una configuración del objeto complejo.

Luis Pillajo