Вы находитесь на странице: 1из 8

Jos Roberto Mendoza Valerio

Consideraciones para el diseo de una BDD


En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican entre s a travs de diversos medios de comunicacin, tales como cables de alta velocidad o lneas telefnicas. No comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido pueden variar en cuanto su tamao y funcin. Pueden incluir microcomputadores pequeos, estaciones de trabajo y sistemas de computadores grandes de aplicacin general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos o computadores. Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada uno de las cuales puede participar en la ejecucin de transacciones que accedan a datos de una o varias localidades. La diferencia principal entre los sistemas de base de datos centralizados y distribuidos es que, en los primeros, los datos residen en una sola localidad, mientras que, en los ltimos, se encuentran en varias localidades. Estructura de Base de Datos Distribuidas Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, o bien transacciones globales entre varias localidades, requiriendo para ello comunicacin entre ellas. Las localidades pueden conectarse fsicamente de diversas formas, las principales son:

Red totalmente conectada Red prcticamente conectada Red con estructura de rbol Red de estrella Red de anillo

Las diferencias principales entre estas configuraciones son:


Coste de instalacin: El coste de conectar fsicamente las localidades del sistema Coste de comunicacin: El coste en tiempo y dinero que implica enviar un mensaje desde la localidad A a la B. Fiabilidad: La frecuencia con que falla una lnea de comunicacin o una localidad. Disponibilidad: La posibilidad de acceder a informacin a pesar de fallos en algunas localidades o lneas de comunicacin.

Las localidades pueden estar dispersas, ya sea por un rea geogrfica extensa (a lo largo de un pas), llamadas redes de larga distancia; o en un rea reducida (en un mismo edificio), llamadas redes de rea local. Para las primeras se utilizan en la comunicacin lneas

Jos Roberto Mendoza Valerio telefnicas, conexiones de microondas y canales de satlites; mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra ptica. Consideraciones al distribuir la base de datos Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la informacin, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero tambin tiene sus desventajas, como desarrollos de software ms costosos, mayor posibilidad de errores y costos extras de procesamiento. Ventajas de la distribucin de datos La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la informacin de una forma fiable y eficaz. Utilizacin compartida de los datos y distribucin del control La ventaja principal de compartir los datos por medio de la distribucin es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema centralizado, el administrador de base de datos de la localidad central controla la base de datos. En un sistema distribuido existe un administrador global de la base de datos que se encarga de todo el sistema. Parte de esta responsabilidad se delega al administrador de base de datos de cada localidad. Dependiendo del diseo del sistema distribuido, cada administrador local podr tener un grado de autonoma diferente, que se conoce como autonoma local. La posibilidad de contar con autonoma local es en muchos casos una ventaja importante de las bases de datos distribuidas. Fiabilidad y disponibilidad Si se produce un fallo en una localidad de un sistema distribuido, es posible que las dems localidades puedan seguir trabajando. En particular, si los datos se repiten en varias localidades, una transaccin que requiere un dato especfico puede encontrarlo en ms de una localidad. As, el fallo de una localidad no implica necesariamente la desactivacin del sistema. El sistema debe detectar cuando falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que fall. Por ltimo, cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mnimo de complicaciones. La disponibilidad es fundamental para los sistemas de bases de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una lnea area no puede tener acceso a la informacin, es posible que pierda clientes a favor de la competencia. Agilizacin del procesamiento de consultas

Jos Roberto Mendoza Valerio Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas localidades. Sin embargo, en un sistema distribuido no se comparte la memoria principal, as que no todas las estrategias de interseccin se pueden aplicar en estos sistemas. En los casos en que hay repeticin de los datos, el sistema puede pasar la consulta a las localidades ms ligeras de carga. Desventajas de la distribucin de los datos La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinacin adecuada entre localidades. El aumento de la complejidad se refleja en:

Coste del desarrollo de software: es ms difcil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor Mayor posibilidad de errores: puesto que las localidades del sistema distribuido operan en paralelo, es ms difcil garantizar que los algoritmos sean correctos. Mayor tiempo extra de procesamiento: el intercambio de mensajes y los clculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados.

