Sunteți pe pagina 1din 15

UNIVERSIDAD DE EL SALVADOR

FACULTAD MULTIDISCIPLINARIA PARACENTRAL


INGENIERIA DE SISTEMAS INFORMATICOS
BASE DE DATOS
CICLO I-2010

BASE DE DATOS DISTRIBUIDAS

CATEDRATICO: ING. HERBERT ORLANDO MONGE

PRESENTADO POR:
AMAYA GONZALEZ, EDWIN ANTONIO
BARRERA HERNANDEZ, NEFTALI DE JESUS
DIAZ CANDELARIO, ERICK MAJONRY

SANVICENTE 21 DE JUNIO DE 2010


BASES DE DATOS DISTRIBUIDAS

Sistemas distribuidos

En un sistema distribuido de bases de datos, se almacena la base de datos en


varias computadoras. Varios medios de comunicación, como las redes de alta
velocidad o las líneas telefónicas, son los que pueden poner en contacto las
distintas computadoras de un sistema distribuido. No comparten ni memoria ni
discos. Las computadoras de un sistema distribuido pueden variar en tamaño y
función pudiendo abarcar desde las estaciones de trabajo a los grandes sistemas.
Dependiendo del contexto en el que se mencionen existen diferentes nombres
para referirse a las computadoras que forman parte de un sistema distribuido,
tales como sitios o nodos. Para enfatizar la distribución física de estos sistemas se
usa principalmente el término sitio.

Las principales diferencias entre las bases de datos paralelas sin compartimientos
y las bases de datos distribuidas son que las bases de datos distribuidas
normalmente se encuentran en varios lugares geográficos distintos, se administran
de forma separada y poseen una interconexión más lenta. Otra gran diferencia es
que en un sistema distribuido se dan dos tipos de transacciones, las locales y las
globales. Una transacción local es aquella que accede a los datos del único sitio
en el cual se inició la transacción. Por otra parte, una transacción global es aquella
que, o bien accede a los datos situados en un sitio diferente de aquel en el que se
inició la transacción, o bien accede a datos de varios sitios distintos.

Hay varias razones para construir sistemas distribuidos de bases de datos,


incluyendo el compartimiento de los datos, la autonomía y la disponibilidad.

 Datos compartidos. La principal ventaja de construir un sistema distribuido


de bases de datos es poder disponer de un entorno donde los usuarios
puedan acceder desde una única ubicación a los datos que residen en otras
ubicaciones. Por ejemplo, en un sistema de banca distribuida, donde cada

2
BASES DE DATOS DISTRIBUIDAS

sucursal almacena datos relacionados con dicha sucursal, es posible que


un usuario de una de las sucursales acceda a los datos de otra sucursal.
Sin esta capacidad, un usuario que quisiera transferir fondos de una
sucursal a otra tendría que recurrir a algún mecanismo externo que pudiera
enlazar los sistemas existentes.
 Autonomía. La principal ventaja de compartir datos por medio de
distribución de datos es que cada ubicación es capaz de mantener un grado
de control sobre los datos que se almacenan localmente.

En un sistema centralizado, el administrador de bases de datos de la ubicación


central controla la base de datos. En un sistema distribuido, existe un
administrador de bases de datos global responsable de todo el sistema. Una parte
de estas responsabilidades se delegan al administrador de bases de datos local
de cada sitio. Dependiendo del diseño del sistema distribuido de bases de datos,
cada administrador puede tener un grado diferente de autonomía local. La
posibilidad de autonomía local es a menudo una de las grandes ventajas de las
bases de datos distribuidas.

• Disponibilidad. Si un sitio de un sistema distribuido falla, los sitios restantes


pueden seguir trabajando.

En particular, si los elementos de datos están replicados en varios sitios, una


transacción que necesite un elemento de datos en particular puede encontrarlo en
varios sitios. De este modo, el fallo de un sitio no implica necesariamente la caída
del sistema.

