Академический Документы
Профессиональный Документы
Культура Документы
ndice
Unidad I Fundamentos de Bases de Datos Distribuidas .................................. 3 1.1 1.2 Conceptos bsicos............................................................................... 3 Objetivos de las Bases de Datos Distribuidas. ..................................... 8
El principio fundamental de las bases de datos distribuidas: Desde el punto de vista del usuario, un sistema distribuido deber ser idntico un sistema no distribuido: los usuarios de un sistema distribuido debern comportarse exactamente como si el sistema no estuviera distribuido. Todos los problemas de los sistemas distribuidos deberan ser internos o a nivel de realizacin, no externos o a nivel del usuario. Esta regla conduce a varios objetivos o reglas secundarios doce, en realidad-, que se enuncian a continuacin: 1. Autonoma local. 2. No dependencia de un sitio central. 3. Operacin contina. 4. Independencia con respecto a la localizacin. 5. Independencia con respecto a la fragmentacin. 6. Independencia de rplica. 7. Procesamiento distribuido de consultas. 8. Manejo distribuido de transacciones. 9. Independencia con respecto al equipo. 10. Independencia con respecto al sistema operativo. 11. Independencia con respecto a la red. 12. Independencia con respecto al DBMS. Estas reglas no son todas independientes entre s, ni tienen todas la misma importancia (diferentes usuarios darn diferentes grados de importancia a diferentes reglas en diferentes ambientes). Sin embargo, s son tiles como fundamento para entender la tecnologa distribuida y como marco de referencia para caracterizar la funcionalidad de sistemas distribuidos especficos. Las doce reglas. 1. Autonoma Local. Los sitios de un sistema distribuido deben ser autnomos. La autonoma local significa que todas las operaciones en un sitio dado se controlan en ese sitio; ningn sitio deber depender de algn otro para su buen funcionamiento. La autonoma local implica tambin un propietario y una administracin locales de los datos, con responsabilidad local: todos los datos pertenecen "en realidad" a una base de datos local, aunque sean accesibles desde algn sitio remoto. Por tanto, las cuestiones de seguridad, integridad y representacin en almacenamiento de los datos locales permanecen bajo el control de la instalacin local. Ing. Jorge Carranza Gmez
4
La autonoma local implica que todos los sitios deben tratarse igual; no debe haber dependencia de un sitio central "maestro" para obtener un servicio central, como por ejemplo un procesamiento centralizado de las consultas o una administracin centralizada de las transacciones, de modo que todo el sistema dependa de ese sitio central. Este segundo objetivo es por tanto una consecuencia del. Pero la "no dependencia de un sitio central" es deseable por s misma, aun si no se logra la autonoma local completa. Por ello vale la pena expresarlo como un objetivo separado. 3. Operacin contina. En un sistema distribuido, lo mismo que en uno no distribuido, idealmente nunca debera haber necesidad de apagar a propsito el sistema. Es decir, el sistema nunca debera necesitar apagarse para que se pueda realizar alguna funcin, como aadirse un nuevo sitio o instalar una versin mejorada del DBMS en un sitio ya existente. 4. Independencia con respecto a la localizacin. La idea bsica de la independencia con respecto a la transparencia de localizacin es simple: no debe ser necesario que los usuarios sepan dnde estn almacenados fsicamente los datos, sino que, ms bien, deben poder como si todos los datos estuvieran almacenados en su propio sitio local. La independencia con respecto a la localizacin es deseable porque simplifica los programas de los usuarios y sus actividades en la terminal. 5. Independencia con respecto a la fragmentacin. Un sistema maneja fragmentacin de los datos si es posible dividir una relacin en partes o "fragmentos" para propsitos de almacenamiento fsico. La fragmentacin es deseable por razones de desempeo: los datos pueden almacenarse en la localidad donde se utilizan con mayor frecuencia, de manera que la mayor parte de las operaciones sean slo locales y se reduzca al trfico en la red. 6. Independencia de rplica.
Un sistema maneja rplica de datos si una relacin dada (o en trminos ms generales, un fragmento dado en una relacin) se puede representar en el nivel fsico mediante varias copias almacenadas o replicas, en muchos sitios distintos. La rplica es deseable al menos porque puede producir un mejor desempeo y porque tambin puede significar una mejor disponibilidad. 7. Procesamiento distribuido de consultas. La optimizacin es todava ms importante en un sistema distribuido que en uno centralizado. Lo esencial es que, en una consulta donde estn implicados varios sitios, habr muchas maneras de trasladar los datos en al red para satisfacer la solicitud, y es crucial encontrar una estrategia suficiente. 8. Manejo distribuido de transacciones. El manejo de transacciones tiene dos aspectos principales: el control de recuperacin y el control de concurrencia. Cada uno requiere un tratamiento ms amplio en el ambiente distribuido. Para explicar ese tratamiento ms amplio es preciso introducir primero el trmino "agente". En un sistema distribuido, una sola transaccin puede implicar la ejecucin de cdigo en varios sitios. Por tanto, se dice que cada transaccin est compuesta de varios agentes, donde un agente es el proceso ejecutado en nombre de una transaccin dada en determinado sitio. Y el sistema necesita saber cundo dos agentes son parte de la misma transaccin; por ejemplo, es obvio que no puede permitirse un bloqueo mutuo entre dos agentes que sean parte de la misma transaccin. La cuestin especifica del control de recuperacin: para asegurar, pues que una transaccin dada sea atmica en el ambiente distribuido, el sistema debe asegurarse de que todos los agentes correspondientes a esa transaccin se comprometan al unsono o bien que retrocedan al unsono. Este efecto puede lograrse mediante el protocolo de compromiso en dos fases. 9. Independencia con respecto al equipo. Las instalaciones de cmputo en el mundo real por lo regular incluyen varias mquinas diferentes -mquinas IBM, DEC, HP, UNISYS, PC etc. y existe una verdadera necesidad de poder integrar los datos en todos esos sistemas y presentar al usuario "una sola imagen del sistema". Por tanto conviene ejecutar el mismo DBMS en diferentes equipos, y adems lograr que esos diferentes equipos participen como socios iguales en un sistema distribuido.
6
10. Independencia con respecto al sistema operativo. Este objetivo es un corolario del anterior. Es obvia la conveniencia no slo de poder ejecutar el mismo DBMS en diferentes equipos, sino tambin poder ejecutarlo en diferentes sistemas operativos. 11. Independencia con respecto a la red. Si el sistema ha de poder manejar mltiples sitios diferentes, con equipo distinto y diferentes sistemas operativos, resulta obvia la conveniencia de poder manejar tambin varias redes de comunicacin distintas. 12. Independencia con respecto al DBMS Bajo este ttulo consideramos las implicaciones de relajar la suposicin de homogeneidad estricta. Puede alegarse que esa suposicin es quiz demasiado rgida. En realidad, no se requiere sino que los DBMS en los diferentes sitios manejen todos la misma interfaz; no necesitan ser por fuerza copias del mismo sistema. Caractersticas de una Base de Datos Distribuida En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de uno centralizado son los siguientes: 1. Hay mltiples computadores, llamados sitios o nodos. 2. Estos sitios deben de estar comunicados por medio de algn tipo de red de comunicaciones para transmitir datos y rdenes entre los sitios. Los componentes que se encuentran presentes en una base de datos distribuida: Sistema de Administracin de Base de Datos Distribuida (DDBMS). Est formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras; los sistemas pueden ser subsistemas de un nico DDBMS de un fabricante o podra consistir de una coleccin de programas de diferentes fuentes. Administrador de transacciones distribuidas (DTM). Es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y
7
las traduce en acciones para los administradores de la base de datos. Los DTM se encargan de coordinar y controlar estas acciones. Administrador de la base de datos (DBM). Es un programa que procesa cierta porcin de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y generales de acuerdo con los comandos recibidos de los DTM. Nodo. Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transaccin ejecuta un DTM y un nodo de base de datos ejecuta un DBM.
cundo 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. Localidad del procesamiento. Los datos se deben distribuir lo ms cerca posible de las aplicaciones que los usan para maximizar la localidad del procesamiento, este principio responde a minimizar el acceso remoto a los datos. Disear una distribucin que maximice localidad del procesamiento puede hacerse aadiendo la cantidad de referencias locales y remotas correspondientes a cada fragmentacin candidata y asignar la fragmentacin eligiendo la mejor solucin. Independencia de configuracin. La independencia de configuracin permite aadir o reemplazar hardware sin tener que cambiar componentes de software existentes en el sistema de base de datos distribuida. Particionamiento de la Base de Datos. La base de datos se distribuye de modo que no haya solapamiento o duplicacin de los datos mantenidos en las diferentes localidades, como no hay duplicaciones de los datos, se evitan los costos asociados con el almacenamiento y mantenimiento de datos redundantes. Si un mismo segmento de datos se usa en ms de una localidad se ve limitada la disponibilidad de los datos. La fiabilidad tambin puede verse limitada cuando se produce un fallo en el sistema de clculo de una localidad se afecta la disponibilidad de los datos de esa localidad no estn disponible para los usuarios en cualquier parte del sistema. Fragmentacin de datos. Consiste en subdividir las relaciones y distribuirlas entre los sitios de la red, tiene como objetivo buscar formas alternativas de dividir una las instancias (tablas) de relaciones en otras ms pequeas. La fragmentacin se puede realizar por tuplas individuales (fragmentacin horizontal), por atributos individuales (fragmentacin vertical) o una combinacin de ambas (fragmentacin hbrida). El principal problema de la fragmentacin radica en encontrar la unidad apropiada de distribucin.
En sistemas de bases de datos distribuidos el propsito fundamental de la transparencia es proporcionar independencia de datos en el ambiente distribuido. Se pueden encontrar diferentes aspectos relacionados con la transparencia. Por ejemplo, puede existir transparencia en el manejo de la red de comunicacin, transparencia en el manejo de copias repetidas o transparencia en la distribucin o fragmentacin de la informacin.
10
La independencia de datos: Es la inmunidad de las aplicaciones de usuario a los cambios en la definicin y/u organizacin de los datos y viceversa. La independencia de datos se puede dar en dos aspectos: lgica y fsica. Independencia lgica de datos: Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lgica de la base de datos. Esto permite que un cambio en la definicin de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relacin, la creacin de una nueva relacin, el reordenamiento lgico de algunos atributos. Independencia fsica de datos: Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. Esto es, la descripcin fsica de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organizacin de los datos puede cambiar. La transparencia al nivel de red: Se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas: Transparencia sobre la localizacin de datos: Esto es, el comando que se usa es independiente de la ubicacin de los datos en la red y del lugar en donde la operacin se lleve a cabo. Transparencia sobre el esquema de nombramiento: Lo anterior se logra proporcionando un nombre nico a cada objeto en el sistema distribuido. As, no se debe mezclar la informacin de la localizacin con en el nombre de un objeto. La transparencia sobre replicacin: De datos se refiere a que si existen rplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que al cuando el usuario se encarga de manejar las rplicas en un sistema, el trabajo de ste es mnimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las rplicas teniendo as datos diferentes. La transparencia a nivel de fragmentacin de datos: Permite que cuando los objetos de la bases de datos estn fragmentados, el sistema tiene que manejar la conversin de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. As tambin, ser necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.
11
En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en consideracin que definen la arquitectura del sistema: 1. Distribucin: Los componentes del sistema estn localizados en la misma computadora o no. 2. Heterogeneidad: Un sistema es heterogneo cuando existen en l componentes que se ejecutan en diversos sistemas operativos, de diferentes fuentes, etc. 3. Autonoma: Se puede presentar en diferentes niveles, los cuales se describen a continuacin: Autonoma de diseo: Habilidad de un componente del para decidir cuestiones relacionadas a su propio diseo. Autonoma de comunicacin: Habilidad de un componente del para decidir cmo y cundo comunicarse con otros SMBD. Autonoma de ejecucin: Habilidad de un componente del para ejecutar operaciones locales como quiera. La mayora de los sistemas de manejo de bases de datos disponibles actualmente estn basados en la arquitectura ANSI-SPARC la cual divide a un sistema en tres niveles: Interno Conceptual Externo
12
La vista conceptual, conocida tambin como vista lgica global, representa la visin de la comunidad de usuarios de los datos en la base de datos. No toma en cuenta la forma en que las aplicaciones individuales observan los datos o como stos son almacenados. Est basada en el esquema conceptual y su construccin se hace en la primera fase del diseo de una base de datos. Los usuarios, incluyendo a los programadores de aplicaciones, observan los datos a travs de un esquema externo definido a nivel externo. La vista externa proporciona una ventana a la vista conceptual lo cual permite a los usuarios observar nicamente los datos de inters y los asla de otros datos en la base de datos. Puede existir cualquier nmero de vistas externas y ellos pueden ser completamente independientes o traslaparse entre s. El esquema conceptual se mapea a un esquema interno a nivel interno, el cual es el nivel de descripcin ms bajo de los datos en una base de datos. Este proporciona una interfaz al sistema de archivos del sistema operativo el cual es el responsable del acceso a la base de datos. El nivel interno tiene que ver con la especificacin de qu elementos sern indexados, qu tcnica de organizacin de archivos utilizar y como los datos se agrupan en el disco mediante "clusters" para mejorar su acceso. Desafortunadamente, no existe un equivalente de una arquitectura estndar para sistemas de manejo de bases de datos distribuidas. La tecnologa y prototipos de SMBDD se han desarrollado ms o menos en forma independiente uno de otro y cada sistema ha adoptado su propia arquitectura. Para definir un esquema de estandarizacin en bases de datos distribuidas se debe definir un modelo de referencia el cual sera un marco de trabajo conceptual cuyo propsito es dividir el trabajo de estandarizacin en piezas manejables y mostrar a
13
un nivel general como esas piezas se relacionan unas con otras. Para definir ese modelo de referencia se puede seguir uno de los siguientes tres enfoques: 1. Basado en componentes. Se definen las componentes del sistema junto con las relaciones entre ellas. As, un SMBD consiste de un nmero de componentes, cada uno de los cuales proporciona alguna funcionalidad. 2. Basado en funciones. Se identifican las diferentes clases de usuarios junto con la funcionalidad que el sistema ofrecer para cada clase. La especificacin del sistema en esta categora tpicamente determina una estructura jerrquica para las clases de usuarios. La ventaja de este enfoque funcional es la claridad con la cual se especifican los objetivos del sistema. Sin embargo, este enfoque no proporciona una forma de alcanzar los objetivos. 3. Basado en datos. Se identifican los diferentes tipos de descripcin de datos y se especifica un marco de trabajo arquitectural el cual define las unidades funcionales que realizarn y/o usarn los datos de acuerdo con las diferentes vistas. La ventaja de este enfoque es la importancia que asigna al manejo de datos. Este es un enfoque significativo para los SMBD dado que su propsito principal es manejar datos. Sin embargo, la desventaja de este enfoque es que es prcticamente imposible especificar un modelo arquitectural sin especificar los modelos para cada una de sus unidades funcionales. Este es el enfoque seguido por el modelo ANSI/SPARC.
14