Upload
david-mancera
View
222
Download
0
Embed Size (px)
Citation preview
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
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. Nocomparten 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 unode 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 procesartransacciones 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 deun 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
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
2/8
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 incluyencompartir 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 cadalocalidad 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 administradorde 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 unaventaja 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 variaslocalidades, 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 pararecuperarse 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 enaplicaciones 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
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
3/8
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 estrategiasde 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 serequiere 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 sistemascentralizados.
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 lanecesidad 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, enalgn 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 autonomasern 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.
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
4/8
Jos Roberto Mendoza Valerio
Una solucin para este problema es requerir que se registren todos los nombres en unasignador 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 localidadtiene 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. Esimportante 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 unelemento 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 tabla-catlogo 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 obtenidopor 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 elelemento 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 usuariogran parte del esquema de la base de datos distribuida. Sin embargo, el componente de los
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
5/8
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 paracada 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 unalocalidad 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 unfragmento 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, elsubsistema 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 estarfragmentada, 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 deque 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.
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
6/8
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.
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
7/8
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 alsistema.
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 alusuario 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.
8/3/2019 40782886 Consideraciones Para El Diseno de Una BDD
8/8
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 lailusin de que los archivos no estn fragmentados.
c) Transparencia de rplica: Los usuarios ven cada objeto de datos como lgicamentenico. Puede que el sistema distribuido replique los objetos para incrementar el rendimientodel 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.