40782886 Consideraciones Para El Diseno de Una BDD

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.