Instituto Tecnológico Superior de Misantla Bases de Datos Distribuidas Problemas de los Sistemas de Base de Datos Distribuidos Docente: Lic. Arnulfo Gamaliel Hernández González Alumno: Hazael Jaramillo Molina
Misantla, Ver. A 24 de Febrero de 2009
A pesar de tener la ventaja de permitir que la información sea accedida de forma más eficiente, a diferencia de un sistema centralizado, las bases de datos distribuidas también tienen ciertas desventajas, las cuales se enuncian a continuación. • •
•
•
•
•
•
Las velocidades de transmición del medio de comunicación pueden ser tan bajas como 1200 bps. Mientras que un sistema local se tienen velocidades de 2 Mbps. Procesamiento de consultas: En este sentido se debe tratar de reducir el número y tamaño de registros que son movidos entre los diferentes lugares al tratar de resolver consultas. Además de la información que se requiere para realizar la optimización en forma local, es necesario contar con la información de fragmentación y localización. Administración del catálogo. En este aspecto existen varias alternativas: ◦ Centralizado. ◦ Completamente replicado. ◦ Particionado. ◦ Centralizado y algunas particiones. Un punto crucial en este sentido es crear nombres únicos para cada tabla, campos, etc. independientemente de su localización. Propagación de actualizaciones: Este es uno de los problemas más graves de tener los datos replicados. No se cuenta con una solución óptima, y la estrategia que normalmente se implementa es la siguiente: ◦ Una copia centralizada que es la que generalmente se actualiza. ◦ Múltiples copias que son actualizadas bajo la responsabilidad del lugar que tiene la copia centralizada. Concurrencia: Este problema puede dar lugar a DEADLOCKS distribuidos. Una de las estrategias que se siguen para controlar la concurrencia involucra (considerando que hay N lugares). ◦ N requerimientos de bloqueo. ◦ N concesiones de bloqueo. ◦ N mensajes de actualización ◦ N reconocimientos. ◦ N requerimientos de desbloqueo. Mientras que en el enfoque de una copia centralizada que después se actualiza se requiere: ◦ Un requerimiento de bloqueo. ◦ Una conseción de bloqueo. ◦ N actualizaciones. ◦ N reconocimientos. ◦ 1 requerimiento de desbloqueo. Fallas locales y globales: Una falla local es aquella que solo afecta a una transacción local por contraste una falla global afecta a todas las transacciones y posiblemente al sistema de computación completo. Las fallas globales pueden clasificarse en: ◦ Fallas del sistema: Afectan a todas las transacciones en progreso pero no dañan físicamente la base de datos. La parte crítica de este tipo de falla es que el contenido de la memoria principal se pierde. Al restaurar la operación del sistema es necesario deshacer las operaciones que no se completaron exitosamente y en ocasiones rehacer operaciones que se completaron exitosamente pero solo en los buffers de la memoria principal y no en el disco. La identificación de cuáles transacciones deshacer y cuales rehacer se soporta utilizando puntos de verificación en los cuales los buffers se actualizan en disco además de escribir un
registro de verificación en una bitácora. ◦ Fallas en unidades de almacenamiento: Afectan a la base de datos completa o a una porción de ella. Para recuperarse de este tipo de fallas es necesario contar con una copia anterior de la base de datos. Una vez restaurada dicha copia, solo es necesario rehacer las transacciones completadas en un tiempo posterior al del respaldo. Se trabaja con la bitácora desde el tiempo del respaldo hacia adelante. Las transacciones no completadas no es necesario rehacerlas puesto que su efecto no aparece en el respaldo de la base de datos. Es importante tener en mente que un SMBD no proporciona toda la seguridad requerida, por lo cuál es necesario establecer mecanismos de control adicionales. Uno de estos mecanismos es la realización de auditorías periódicas del contenido de la base de datos. Un mecanismo que incluso ya se soporta en algunos SMBD es el encriptado, de forma tal que un usuario a pesar de lograr el acceso físico a los archivos de una base de datos no pueda leerlos si no posee la clave de encriptado/desencriptado dependiendo del esquema de encriptado seguido.