El sistema puede detectar el fallo de un sitio, y pueden ser necesarias acciones


apropiadas para recuperarse del fallo. El sistema no debe seguir utilizando los
servicios del sitio que falló. Finalmente, cuando el sitio que falló se recupera o se

3
BASES DE DATOS DISTRIBUIDAS

repara, debe haber mecanismos disponibles para integrarlo sin problemas de


nuevo en el sistema.
Aunque la recuperación ante un fallo es más compleja en los sistemas distribuidos
que en los sistemas centralizados, la capacidad que tienen muchos sistemas de
continuar trabajando a pesar del fallo en uno de los sitios produce una mayor
disponibilidad. La disponibilidad es crucial para los sistemas de bases de datos
que se utilizan en aplicaciones de tiempo real. Que, por ejemplo, una línea aérea
pierda el acceso a los datos puede provocar la pérdida de potenciales
compradores de billetes en favor de la competencia.

Ejemplo de base de datos distribuida

Considérese un sistema bancario compuesto por cuatro sucursales situadas en


cuatro ciudades diferentes (San Vicente, San Salvador, Zacatecoluca,
Cojutepeque) cada sucursal posee su propia computadora con una base de datos
que alberga todas las cuentas abiertas en dicha sucursal. Así, cada una de estas
instalaciones se considera un sitio. También hay un único sitio que mantiene la

Zacatecoluca

Cojutepeque

San Vicente

San Salvador

4
BASES DE DATOS DISTRIBUIDAS

información relativa a todas las sucursales del banco.


Cada sucursal dispone (entre otras) de una relación cuenta (Esquema-cuenta),
donde Esquema-cuenta = (número-cuenta, nombre-sucursal, saldo)
El sitio que contiene información acerca de las cuatro sucursales mantiene la
relación sucursal (Esquema-sucursal), donde
Esquema-sucursal = (nombre-sucursal, ciudad-sucursal, activos)
Existen otras relaciones en los distintos sitios que serán ignoradas para los
propósitos del ejemplo.

Para ilustrar la diferencia entre los dos tipos de transacciones considérese la


transacción que suma $50 a la cuenta C-177 situada en la sucursal de San
Vicente. La transacción se considera local si ésta comenzó en la sucursal de San
Vicente; en otro caso, se considera global.

Una transacción que transfiere $ 50 desde la cuenta C-177 a la cuenta C-305,


que se encuentra en la sucursal de Zacatecoluca, es una transacción global, ya
que como resultado de su ejecución se accede a datos de dos sitios diferentes.
En un sistema distribuido de bases de datos ideal, los sitios deberían compartir un
esquema global común (aunque algunas relaciones se puedan almacenar sólo en
algunos sitios), todos los sitios deberían ejecutar el mismo software de gestión de
bases de datos distribuidas, y los sitios deberían conocer la existencia de los
demás. Si una base de datos distribuida se construye partiendo de cero, realmente
debería ser posible lograr los objetivos anteriores. Sin embargo, en la realidad,
una base de datos distribuida se tiene que construir enlazando múltiples sistemas
de bases de datos que ya existen, cada uno con su propio esquema y
posiblemente ejecutando diferente software de gestión de bases de datos. A
veces, tales sistemas reciben el nombre de sistemas de bases de datos múltiples
o sistemas distribuidos y heterogéneos de bases de datos.

5
BASES DE DATOS DISTRIBUIDAS

Bases de Datos Distribuidas

Una Base de Datos Distribuida es, una base de datos construida sobre una red
computacional y no por el contrario en una máquina aislada. La información que
constituye la base de datos esta almacenada en diferentes sitios en la red, y las
aplicaciones que se ejecutan accesan datos en distintos sitios.

Una Base de Datos Distribuida entonces es una colección de datos que


pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente
esparcido en varios "sitios" de la red. Un sistema de base de datos distribuidas se
compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red
de comunicaciones, en el cual:

1. Cada sitio es un sistema de base de datos en sí mismo, pero,

