Vous êtes sur la page 1sur 66

Bases de Datos Avanzadas:

Bases de Datos Avanzadas:


Bases de Datos Distribuidas
Bases de Datos Distribuidas



NDICE
NDICE
1. Introduccin y Conceptos.
2. Ventajas, Complejidad e Inconvenientes de las BDD.
3. Almacenamiento distribuido de datos FRAGMENTACIN,
REPLICACIN Y ASIGNACIN DE DATOS PARA EL DISEO DE BDD.
!. "ransparencia de la red.
#. $rocesamiento distribuido de consultas.
%. "ransacciones distribuidas.

BDD I&"'(D)CCI*& + C(&C,$"(-
Bases de Datos Distribuidas . me/cla de dos tecnolo01as
2a tecnolo01a de base de datos.
2a tecnolo01a de redes y comunicacin de datos.
Esta ltima tecnologa ha avanzado mucho en los ltimos aos
gracias al desarrollo de las comunicaciones celulares y por
satlite, Redes de rea Metropolitana (M!", estandarizaci#n
de protocolos como $%&'(&) y por so*re todo, gracias a la
e+plosi#n de (nternet,
-as organizaciones ya no est.n interesadas, como en los /0s, en
*ases de datos centralizadas gigantes, 1oy se tiende a la
descentralizaci#n de procesos, a nivel del sistema, mientras 2ue,
a nivel l#gico, se consigue una integraci#n de las 3uentes de
in3ormaci#n dentro de 45s geogr.3icamente distri*uidas.

BDD I&"'(D)CCI*& + C(&C,$"(-....
2as BDD aportan al dominio de la 0estin de bases de datos
las ventajas de la computacin distribuida. En la cual un
conjunto de elementos de procesamiento (no necesariamente
homogneos" interconectados por una red cooperan en 3orma
coordinada en la e6ecuci#n de tareas, dividiendo pro*lemas
grandes e inmane6a*les en piezas m.s pe2ueas 2ue se resuelven
en 3orma coordinada,
-a viabilidad econmica de este en3o2ue tiene dos razones7
(8" 9e aprovecha m.s la potencia del ordenador en la resoluci#n
de tareas comple6as,
(:" %ada elemento de procesamiento se puede gestionar en 3orma
independiente en el desarrollo de tareas locales (autonoma",

BDD I&"'(D)CCI*& + C(&C,$"(-....
Entonces, podemos de3inir7
Base de Datos Distribuida 4BDD57 colecci#n de mltiples *ases
de datos interrelacionadas l#gicamente, distri*uidas so*re una
red de computadores y mane6adas por un -6BDD.
-istema de 6estin de Bases de Datos Distribuido 4-6BDD57
9istema de so3t;are 2ue mane6a 455s y 2ue hace de la
distri*uci#n algo transparente al usuario,
-I-",7A D, BDD 8 BDD 9 -6BDD
-as siguientes 3iguras contrastan distintas ar2uitecturas de *ases
de datos7

Diferentes arquitecturas de sistemas de bases de datos
Arquitectura con nada compartido

Diferentes arquitecturas de sistemas de bases de datos
Arquitectura en red con una BD centralizada en uno de los sitios

Diferentes arquitecturas de sistemas de bases de datos...
Verdadera Arquitectura de ua Ba!e de Dat"! Di!tri#uida
DB
DB
DB
DB
DB

C$iete C$iete
C$iete
BD BD BD
Ser%id"r

Ser%id"r
Siti" & Siti" '

Siti" (
Siti"
Red de
C")uicaci"e!
. . . . .

,jemplo de BD distribuida
&odo ,1 &odo ,2
RE5 lumnos
lumnos
%omunicaci#n a
travs de la red
&odo 'ectorado
Escuelas

,jemplo de BD distribuida

&odos de las ,scuelas
D&I ,scuela
&ombre
&ota
in0reso
Beca
&odo del 'ectorado
,scuela )bicacin &:mero alumnos
&uevo alumno en la secretar1a del ,1 transaccin local.
&uevo alumno en el rectorado transaccin 0lobal

BDD* INTROD+CCIN Y CONCEPTOS....
-os datos de*en estar 3sicamente en m.s de una sede, %ada sede
o computadora es un nodo de la red. %ada nodo proporciona un
entorno de ejecucin de transacciones, tanto local, como
0lobal.
,s;uema l0ico 0lobal :nico7 -os datos han de estar
l0icamente inte0rados, para realizar recuperaci#n y
actualizaci#n tanto en 3orma local como remota, En una nica
operaci#n se puede acceder (recuperar o actualizar" datos 2ue se
encuentran en m.s de una sede,
"ipos de transacciones
2ocales cuando se accede a los datos de la sede 2ue inici# la
transacci#n,
6lobales se accede a datos de sedes distintas al nodo 2ue inici#
la transacci#n,

Pa!"! a !e,uir -ara di!e.ar ua BDD*
. Dise!o del /e!que)a c"ce-tua$/ el cual describe la base de
datos inte"rada #esto es$ todos los datos que son utilizados por las
aplicaciones que tienen acceso a las bases de datos%.
&. Dise!o /01!ic"/ de $a #a!e de dat"!$ esto es$ mapear el esquema
conceptual a las 'reas de almacenamiento ( determinar los m)todos
de acceso.
*. Dise!o de la 0ra,)etaci2$ este es$ determinar la forma en que
las relaciones "lobales se subdi+iden en fra"mentos ,orizontales$
+erticales o mi-tos.

.. Dise!o de la a!i,aci2 de $"! 0ra,)et"!$ esto es$ determinar la
forma en que los fra"mentos se mapean a las im'"enes f/sicas.

0
Di!e." de BDD 3 La! &' Re,$a! de Date
& Aut"")1a $"ca$
1os nodos o localidades de un 2D deben ser
independientes entre si en el ma(or "rado posible.
0
Caracter1!tica! de cada "d"
3
4iene su propio DB52
3
El DB52 controla todos los aspectos del nodo
3
1as operaciones de acceso a datos locales
utilizan s6lo recursos locales
3
7a( cooperaci6n entre los nodos para el acceso
distribuido de datos.

Di!e." de BDD 3 La! &' Re,$a! de Date...
' N" e! ece!ari" u !iti" cetra$
4odos los sitios8nodos deben ser tratados como
i"uales
0
De e-istir un sitio central$ ,abr/a un cuello de botella
0
De e-istir un sitio central$ el sistema ser/a +ulnerable$
porque una falla ,ar/a fallar a todo el sistema
0
9ara el protocolo de commit de dos fases se necesita
un sitio central pero s6lo durante la e:ecuci6n de una
transacci6n

( O-eraci2 c"tiua
;n sistema BDD no deber/a estar nunca fuera de
ser+icio
0
9ara proporcionar ma(or confiabilidad ( ma(or
disponibilidad se requiere<
3
2oporte para bac=ups on line$ total o incremental
3
2oporte para recuperaciones r'pidas de BD.
3 DB52 tolerante a fallos #con ,ard>are acorde%
Di!e." de BDD 3 La! &' Re,$a! de Date...

Di!e." de BDD 3 La! &' Re,$a! de Date...
4 Ide-edecia de $"ca$i5aci2
1os usuarios ( las aplicaciones no necesitan conocer la
ubicaci6n f/sica de los datos. Act?an como si fuesen locales
a ellos.
0 2in transparencia local deber/an distin"uirse los datos
locales de los datos remotos.
0 2implifica los pro"ramas de usuario.
0 9unto cr/tico< el Diccionario de Datos
3 ;suarios ( aplicaciones se refieren a los datos mediante
alias
3 El DD debe mantener una ta#$a c" $"! e$e)et"! de
dat"!, !u! a$ia! 6 !u! u#icaci"e!
3 ;n DDB52 debe )ateer 6 uti$i5ar e$ DD a7 cuad" $"!
dat"! !e )ue%e etre $"ca$idade!
3 El DD debe estar replicado en las localidades ( las r)plicas
deben mantenerse actualizadas.

Di!e." de BDD 3 La! &' Re,$a! de Date...
8 Ide-edecia de Fra,)etaci2 de dat"!
1os usuarios pueden comportarse como si los datos no
estu+ieran fra"mentados 9" ece!ita c""cer $"! 0ra,)et"!
01!ic"! e que e!t: di%idida cada c"$ecci2 $2,ica de dat"!;
3
1a fra"mentaci6n es necesaria por razones de rendimiento.
3 1os datos pueden estar almacenados en la ubicaci6n donde
son usados con ma(or frecuencia para que la ma(or/a de
las operaciones sean locales ( se reduzca el tr'fico de la
@ed.

Di!e." de BDD 3 La! &' Re,$a! de Date...
< Ide-edecia de $a Re-$icaci2 de dat"!
0
Re-$icaci2
El usuario debe comportarse como si los datos no estu+ieran
replicados #a ni+el l6"ico los usuarios no necesitan tener en
cuenta si los datos tienen r)plicas o no%
@ecordemos que esto si"nifica<
3
Me="r redi)iet"* las aplicaciones operan sobre copias
locales en +ez de comunicarse con sitios remotos.
3 Me="r di!-"i#i$idad* un ob:eto replicado est' disponible
mientras ,a(a al menos una copia.
3 De!%eta=a* propa"ar las actualizaciones.

Di!e." de BDD 3 La! &' Re,$a! de Date...
> Pr"ce!a)iet" de c"!u$ta! di!tri#uida!
1a performance de una consulta debe ser
independiente del sitio donde se realiza la consulta
3
El 2D debe disponer de mecanismos para optimizar
las consultas ( en el especial para reducir la car"a de
tr'fico necesaria.

Di!e." de BDD 3 La! &' Re,$a! de Date...
? Ge!ti2 de tra!acci"e! di!tri#uida!
El 2D debe disponer de mecanismos adecuados
para el control de concurrencia ( la recuperaci6n
de transacciones distribuidas
3
Debe mantenerse la atomicidad de las
transacciones.
3
Control de recuperaci6n de informaci6n.
3
Control de concurrencia.
3
9rotocolos utilizado para preser+ar la atomicidad<
dos fases o tres fases los m's conocidos.

Di!e." de BDD 3 La! &' Re,$a! de Date...
@ Ide-edecia de AardBare
Es necesario tener la posibilidad de e:ecutar el
mismo DB52 en diferentes plataformas de
7ard>are.
&C Ide-edecia de$ SO
Es necesario tener la posibilidad de e:ecutar el
mismo DB52 en sitios con diferentes sistemas
operati+os.

Di!e." de BDD 3 La! &' Re,$a! de Date...
&& Ide-edecia de red
El 2D debe poder operar con diferentes redes de
comunicaciones.
&' Ide-edecia de$ DBMS
Debe permitirse la Aeter",eeidad$ es decir$ que cada
sitio pueda funcionar con un 2ABD diferente$ incluso
basado en un modelo de datos diferente$ siempre (
cuando compartan una iter0ace c")7.

Deta=a!, Comple:idad e Incon+enientes de $a! BDD
1<6estin de datos distribuidos con di3erentes niveles de transparencia

"ransparencia de distribucin un 9<455 de*era ocultar al usuario el


emplazamiento de los datos, es decir los detalles del almacenamiento de los
archivos (relaciones o ta*las" dentro del sistema,

"ransparencia de red hace re3erencia a la li*eraci#n del usuario de los


detalles operacionales de la red,

transparencia de locali/acin se puede lanzar una tarea desde cual2uier


locaci#n

transparencia de nombres permite acceder a cual2uier o*6eto con


nom*re (archivo, relaci#n, etc," desde cual2uier locaci#n sin 2ue se
produzcan am*iguedades, -uego ampliaremos este tema,,

Deta=a!, Comple:idad e Incon+enientes de $a! BDDE

"ransparencia de replicacin copias de los datos se pueden almacenar en


mltiples sitios para me6orar la disponi*ilidad, rendimiento y 3ia*ilidad, -a
transparencia de rplica hace 2ue el usuario desconozca la e+istencia de copias,

"ransparencia de 3ra0mentacin

3ra0mentacin =ori/ontal distri*uye una relaci#n en su*con6untos de


tuplas (3ilas",

3ra0mentacin vertical distri*uye una relaci#n en su*=relaciones,


donde cada su*=relaci#n se de3ine por un su*con6unto de las columnas de la
relaci#n original,
>na consulta 0lobal del usuario se de*er. trans3ormar en varias consultas
sobre 3ra0mentos. 2a transparencia de 3ra0mentacin permite ;ue el
usuario descono/ca la e>istencia de 3ra0mentos.

Deta=a!, Comple:idad e Incon+enientes de $a! BDDE
2< Incremento de la 3iabilidad y disponibilidad

?iabilidad se de3ine como la -r"#a#i$idad de que u !i!te)a e!tF e


)arcAa (no cado" $a )a6"r -arte de$ tie)-",

Disponibilidad es la -r"#a#i$idad de que u !i!te)a e!tF di!-"i#$e e


0"r)a c"tiua durate u iter%a$" de tie)-",
?%uando los datos y el 9<45 est.n distri*uidos en varios nodos, un nodo
puede 3allar mientras 2ue otros estar.n disponi*les para hacer el tra*a6o, Esto
me6ora tanto la 3ia*ilidad como la disponi*ilidad,
B 9i se replican acertadamente los datos y el so3t;are en m.s de un sitio, se
consiguen grandes me6oras, >na transacci#n 2ue necesite un determinado dat"
puede encontrarlo en cual2uiera de los di3erentes nodos.
B En comparaci#n con un sistema centralizado, en una 455 algunos de los
datos podran ser inalcanza*les, pero los usuarios podran an acceder a otras
partes de la *ase de datos,

Venta:as$ C")-$e=idad e Incon+enientes de $a! BDD
1a distribuci6n trae apare:ado un incremento en la comple:idad del
dise!o e implementaci6n del sistema. 9ara conse"uir las +enta:as
potenciales enumeradas anteriormente$ el SGBDD de#e teer*
Capacidad para !e,uir$e $a -i!ta a $a di!tri#uci2 de dat"!, $a
0ra,)etaci2 6 $a rF-$ica e-pandiendo el cat'lo"o del 2ABDD.
Capacidad para acceder a !iti"! re)"t"! 6 tra!)itir c"!u$ta! 6
dat"! a tra%F! de $a red #procesamiento de consultas distribuidas%
Capacidad para idear e!trate,ia! de e=ecuci2 -ara tra!acci"e!
#( consultas% que acceden a los datos desde m's de un sitio$
!icr"i5ar e$ acce!" a datos distribuidos ( )ateer ite,ridad
sobre toda la base de datos.
Capacidad para decidir a quF c"-ia, de u e$e)et" de dat"!
re-$icad", acceder ( para )ateer $a c"!i!tecia de $a! c"-ia!
de los elementos de datos replicados #Aesti6n de datos replicados%

EC")-$e=idad de $a! BDD* el SGBDD de#e teer*
Ca-acidad -ara< recu-erar!e de ca1da! de "d"! idi%idua$e!
( de nue+os tipos de 0a$$"! c")" e$ de $"! e$ace! de
c")uicaci2 #@ecuperaci6n de BDD%.
Se,uridad* las transacciones distribuidas se deben e:ecutar con
una "esti6n apropiada de !e,uridad de dat"! ( -ri%i$e,i"! de
aut"ri5aci2 Gacce!" de usuarios.

Ge!ti2 de$ direct"ri" 9cat:$","; di!tri#uid"* un directorio
contiene informaci6n #metadatos% de los datos de la BD. E$
direct"ri" -uede !er ,$"#a$ -ara t"da $a BDD, " $"ca$ -ara
cada !iti".
9ara lo"rar todas las +enta:as potenciales de la distribuci6n$ es
necesario encontrar soluciones satisfactorias a las funciones
e-puestas anteriormente

'. Venta:as$ Comple:idad e Ic"%eiete! de $a BDD
@
Costo de desarrollo del so3t@are, -a comple6idad e+tra re2uerida para
mantener la coordinacin entre nodos hace 2ue el desarrollo de so3t;are
sea m.s costoso,
@
7ayor probabilidad de errores, %omo los nodos 2ue constituyen el
sistema 3uncionan en paralelo, es m.s di31cil ase0urar el 3uncionamiento
correcto de los al0oritmos y de los procedimientos de recuperacin de
3allos del sistema,
@
$roblemas de sincroni/acin y deteccin de ca1das de nodos.
,
@
7ayor sobrecar0a de procesamiento, El intercam*io de mensa6es y
e6ecuci#n de algoritmos para el mantenimiento de la coordinacin entre
nodos supone una sobrecar0a 2ue no se da en los sistemas centralizados,
continuaci#n, se e+plicar.n las tcnicas para dividir la BD en
unidades l0icas llamadas 3ra0mentos, cuyo almacenamiento
puede asignarse a los diversos sitios,
$am*in se e+plicar. la replicacin de los datos, mediante la
cual se pueden almacenar ciertos datos en m.s de un sitio, y el
proceso de asi0nacin de 3ra0mentos, o de rplicas de
3ragmentos, para almacenarlos en los di3erentes sitios,
-as tcnicas mencionadas se utilizan durante el proceso de
diseo de 455,
-a in3ormaci#n concerniente a la 3ra0mentacin de los datos,
la asi0nacin y la replicacin se almacena en un Directorio
6lobal al 2ue tiene acceso el -6BDD cuando sea necesario,
*. *. Almacenamiento distribuido de datos Almacenamiento distribuido de datos< < Fra,)etaci2,
Re-$icaci2 6 A!i,aci2 de Dat"! en el Dise!o de BDD.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos

?ra0mentacin de Datos

-as unidades l#gicas m.s simples son las propias


relaciones, cada relaci#n completa se almacenar. en un
sitio espec3ico, En muchos casos, sin em*argo, es posi*le
dividir una relaci#n en unidades l0icas mAs pe;ueBas
llamadas 3ra0mentos.
Cay dos tipos bAsicos de 3ra0mentacin7

3ra0mentacin Cori/ontal

3ra0mentacin Vertical

Fra,)etaci2 A"ri5"ta$

Es un subcon:unto de las tuplas de una relaci6n formado por


aquellas tuplas que satisfa"an una condici6n sobre uno o
m's de sus atributos #"eneralmente$ s6lo inter+iene un
atributo%. 1os fra"mentos pueden ser asi"nados a diferentes
sitios del sistema distribuido.

;na condici6n de selecci6n puede estar compuesta de +arias


condiciones conectadas por AND ( OR.

0ra,)etaci2 A"ri5"ta$ deri%ada* la fra"mentaci6n


,orizontal de una relaci6n primaria se aplica a otras
relaciones secundarias$ que referencian a la primaria a
tra+)s de una c$a%e eHtera " 0"r:ea. De esta forma$ los
datos relacionados en ambos tipos de relaci6n se fra"mentan
de la misma forma.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos
Fra,)etaci2 A"ri5"ta$ Deri%ada* E=e)-$"

A$)ace9c"dIa$)ace, direcci2, te$F0"", :rea;

EMP9 DNI, ")#re, direcci2, te$F0"", 0uci2, $"ca$i5aci2,


c"dIa$)ace;

Pr"duct"9re0, ")#re, de!cri-ci2, c"dIa$)ace;

E!ta e! $a 0ra,)etaci2 A"ri5"ta$ -ara a$)acF

AlmacensurC select D from almacen >,ere areaC EsurF

AlmacennorteC select D from almacen >,ere areaC ENorteF

E!ta e! $a 0ra,)etaci2 A"ri5"ta$ deri%ada -ara -r"duct"

productosurC select producto.D from producto$ almacensur


>,ere producto.codGalmacen C almacensur.codGalmacen

productonorteC select producto.D from producto$ almacennorte


>,ere producto.codGalmacen C almacennorte.codGalmacen

E!ta e! $a 0ra,)etaci2 A"ri5"ta$ deri%ada -ara EMP

E59surC select E59.D from E59$ almacensur


>,ere E59.codGalmacenCalmacensur.codGalmacen

E59norteC select E59.D from E59$ almacennorte


>,ere E59.codGalmacenCalmacennorte.codGalmacen

Fra,)etaci2 A"ri5"ta$....

Cada fra"mento ,orizontal de una relaci6n @ se puede


especificar como una operaci6n @estricci6n o 2elecci6n del
'l"ebra relacional #
Ci
9R; %. ;n con:unto de fra"mentos
,orizontales cu(as condiciones C&, C',E, C inclu(an todas
las tuplas de R #todas las tuplas satisfacen C H@ C&I H@
Cn% se denomina 0ra,)etaci2 A"ri5"ta$ c")-$eta de @.

E )ucA"! ca!"!, ua 0ra,)etaci2 A"ri5"ta$ c")-$eta


e! ade):! di!=utaJ es decir$ nin"una tupla de @ satisface Ci
AND C: para cualquier iKL:. 9ara reconstruir la relaci6n @ a
partir de una fra"mentaci6n ,orizontal completa$ es necesario
aplicar la operaci6n ;ni6n a los fra"mentos.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos
D&I ,scuela &ombre &ota in0reso Beca
/ABCCD/C E>( %oncha Eueta F,B !o
GG/FFADC E>( Hosechu -et#n A,: 9i
CC//A:GC E>($ Iscar Romato B,8 9i
0FCGG0AF E>( 4ill <ates F,0 !o
DDCDC:CD E>($ &epe &#tamo /,0 !o
DDFDCC:D E>( Maite %lado A,F 9i
BBFFC:CD E>($ Ernesto Mate B,B !o
&. Almacenamiento distribuido de datos
&. Almacenamiento distribuido de datos
?ra0mentacin de datos
?ra0mentacin =ori/ontal E6emplo,
$a*la inicial de alumnos de la >&M ($"
&. Almacenamiento distribuido de datos
&. Almacenamiento distribuido de datos
D&I ,scuela &ombre &ota in0reso Beca
/ABCCD/C E>( %oncha Eueta F,B !o
GG/FFADC E>( Hosechu-et#n A,: 9i
0FCGG0AF E>( 4ill <ates F,0 !o
DDFDCC:D E>( Maite %lado A,F 9i
D&I ,scuela &ombre &ota in0reso

Beca
CC//A:GC E>($ Iscar Romato

B,8 9i
DDCDC:CD E>($ &epe &#tamo

/,0 !o
BBFFC:CD E>($ Ernesto Mate

B,B !o
Jragmento de la E>($
,scuela8D,)I"D
4"5
Jragmento de la E>(7
,scuela8D,)ID
4"5
?ra0mentacin de datos
?ra0mentacin =ori/ontal E6emplo,

Fra,)etaci2 %ertica$

Es un !u#c"=ut" de ua re$aci2 cread" a -artir de u


!u#c"=ut" de !u! c"$u)a!. 2er' necesario ic$uir e$ atri#ut"
de c$a%e -ri)aria " c$a%e cadidata en todo fra"mento +ertical
para poder reconstruir una relaci6n a partir de sus fra"mentos.

;n fra"mento +ertical de una relaci6n @ se especifica con una


operaci6n JPr"6ecci2K del 'l"ebra relacional #
Li
9R; %.

;n con:unto de fra"mentos +erticales cu(as listas de pro(ecci6n L&,


L',E, L inclu(an todos los atributos de @$ compartiendo s6lo el
atributo de cla+e primaria de @$ se denomina 0ra,)etaci2
%ertica$ c")-$eta de R ( satisface<

L& L' ... L L ATTRS 9R;, donde A44@2 #@% es el con:unto de


atributos de @

Li L= L PM9R; para cq iNO =$ donde PM9R; es la cla+e primaria de @

9ara reconstruir @ desde una fra"mentaci6n +ertical completa se


aplica la operaci6n O+TER +NION.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos
&. Almacenamiento distribuido de datos
&. Almacenamiento distribuido de datos

Fragmentacin de datos
?ra0mentacin verticalE6emplo
5epartamento In3raestructura
5atos 'ectorado
(ta*la '"
5epartamento (rdenacin AcadEmica

,scuela, )bicacin
4'5

,scuela,&:meroFalumnos
4'5
Escuela !mero alumnos
E>( C000
E>($ :/00
$I&I<RJ( /00
E$9($ :F00
J( :800
>*icaci#n !mero alumnos ,scuela
E>( %ampus sur
C000
E>($ %ampus sur :/00
$opogra3a %ampus sur /00
E$9($ %iudad >niversitaria :F00
J( %ampus Montegancedo :800
>*icaci#n
Escuela
E>( %ampus sur
$I&I<RJ( %ampus sur
E$9($ %iudad >niversitaria
J( %ampus Montegancedo
E>($ %ampus sur

Fra,)etaci2 )iHta " P1#rida

Este tipo de fra"mentaci6n sur"e cuando los dos tipos


anteriores se combinan. En tal caso$ la relaci6n ori"inal
puede reconstruirse aplicando las operaciones de ;ni6n
( @euni6n E-terna en el orden apropiado.

En "eneral$ un fra"mento de una relaci6n @ se puede


especificar con una combinaci6n de operaciones
2eleccionarM9ro(ectar #
Li
9
Ci
9R;; %.
2i C L True #2elecciono todas las tuplas% ( si L Q ATTRS9R% es fra"mento
+ertical
Si C Q True ad L L ATTRS9R% e! 0ra,)et" A"ri5"ta$
Si C Q True ad L Q ATTRS9R; e! 0ra,)et" )iHt"
Si C L True ad L L ATTRS9R; R e! c"!iderada c")" u 0ra,)et" R
R Es +'lido aclarar que una relaci6n completa puede considerarse tambi)n como
un fra"mento.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos

&. Almacenamiento distribuido de datos
&. Almacenamiento distribuido de datos
Fragmentacin de datos
?ra0mentacin 7i>ta >n E6emplo
D&I ,scuela

&ombre Beca
/ABCCD/C E>( %oncha Eueta !o
-ecretar1a
GG/FFADC E>( Hosechu -et#n 9i
0FCGG0A E>( 4ill <ates !o
DDFDCC:D E>( Maite %lado 9i

D&I,,scuela,&ombre,Beca
4,5
5atos E>( (ta*la ,"
Resultante de una
3ragmentaci#n
horizontal previa
D&I ,scuela &ombre &ota in0reso Beca
/ABCCD/C E>( %oncha Eueta F,B !o
GG/FFADC E>( Hosechu -et#n A,: 9i
0FCGG0AF E>( 4ill <ates F,0 !o
DDFDCC:D E>( Maite %lado A,F 9i

D&I,,scuela,&ombre,&ota in0reso
4,5
D&I ,scuela &ombre &ota in0reso
/ABCCD/C E>( %oncha Eueta F,B
GG/FFADC E>( Hosechu-et#n A,:
Ge3atura estudios
0FCGG0AF E>( 4ill <ates F,0
DDFDCC:D E>( Maite %lado A,F

Htro concepto de importancia es el de E!que)a de


Fra,)etaci2 de BD$ que es la definici6n de un
con:unto de fra"mentos que inclu(e a todos los atributos
( tuplas de la base de datos. Dic,o esquema satisface la
condici6n de que la BD completa se puede reconstruir$ a
partir de los fra"mentos$ mediante al"una secuencia de
operaciones de @euni6n E-terna #H;4E@ NHIN%M ( ;ni6n.

9or otro lado$ un E!que)a de A!i,aci2 describe la


asi"naci6n de fra"mentos entre los sitios del 2BDDJ por
tanto$ es una correspondencia que especifica el sitio o
los sitios donde se almacena cada fra"mento. 2i un 2i un
fra"mento se almacena en m's de un sitio$ se dice que fra"mento se almacena en m's de un sitio$ se dice que
est' replicado est' replicado. A continuaci6n se e-plican la
re-$icaci2 ( a!i,aci2 de dat"!.
...TFcica! de Fra,)etaci2, @eplicaci6n ( Asi"naci6n de Datos
Almacenamiento distribuido Almacenamiento distribuido< Ora"mentaci6n$ Re-$icaci2 ( Asi"naci6n de Datos...
'Eplicacin de Datos 'Eplicacin de Datos
,l sistema conserva varias copias o rEplicas idEnticas de una tabla. Cada
rEplica se almacena en un nodo di3erente,
Ventajas
Disponibilidad7 el sistema si0ue 3uncionando a:n en caso de ca1da de
uno de los nodos.
Aumento del paralelismo7 Varios nodos pueden reali/ar consultas en
paralelo sobre la misma tabla, AdemAs cuantas mAs rEplicas e>istan de
la tabla, mayor serA la posibilidad de ;ue el dato buscado se encuentre
en el nodo desde el ;ue se reali/a la consulta, minimi/ando el trA3ico de
datos entre nodos.
Desventajas
Aumento de la sobrecar0a en las actuali/aciones7 El sistema de*e asegurar
;ue todas las rEplicas de una tabla sean consistentes (los cam*ios de*en
propagarse a todas las rplicas"

'eplicacin de Datos

'eplicacin completa toda la BD es replicada en todos los sitios,


Esto mejora la disponibilidad nota*lemente por2ue el sistema puede
seguir operando mientras, por lo menos, uno de los sitios est activo,
$am*in mejora el rendimiento de las consultas 0lobales, por 2ue el
resultado de dicho tipo de consulta se puede o*tener localmente en
cual2uier sitio,
2a desventaja de la replicaci#n completa es 2ue reduce la rapide/ de
las operaciones de actuali/acin, pues una actualizaci#n l#gica de*er.
e6ecutarse en todas y cada una de las copias de la 45 a 3in de mantener la
consistencia,
Con la replicacin completa, las tEcnicas de control de concurrencia y
recuperacin se vuelven mAs costosas de lo ;ue ser1an sin replicacin.

'eplicacin parcial algunas partes seleccionadas de la 45 son


replicadas en algunos sitios,

-a replicaci#n de datos se de3ine a travs de un es;uema de replicacin.


Almacenamiento distribuido Almacenamiento distribuido< Ora"mentaci6n$ Re-$icaci2 ( Asi"naci6n de Datos...

Asi0nacin de Datos es un tema relevante s#lo si se usa replicaci#n parcial,

-o opuesto a la replicaci#n completa es no tener ninguna replicaci#n, En este


caso todos los 3ragmentos de*en ser dis6untos, con e+cepci#n de la repetici#n
de claves primarias en los 3ragmentos verticales (o mi+tos", Esto se denomina
asi0nacin no redundante,

Entre estos dos e+tremos, e+iste una amplia gama de replicaci#n parcial de los
datos, 9e denomina ,s;uema de 'eplicacin a una descripci#n de la
replicaci#n de los 3ragmentos,

%ada 3ragmento, o copia de un 3ragmento se de*e asignar a un determinado


sitio del sistema distri*uido, Este proceso se denomina Distribucin o
Asi0nacin de los Datos,

-a eleccin de sitios y el 0rado de replicacin dependen de los o*6etivos en


cuanto a rendimiento y disponi*ilidad del sistema y de los tipos y 3recuencias
de transacciones previstas para cada sitio,

Encontrar una soluci#n #ptima, o incluso *uena, para la asignaci#n y


replicaci#n de datos distri*uidos es un pro*lema de optimizaci#n muy
comple6o,
Almacenamiento distribuido Almacenamiento distribuido< Ora"mentaci6n$ @eplicaci6n ( A!i,aci2 de Dat"!
Ora"mentaci6n ( distribuci6n de la BD Empresa. ;na empresa tiene
tre! !iti"!. 1os !iti"! ' 6 ( corresponden a los departamentos 8 6 4
respecti+amente.
2e espera que en cada sitio ,a(a un acceso frecuente a la
informaci6n de E)-$ead"! 6 Pr"6ect"! del Dpto. correspondiente.
Adem's$ supon"amos que en estos sitios #& ( *% se tiene acceso
principalmente a los si"uientes atri#ut"!*
N")#re, NSS, Sa$ari" 6 NSSISu-er% de E)-$ead".
E$ !iti" & lo usa la oficina central de la empresa ( tiene acceso con
re"ularidad a t"da $a i0"r)aci2 de empleados ( pro(ectos$
adem's de utilizar la informaci6n de De-ediete.
A!i,aci2 de 0ra,)et"! e !iti"!*
9a; Ora"mentos de relaciones en el !iti" ' correspondientes al D-t". 8
9#; Ora"mentos de relaciones en el !iti" ( correspondientes al D-t". 4
...4)cnicas de Ora"mentaci6n$ @eplicaci6n ( Asi"naci6n de Datos< E=e)-$" '
E!que)a -ara $a #a!e de dat"! re$aci"a$ EMPRESA 9c$a%e! -ri)aria! !u#ra6ada!;.
...4)cnicas de Ora"mentaci6n$ @eplicaci6n ( Asi"naci6n de Datos< E=e)-$" 'E
De acuerd" c" $"! requi!it"!, e! c"%eiete a$)acear
$a BD c")-$eta e e$ !iti" &.
...4)cnicas de Ora"mentaci6n$ @eplicaci6n ( Asi"naci6n de Datos< E=e)-$" 'E

9ara "enerar los fra"mentos correspondientes al sitio & ( al sitio *$


primero se puede fra"mentar ,orizontalmente Departamento por su
cla+e #N?meroD%.

Despu)s se aplica fra"mentaci6n deri+ada a las relaciones


E)-$ead", Pr"6ect" 6 L"ca$i5aci"e!IDe-t se"?n la cla+e
for'nea #presente en todas ellas% que refiere a un n?mero de
departamento.

Despu)s se pueden fra"mentar +erticalmente los fra"mentos


resultantes de E)-$ead" para incluir s6lo los atributos<
SN")#re, NSS, Sa$ari", NSSISu-er%, NDT.

1a fi"ura muestra los fra"mentos mi-tos EMPD8 ( EMPD4$ que


contienen las tuplas Empleado que satisfacen las condiciones
NDCP ( NDC.$ respecti+amente.

1os fra"mentos ,orizontales de 9ro(ecto$ Departamento (


1ocalizacionesGDept se fra"mentan de manera similar por n?mero
de departamento.

T"d"! e!t"! 0ra,)et"!, a$)acead"! e $"! !iti"! ' 6 ($ est'n


replicados porque ta)#iF !e a$)acea e e$ !iti" & que es la
oficina central.
...4)cnicas de Ora"mentaci6n$ @eplicaci6n ( Asi"naci6n de Datos< E=e)-$" '
9a; Fra,)et"! e e$ !iti" ' c"rre!-"diete! a$ De-arta)et" 8
9#; Fra,)et"! e e$ !iti" ( c"rre!-"diete! a$ De-arta)et" 4
"ransparencia de la red "ransparencia de la red 5enominaci#n de los elementos de datos
U 9e trata de dar un nom*re nico a los elementos de datos en las relaciones,
3ragmentos y rplicas,
Denominacin centrali/ada de elementos -os elementos son registrados en un
nico nodo llamado servidor de nombres central
Desventajas
%uello de *otella al acceder a los nom*res de los elementos,
9i 3alla el servidor de nom*res, es posi*le 2ue ningn nodo siga 3uncionando,

Denominacin distribuida de 3ra0mentos
%ada elemento usa como pre3ijo el nodo en el 2ue se encuentra,
%ada 3ragmento y rplica de*e ser identi3icado de 3orma nica mediante su3ijos.
,jemplo ,ui.A2)7&(-.33.r2 hace re3erencia a la rEplica 2 del 3ra0mento 3 del
elemento
A2)7&(- del nodo ,)I,
-e pierde transparencia de la red, 9e usa un sistema de alias para recuperar la
transparencia, -as ta*las de conversi#n de alias de*en estar en todos los nodos,
>na ta*la en el cat.logo permite al sistema7 determinar en 2u 3ragmentos o rplicas est.n
los datos 2ue el usuario solicita y mantener las rplicas actualizadas cuando se modi3ican los
datos

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
-e estudia el costo de las comunicaciones.
(bjetivo la reducci#n de la cantidad de datos trans3eridos
(ptimi/acin mediante operacin de semijoin
@ecordar que el semi:oin #por izquierda% puede e-presarse$
usando natural :oin$ como<
R S L V
a1,..,an
9R

S; J donde a1, ..., an son atributos de R
semi:oin por derec,a

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,jemplo de consulta distribuida
&(D(1 ,7$2,AD(
Dir -e>o

-ueldo

3ec=a
&ac.
Dpto.

&ombre Apellido C(D
80,000 tuplas,
%ada tupla tiene 800 *ytes de longitud,
El campo %I5 tiene G *ytes de longitud,
El campo 5pto tiene D *ytes de longitud,
El campo !om*re tiene 8F *ytes de longitud,
El campo pellido tiene 8F *ytes de longitud,
$amao de la relaci#n7 800 K 80,000 L 80
B
*ytes

&ombreDpto

&Dpto

'esponsable ,di3icio

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,jemplo de consulta distribuida
&(D(2 D,$A'"A7,&"(
800 tuplas,
%ada tuplatiene CF *ytes de longitud,
El campo !om*re5pto tiene 80 *ytes de longitud,
El campo !5pto tiene D *ytes de longitud,
El campo Responsa*le tiene G *ytes de longitud,
$amao de la relaci#n7 CF K 800 L CF00 *ytes

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,jemplos de consulta distribuida
MPor cada empleado, obtener el nombre del empleado y el
nombre del departamento al que perteneceN
H1
415
I&ombre,Apellido,&ombreD$to4,7$2,AD(

D,$A'"A7,&"(5
-a consulta se lanza desde el nodoC (nodo respuesta" 2ue no
tiene datos implicados en la consulta,
El resultado de sta consulta constar. de 80,000 tuplas, %ada
tupla resultante ser. de una longitud de D0 *ytes, El tamao del
resultado ser. por tanto de D00,000 *ytes,
E+isten tres alternativas para resolver la consulta,
(8" Euery (E"7 (denti3icador de %onsulta

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,jemplos de consulta distribuida
&rimera alternativa7
$rans3erir, tanto la relaci#n EM&-E5I, como la
relaci#n 5E&R$ME!$I al nodo respuesta
(nodoC" y realizar all mismo la operaci#n de 6oin,
En ste caso se trans3ieren7
1.JJJ.JJJ 9 3.#JJ 8 1.JJ3.#JJ bytes.

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas


,jemplos de consulta distribuida
9egunda alternativa7
$rans3erir la relaci#n EM&-E5I al nodo:,
e6ecutar el 6oin en este nodo y enviar el
resultado al nodoC,
Esto implicara trans3erir7
1.JJJ.JJJ 9 !JJ.JJJ 4resultado5 8 1.!JJ.JJJ bytes

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas

,jemplos de consulta distribuida
$ercera alternativa7
$rans3erir la relaci#n 5E&R$ME!$I al
nodo8, e6ecutar el 6oin en este nodo y enviar el
resultado al nodoC,
En este caso, los *ytes trans3eridos ser.n7
3.#JJ 9 !JJ.JJJ 4resultado5 8 !J3.#JJ bytes.

9rocesamiento distribuido de consultas 9rocesamiento distribuido de consultas
,jemplos de consulta distribuida
MPara cada departamento, obtener el nombre del departamento y
el de su directorN
H2 I&ombreD$to,&ombre,Apellido4D,$A'"A7,&"(

,7$2,AD(5
-a consulta se lanza desde el nodoC, El resultado de sta consulta constar.
de 800 tuplas (D,000 *ytes",
Ipci#n 87 transferimos las relaciones DEPARTAMENTO y EMPLEADO
al nodo3 !e transfieren7
3.#JJ 9 1.JJJ.JJJ 8 1.JJ3.#JJ bytes.
Ipci#n :7 transferimos la relaci"n EMPLEADO al nodo# y en$iamos el
resultado del %oin al nodo3 !e transfieren&
1.JJJ.JJJ 9 !.JJJ 8 1.JJ!.JJJ bytes.
Ipci#n C7 transferimos la relaci"n DEPARTAMENTO al nodo' y
en$iamos el resultado del %oin al nodo3 !e transfieren&
3.#JJ 9 !.JJJ 8 K.#JJ bytes.

-a Ipci#n : es m.s optima
9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,jemplos de consulta distribuida
!>EOI 9>&>E9$I7 las consultas anteriores se lanzan desde el nodo2
Ipci#n 87 trans3erir la relaci#n EM&-E5I al nodo:, realizar el
6oin y presentar el resultado al usuario del nodo:, 5e sta manera se
trans3erir.n el mismo nmero de *ytes para la consulta E8 y la E:7
1.JJJ.JJJ bytes.
Ipci#n :7 trans3erir la relaci#n 5E&R$ME!$I al nodo8,
realizar el 6oin y enviar el resultado al nodo:, En este caso se
trans3ieren7
&ara E87 C,F00*ytes de 5E&R$ME!$I y D00,000 de resultado L !J3.#JJ bytes
&ara E:7 C,F00*ytes de 5E&R$ME!$I y D,000*ytes de resultado L K.#JJ bytes.

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
$roceso distribuido de consultas utili/ando
semijoin
'educcin del n:mero de columnas antes de trans3erir
a otro nodo,
0 9e enva la columna con la 2ue se va a realizar el 6oin de
una relaci#n R al nodo donde se encuentra la otra relaci#n,
all se realiza el 6oin con la otra relaci#n 9
0 9e envan las columnas implicadas en el resultado al
nodo inicial y se vuelve a realizar el 6oin con R,
0 9#lo se trans3ieren las columnas de R 2ue intervienen en
la realizaci#n del 6oin en una direcci#n y el su*con6unto de
columnas de 9 resultantes en la otra,

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas
,j. de proceso distribuido de consultas utili/ando semijoin en H2
RECORDAR:
Q2: Para cada departamento, obtener el nombre del departamento y el de su director
NODO&* EMPLEADO
NODO'* DEPARTAMENTO
$aso 1.
&royecci#n de 5E&R$ME!$I so*re atri*utos 2ue van a intervenir en
la operaci#n de 6oin y trans3erencia al nodo8,
?2 I
'esponsable
4D,$A'"A7,&"(5
"amaBo resultante7 G *ytes del atri*uto Responsa*le por 800 tuplas de
5E&R$ME!$I L G00 *ytes trans3eridos del nodo: al nodo8,

9rocesamiento distribuido de consultas
9rocesamiento distribuido de consultas

$aso 2.
Realizaci#n del 6oin de los tuplas trans3eridas en el paso
anterior, $rans3erencia del resultado del 6oin de nuevo al nodo:, 9e
trans3ieren s#lo los atri*utos necesarios para realizar el 6oin 3inal7
'2 I'esponsable,&ombre,Apellido4?2 ,7$2,AD(5
"amaBo7 (GP 8F P 8F" K 800L CG00 *ytes trans3eridos del nodo8 al nodo:
$otal trans3erido7 G00PCG00L D,/00 *ytes para E: (vs K.#JJ bytes"
,j. de proceso distribuido de consultas utili/ando semijoin en H2...

@ecuperaci6n
@ecuperaci6n
"ransaccin distribuida correcta,
-e pueden producir 3allos durante la ejecucin de una
transaccin correcta si ocurre el caso de ;ue al acceder a
al0uno de los nodos ;ue intervienen en la transaccin,
dic=o nodo 3alla.
?allo de las cone>iones de comunicacin,
,l sistema debe ser capa/ de tratar los posibles 3allos ;ue
se produ/can en las comunicaciones entre nodos. ,l caso
mAs e>tremo es el ;ue se produce cuando se divide la red.
,sto puede producir la separacin de la red en 2 mAs
particionesL donde los nodos de cada particion pueden
comunicarse entre si pero no con nodos de otras
particiones.

4ransacciones distribuidas
4ransacciones distribuidas
$rotocolo de compromiso en dos 3ases. (Two phase commit protocol)
8,El coordinador enva una solicitud de voto (vote re2uest" a los nodos
participantes en la e6ecuci#n de la transacci#n,
:, %uando reci*en la solicitud de voto los participantes responden
enviando al coordinador un mensa6e con su voto (-1 o &o", 9i un
participante vota &o, la transacci#n se aborta (a*ort",
C, El coordinador recoge los mensa6es con los votos de todos los
participantes, -i todos =an votado -1, entonces el coordinador tam*in
vota por -i y enva un mensa6e commit a todos los participantes, En
otro caso, el coordinador decide a*andonar y enva un mensa6e abort
a todos los participantes 2ue han votado a3irmativamente,
D, %ada participante 2ue ha votado -1, espera del coordinador un
mensa6e commit o abort para terminar la transacci#n de 3orma normal
o a*ortarla,

En cuanto a productos disponibles... En cuanto a productos disponibles...
Q P"!t,re! ,a inno+ado su tecnolo"/a constantemente$ al punto de estar intentando
crear BDDs$ el desarrollo de dic,a tecnolo"/a a?n es pobre$ pero con muc,a
tendencia a el crecimiento.
Q Orac$e utiliza el soft>are de red Orac$e Net ? para comunicacion entre bases de
datos. Net ? permite a las BD comunicarse a tra+)s de redes para soportar
transacciones distribuidas ( remotas.
Q Arquitectura Di!tri#uida de Ba!e de dat"! re$aci"a$ 9DRDA;
0 Consiste en un sistema de protocolos para conectar m?ltiples DB52s #IB5 o no%
0 Cualquier combinaci6n de DB52s relacionales que utilicen D@DA se pueden
conectar para formar un sistema de "esti6n distribuido de BD@.
0 D@DA coordina la comunicaci6n entre los sistemas definiendo qu) debe ser
intercambiado ( c6mo debe ser intercambiado. 9roporciona un ambiente de base de
datos distribuido ,etero")neo$ abierto ( robusto.
0 D@DA describe s6lo la arquitectura para los datos distribuidos #no la puesta en
pr'ctica%. Define las re"las para tener acceso a los datos distribuidos$ pero no
proporciona los interfaces de pro"ramaci6n reales #A9Is% para realizar el acceso
#D@DA son s6lo especificaciones no pro"ramas%.

Vous aimerez peut-être aussi