Transparencia y Autonoma En la seccin anterior se vio que una relacin r puede almacenarse de varias formas en un sistema de base de datos distribuida. Es esencial que el sistema reduzca al mnimo la necesidad de que el usuario se d cuenta de cmo est almacenada una relacin. Como veremos. Un sistema puede ocultar los detalles de la distribucin de la informacin en la red. Esto se denomina transparencia de la red. La transparencia de la red se relaciona, en algn modo, a la autonoma local. La transparencia de la red es el grado hasta el cual los usuarios del sistema pueden ignorar los detalles del diseo distribuido. La autonoma local es el grado hasta el cual el diseador o administrador de una localidad pueden ser independientes del resto del sistema distribuido. Los temas de transparencia y autonoma sern considerados desde los siguientes puntos de vista:

Nombre de los datos. Repeticin de los datos. Fragmentacin de los datos. Localizacin de los fragmentos y copias.

Asignacin de nombres y autonoma local Todo elemento de informacin de una base de datos debe tener un nombre nico. Esta propiedad se asegura fcilmente en una base de datos que no est distribuida. Sin embargo, en una base de dalos distribuida, las distintas localidades deben asegurarse no utilizar el mismo nombre para dos datos diferentes.

Jos Roberto Mendoza Valerio Una solucin para este problema es requerir que se registren todos los nombres en un asignador central de nombres. Sin embargo, este enfoque tiene varias desventajas:

Es posible que el asignador de nombres se convierta en un cuello de botella... Si el asignador de nombres se cae, es posible que ninguna de las localidades del sistema distribuido pueda seguir trabajando. Se reduce la autonoma local, ya que la asignacin de nombres se controla de forma centralizada.

Un enfoque diferente que origina una mayor autonoma local es exigir que cada localidad ponga como prefijo un identificador de localidad a cualquier nombre que genere. Esto garantiza que dos localidades nunca generarn el mismo nombre (ya que cada localidad tiene un identificador nico). Adems, no se requiere un control central. Esta solucin al problema de asignacin de nombres, logra autonoma local, pero no transparencia de la red, ya que se agregan identificadores de localidad a los nombres. As, la relacin depsito podra llamarse localidad17.depsito en vez de depsito simplemente. Cada copia y fragmento de un elemento de informacin deben tener un nombre nico. Es importante que el sistema pueda determinar qu copias son copias del mismo elemento de informacin y qu fragmentos son fragmentos del mismo elemento de informacin. Transparencia de la repeticin y la fragmentacin No es conveniente requerir que los usuarios hagan referencia a una copia especfica de un elemento de informacin. El sistema debe ser el que determine a qu copia debe acceder cuando se le solicite su lectura, y debe modificar todas las copias cuando se produzca una peticin de escritura. Cuando se solicita un dato, no es necesario especificar la copia. El sistema utiliza una tablacatlogo para determinar cules son todas las copias de ese dato. De manera similar, no debe exigirse a los usuarios que sepan cmo est fragmentado un elemento de informacin. Es posible que los fragmentos verticales contengan id-tuplas, que representan direcciones de tuplas. Los fragmentos horizontales pueden haberse obtenido por predicados de seleccin complejos. Por tanto, un sistema de bases de datos distribuido debe permitir las consultas que se hagan en trminos de elementos de informacin sin fragmentar. Esto no presenta problemas graves, ya que siempre es posible reconstruir el elemento de informacin original a partir de sus fragmentos. Sin embargo, este proceso puede ser ineficiente. Transparencia de localizacin Si el sistema es transparente en cuanto a repeticin y fragmentacin, se ocultar al usuario gran parte del esquema de la base de datos distribuida. Sin embargo, el componente de los