2. Los sitios han convenido en trabajar juntos (si es necesario) con el fin de
que un usuario de cualquier sitio pueda obtener acceso a los datos de
cualquier punto de la red tal como si todos los datos estuvieran
almacenados en el sitio propio del usuario.

Una base da datos distribuida es en realidad una especie de objeto virtual, cuyas
partes componentes se almacenan físicamente en varias bases de datos "reales"
distintas ubicadas en diferentes sitios. De hecho, es la unión lógica de esas bases
de datos. En otras palabras, cada sitio tiene sus propias bases de datos "reales"
locales, sus propios usuarios locales, sus propios DBMS y programas para la
administración de transacciones (incluyendo programas de bloqueo, bitácoras,
recuperación, etc.), y su propio administrador local de comunicación de datos
(administrador DC). En particular 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 (al menos, ése es uno de los
objetivos). Así pues, el sistema de bases de datos distribuidas puede considerarse
como una especie de sociedad entre los DBMS individuales locales de todos los

6
BASES DE DATOS DISTRIBUIDAS

sitios. Un nuevo componente de software en cada sitio (en el aspecto lógico, una
extensión del DBMS local ) realiza las funciones de sociedad necesarias; y es la
combinación de este nuevo componente y el DBMS ya existente lo que constituye
el llamado "sistema de administración de bases de datos distribuidas" (DDBMS,
distributed database management system ).

A diferencia de los sistemas paralelos, en los que los procesadores se hallan


estrechamente acoplados y constituyen un único sistema de bases de datos, los
sistemas distribuidos de bases de datos consisten en sitios débilmente acoplados
que no comparten ningún componente físico. Además, puede que los sistemas de
bases de datos que se ejecutan en cada sitio tengan un grado sustancial de
independencia mutua.

Cada sitio puede participar en la ejecución de transacciones que tienen acceso a


los datos de uno o varios de los sitios. La diferencia principal entre los sistemas de
bases de datos centralizados y los distribuidos es que, en los primeros, los datos
residen en una única ubicación, mientras que en los segundos los datos residen
en varias ubicaciones. La distribución de los datos es causa de muchas
dificultades en el procesamiento de las transacciones y de las consultas.

En las bases de datos distribuidas homogéneas todos los sitios tienen idéntico
software de sistemas gestores de bases de datos, son conscientes de la
existencia de los demás sitios y acuerdan cooperar en el procesamiento de las
solicitudes de los usuarios. En estos sistemas los sitios locales renuncian a una
parte de su autonomía en cuanto a su derecho a modificar los esquemas o el
software del sistema gestor de bases de datos. Ese software también debe
cooperar con los demás sitios en el intercambio de la información sobre las
transacciones para hacer posible el procesamiento de las transacciones entre
varios sitios.
A diferencia de lo anterior, en las bases de datos distribuidas heterogéneas sitios
diferentes puede que utilicen esquemas diferentes y diferente software de gestión

7
BASES DE DATOS DISTRIBUIDAS

de sistemas de bases de datos. Puede que unos sitios no sean conscientes de la


existencia de los demás y puede que sólo proporcionen facilidades limitadas para
la cooperación en el procesamiento de las transacciones.
Las diferencias en los esquemas suelen constituir un problema importante para el
procesamiento de las consultas, mientras que la divergencia del software supone
un inconveniente para el procesamiento de transacciones que tengan acceso a
varios sitios.

Ventajas de las Bases de Datos Distribuidas.

 Compartimiento de datos. Los usuarios de un nodo son capaces de


acceder a los datos de otro nodo. Por ejemplo, desde el Rectorado, se
puede consultar los datos de los alumnos de Informática.
 Autonomía. Cada nodo tiene cierto grado de control sobre sus datos, en un
sistema centralizado, hay un administrador del sistema responsable de los
datos a nivel global. Cada administrador local puede tener un nivel de
autonomía local diferente.
 Disponibilidad. Si en un sistema distribuido falla un nodo, los nodos
