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

pa

Instituto Tecnolgico de Acapulco


Bases de Datos Distribuidas
Unidad I Fundamentos de Bases de Datos Distribuidas
Sistema de EQUIPO: Informacin SISUP.
Corts Ayala Mara Isabel Gonzlez Reyes Judith Morales Ocampo Pavel Ricardo
ASESOR:

08320989 08320998 08321059

Ing. Jorge Carranza Gmez


HORARIO 12:00 p.m. a 1:00 p.m.

A 12 de Marzo del 2012.

Enero del 2012.

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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

1.3 Arquitectura de bases de datos distribuidas......................................... 10

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

Unidad I Fundamentos de Bases de Datos Distribuidas


Una base de datos distribuida es un objeto virtual, cuyos componentes se almacenan fsicamente en varias bases de datos reales distintas, ubicadas en diferentes sitios. Una base de datos distribuida consiste en la unin lgica de esas bases de datos. Cada sitio tiene as sus propias bases de datos reales locales, sus propios usuarios locales, sus propios DBMS (sistema de gestin de base de datos) y programas para la administracin de transacciones (incluyendo programas de bloqueo, bitcoras, y recuperacin), y su propio administrador local de comunicacin de datos. Un usuario dado puede realizar operaciones sobre los datos en su propio sitio local exactamente como si ese sitio no participara en absoluto en el sistema distribuido (siendo ste uno de los principales objetivos). As, el sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los DBMS individuales locales de todos los sitios. Un nuevo componente de software en cada sitio (en el aspecto lgico, una extensin del DBMS local) realiza las funciones de sociedad necesarias; siendo la combinacin de este nuevo componente y el DBMS (ya existente) lo que constituye el llamado "sistema de administracin de bases de datos distribuidas" (DDBMS: distributed database management system).

1.1 Conceptos bsicos.


Definicin de Base de Datos Distribuida Una base de datos distribuida (BDD) es un conjunto de mltiples bases de datos lgicamente relacionadas que se encuentran distribuidas en diferentes sitios y estn interconectados por una sola red de comunicaciones; una red que tiene la capacidad de procesamiento autnomo (lo cual indica que puede realizar operaciones locales o distribuidas). Un Sistema de Bases de Datos Distribuida (SBDD) es un sistema en que mltiples sitios de bases de datos estn ligados por un sistema de comunicaciones, de tal forma que un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si los datos estuvieran siendo accedidos de forma local. Una Base de Datos Distribuida es entonces una coleccin de datos que pertenecen lgicamente a un solo sistema, pero que se encuentra fsicamente disperso en varios "sitios" de la red.

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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

Base de Datos Distribuidas 2. No dependencia de un sitio central.

Instituto Tecnolgico de Acapulco

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.

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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.

1.2 Objetivos de las Bases de Datos Distribuidas.


Al implementar una base de datos distribuida se tienen ciertos objetivos comunes: Transparencia de ubicacin. Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicacin de stos. Se puede conseguir este nivel de transparencia al utilizar los administradores de transacciones distribuidas, los cuales son capaces de determinar la localizacin de los datos y de emitir acciones a los calendarizadores apropiados, lo cual puede ejecutarse cuando los administradores de transacciones distribuidas poseen acceso a los directorios de localizaciones de los datos. Transparencia de duplicacin. Para que la transparencia de duplicacin sea posible, los administradores de transacciones deben traducir las solicitudes de procesamiento de transaccin en acciones para el administrador de datos. Para las lecturas el administrador de transacciones selecciona uno de los nodos que almacena los datos y ejecuta la lectura. Transparencia de concurrencia. Cuando varias transacciones se ejecuten al mismo tiempo, los resultados de las transacciones no debern afectarse. La trasparencia de concurrencia se logra si los resultados de todas las transacciones concurrentes son consistentes de manera lgica con los resultados que se habran obtenido si las transacciones se hubieran ejecutado una por una, en cualquier orden secuencial. Transparencia de fallas. Significa que a pesar de fallas las transacciones sean procesadas de un modo correcto. Frente a una falla, las transacciones deben ser atmicas, significa que se procesen todas o ninguna de ellas. Para este tipo de problemas es importante tener resguardo de la base de datos, y as poder restaurarla cuando sea conveniente. El sistema debe detectar Ing. Jorge Carranza Gmez
8

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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.

Ing. Jorge Carranza Gmez

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

1.3 Arquitectura de bases de datos distribuidas.


La arquitectura define la estructura de un sistema. Al definir la arquitectura se deben identificar las componentes de un sistema, las funciones que realiza cada una de las componentes y las interrelaciones e interacciones entre cada componente. El propsito de establecer una arquitectura de un sistema de Bases de Datos Distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la informacin. La transparencia se puede entender como la separacin de la semntica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementacin del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementacin a las capas de alto nivel de un sistema y a otros usuarios.

Figura 1. Arquitectura de un SMBDD homogneo.

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.

Ing. Jorge Carranza Gmez

10

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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.

Ing. Jorge Carranza Gmez

11

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

Figura 2. Organizacin en capas de los niveles de transparencia.

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

Como se puede apreciar en la siguiente figura:

Ing. Jorge Carranza Gmez

12

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

Figura 3. Arquitectura ANSI/SPARC de una base de datos.

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

Ing. Jorge Carranza Gmez

13

Base de Datos Distribuidas

Instituto Tecnolgico de Acapulco

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.

Figura 4. Dimensiones a considerar al integrar mltiples bases de datos.

Ing. Jorge Carranza Gmez

14

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