Jos Roberto Mendoza Valerio nombres que identifican a la localidad obliga al usuario a darse cuenta del hecho de que cl sistema est distribuido. La transparencia de localizacin se logra creando un conjunto de seudnimos o alias para cada usuario. As, el usuario puede referirse a los datos usando nombres sencillos que el sistema traduce a nombres completos. Con el uso de seudnimos, no ser necesario que el usuario conozca la localizacin fsica de un dato. Adems, el administrador de la base de datos puede cambiar un dato de una localidad a otra sin afectar a los usuarios. Esquema completo de asignacin de nombres Ya vimos que un nombre proporcionado por el usuario debe pasar por varios pasos de traduccin antes de que pueda servir como referencia a una copia especfica de un fragmento determinado en una localidad especfica. Para ilustrar cmo funciona el esquema, consideramos un usuario que se encuentra en la sucursal 1 (L1). Este usuario emplea el seudnimo depsito-local para el fragmento local depsito-F1 de la relacin deposito. Cuando este usuario hace referencia a depsito-local, el subsistema de procesamiento de consultas busca depsito-local en la tabla de seudnimos y la sustituye por Ll.depsito.F1. Es posible que L1.depsito.Fl est repetido. Si es as, debe consultarse la tabla de copias para elegir una copia. Esta copia podra tambin estar fragmentada, lo que hara necesario consultar la tabla de fragmentacin. En la mayor parte de los casos, slo es preciso consultar una o dos tablas. Transparencia y actualizaciones De alguna forma es ms difcil hacer transparente la base de datos para usuarios que la actualizan que para aquellos que slo leen datos. El problema principal es asegurarse de que se actualizan todas las copias de un dato y tambin los fragmentos afectados. En el caso ms general, el problema de actualizacin de informacin repetida y fragmentada est relacionado con el problema de actualizacin de vistas.

Diccionario De Datos
Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripcin, alias, contenido y organizacin. Estos diccionarios se desarrollan durante el anlisis de flujo de datos y ayuda a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo del proyecto.

Jos Roberto Mendoza Valerio Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos. Ejemplos Nombre = Ttulo + Primer-nombre + Apellido-paterno + Apellido-materno Ttulo = [ Sr | Sra | Dr | Ing] Primer-nombre = {carcter} Apellido-paterno = {carcter} Apellido-materno = {carcter} Carcter = [A-Z|a-z| |] a Razones para su utilizacin: 1- Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas ms chicos hay gran cantidad de datos. Los sistemas al sufrir cambios continuos, es muy difcil manejar todos los detalles. Por eso se registra la informacin, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseados especficamente para el anlisis y diseo de software. 2- Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionados con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez.

Jos Roberto Mendoza Valerio 3- Para documentar las caractersticas del sistema, incluyendo partes o componentes as como los aspectos que los distinguen. Tambin es necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensin ms completa. Una vez que las caractersticas estn articuladas y registradas, todos los participantes en el proyecto tendrn una fuente comn de informacin con respecto al sistema. 4- Para facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Determina si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo. Se abordan las caractersticas:

Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema. Preguntas: solicitudes para la recuperacin o procesamiento de informacin para generar una respuesta especfica. Archivos y bases de datos: detalles de las transacciones y registros maestros que son de inters para la organizacin. Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos

5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores.

Niveles De Transparencia
La transparencia es la separacin de la semntica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementacin del mismo. La podemos ver como la ocultacin de los usuarios y programadores de aplicacin de los componentes especificados por separado. De manera que vean una aplicacin como un todo y no como componentes separados. La independencia de datos en ambiente distribuido, es el propsito fundamental de la transparencia. En una BDD es deseable que cuente con las transparencias de distribucin, que facilita al usuario de la misma, realizar las tareas con mayor eficacia, las cuales son: a) Transparencia de Localizacin.- Permite a los usuarios accesar a la informacin de un archivo cualquiera de la BD sin necesidad de indicar en que computadora se encuentra el archivo.

Jos Roberto Mendoza Valerio b) Transparencia de Fragmentacin.- Permite al usuario accesar a la informacin de un archivo fragmentado como si todos los datos del archivo estuvieran en una misma computadora. Es decir, cuando se crea transparencia de fragmentacin, el sistema crea la ilusin de que los archivos no estn fragmentados. c) Transparencia de rplica: Los usuarios ven cada objeto de datos como lgicamente nico. Puede que el sistema distribuido replique los objetos para incrementar el rendimiento del sistema o la disponibilidad de los datos. Los usuarios no deben preocuparse por los objetos que se hayan replicado ni por la ubicacin de esas rplicas.

Вам также может понравиться