restantes pueden seguir funcionando. Si se duplican los datos en varios
nodos, la transacción que necesite un determinado dato puede encontrarlo
en cualquiera de los diferentes nodos.

Inconvenientes de la Bases de Datos Distribuidas

 Coste de desarrollo del software. La complejidad añadida que es


necesaria para mantener la coordinación entre nodos hace que el desarrollo
de software sea más costoso.

 Mayor probabilidad de errores. Como los nodos que constituyen el


sistema funcionan en paralelo, es más difícil asegurar el funcionamiento

8
BASES DE DATOS DISTRIBUIDAS

correcto de los algoritmos, así como de los procedimientos de recuperación


de fallos del sistema

 Mayor sobrecarga de procesamiento. El intercambio de mensajes y


ejecución de algoritmos para el mantenimiento de la coordinación entre
nodos supone una sobrecarga que no se da en los sistemas centralizados.

Almacenamiento distribuido de bases de datos

Considérese una relación r que hay que almacenar en la base de datos. Hay dos
enfoques del almacenamiento de esta relación en la base de datos distribuida:

 Réplica. El sistema conserva réplicas (copias) idénticas de la relación y


guarda cada réplica en un sitio diferente. La alternativa a las réplicas es
almacenar sólo una copia de la relación r.

 Fragmentación. El sistema divide la relación en varios fragmentos y guarda


cada fragmento en un sitio diferente.

La fragmentación y la réplica pueden combinarse:

Las relaciones pueden dividirse en varios fragmentos y puede haber varias


réplicas de cada fragmento. En los subapartados siguientes se profundizará en
cada una de estas técnicas.

Réplica de datos

Si la relación r se replica, se guarda una copia de dicha relación en dos o más


sitios. En el caso más extremo se tiene una réplica completa, en la que se guarda
una copia en cada sitio del sistema.

Hay varias ventajas y desventajas en las réplicas.

9
BASES DE DATOS DISTRIBUIDAS

 Disponibilidad. Si alguno de los sitios que contiene la relación r falla, la


relación puede hallarse en otro sitio distinto. Por tanto, el sistema puede
seguir procesando las consultas que impliquen a r, pese al fallo del sitio.

 Paralelismo incrementado. En caso de que la mayoría de los accesos a la


relación r sólo resulten en la lectura de la relación, varios sitios pueden
procesar en paralelo las lecturas que impliquen a r. Cuantas más réplicas
de r haya, mayor será la posibilidad de que los datos necesarios se hallen
en el sitio en que se ejecuta la transacción. Por tanto, la réplica de los datos
minimiza el movimiento de los datos entre los sitios.

 Sobrecarga incrementada durante la actualización. El sistema debe


asegurar que todas las réplicas de la relación r sean consistentes; en caso
contrario pueden producirse cómputos erróneos. Por eso, siempre que se
actualiza r, hay que propagar la actualización a todos los sitios que
contienen réplicas. El resultado es una sobrecarga incrementada.

Por ejemplo, en un sistema bancario, en el que se replica en varios sitios la


información de las cuentas, es necesario asegurarse de que el saldo de cada
cuenta concuerde en todos los sitios.

En general, la réplica mejora el rendimiento de las operaciones leer y aumenta la


disponibilidad de los datos para las transacciones sólo de lectura. No obstante, las
transacciones de actualización suponen una mayor sobrecarga. El control de las
actualizaciones de actualización realizadas por varias transacciones en los datos
replicados resulta más complicado que en los sistemas centralizados, que se
vieron en el Capítulo 16. Se puede simplificar la gestión de las réplicas de la
relación r escogiendo una de ellas como copia principal de r. Por ejemplo, en un
sistema bancario, las cuentas pueden asociarse con el sitio en que se abrieron.

De manera parecida, en un sistema de reserva de billetes de avión, los vuelos


pueden asociarse con el sitio en que se origina el vuelo.

10
BASES DE DATOS DISTRIBUIDAS

Fragmentación de los datos

Fragmentación Horizontal

 Una tabla T se divide en subconjuntos, T1, T2,...Tn. Los fragmentos se


definen a través de una operación de selección y su reconstrucción se
realizará con una operación de unión de los fragmentos componentes.

 Cada fragmento se sitúa en un nodo.

 Pueden existir fragmentos no disjuntos: combinación de fragmentación y


replicación.

Ejemplo

Tabla inicial alumnos T

Carnet Departamento Nombre Nota Ingreso Beca

AS04008 Informática Miguel Sánchez 5,6 No

AG04020 Informática Edwin Amaya 7,2 Si

AM05087 Economía Elizabeth Amaya 6,1 Si

AA04020 Informática Dominga Arévalo 5 No

BO04001 Economía Josué Barahona 8 No

BH02007 Informática Neftalí Barrera 7,5 Si

BR05041 Economía Juan Beltrán 6,6 No

11
BASES DE DATOS DISTRIBUIDAS

Fragmento del departamento: δ departamento="Informática"(T)

Carnet Departamento Nombre Nota Ingreso Beca

AS04008 Informática Miguel Sánchez 5,6 No

AG04020 Informática Edwin Amaya 7,2 Si

AA04020 Informática Dominga Arévalo 5,0 No

BH02007 Informática Neftalí Barrera 7,5 Si

Fragmento del departamento de economía: δ Departamento="Economía"(T)

Carnet Departamento Nombre Nota Ingreso Beca

AM05087 Economía Elizabeth Amaya 6,1 Si

BO04001 Economía Josué Barahona 8,0 No

BR05041 Economía Juan Beltrán 6,6 No

Fragmentación Vertical

 Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se


definen a través de una operación de proyección.

 Cada fragmento debe incluir la clave primaria de la tabla.

 Su reconstrucción se realizará con una operación de join de los fragmentos


componentes.

 Cada fragmento se sitúa en un nodo

 Pueden existir fragmentos no disjuntos: combinación de fragmentos y


replicación

12
BASES DE DATOS DISTRIBUIDAS

Ejemplo:

Datos Rectorado R

Facultad Ubicación Numero alumnos

Paracentral San Vicente 3000

Oriental San Miguel 2800

Central San Salvador 800

Occidental Santa Ana 2500

Departamento Infraestructura

Π Facultad, ubicación(R)

Facultad Ubicación

Paracentral San Vicente

Oriental San Miguel

Central San Salvador

Occidental Santa Ana

13
BASES DE DATOS DISTRIBUIDAS

Departamento ordenación académica

Π Facultad, Numero_alumnos(T)

Facultad Numero alumnos

Paracentral 3000

Oriental 2800

Central 800

Occidental 2500

Fragmentación Mixta

Ejemplo

Datos Informática E (Esta tabla salió de la fragmentación horizontal anterior)

Carnet Departamento Nombre Nota Ingreso Beca

AS04008 Informática Miguel Sánchez 5,6 No

AG04020 Informática Edwin Amaya 7,2 Si

AA04020 Informática Dominga Arévalo 5,0 No

BH02007 Informática Neftalí Barrera 7,5 Si

14
BASES DE DATOS DISTRIBUIDAS

π Carnet, Departamento, Nombre, Beca(E)

Secretaria

Carnet Departamento Nombre Beca

AS04008 Informática Miguel Sánchez No

AG04020 Informática Edwin Amaya Si

AA04020 Informática Dominga Arévalo No

BH02007 Informática Neftalí Barrera Si

π Carnet, Departamento ,Nombre, Nota ingreso(E)

Jefatura

Carnet Departamento Nombre Nota Ingreso

AS04008 Informática Miguel Sánchez 5,6

AG04020 Informática Edwin Amaya 7,2

AA04020 Informática Dominga Arévalo 5,0

BH02007 Informática Neftalí Barrera 7,5

15

S-ar putea să vă placă și