Está en la página 1de 6

2.

BasesdeDatosDistribuidas

A diferencia de los sistemas paralelos, en los que los procesadores se hallan estrechamente
acopladosyconstituyenunnicosistemadebasesdedatos,lossistemasdistribuidosdebasesde
datos consisten en sitios dbilmente acoplados que no comparten ningn componente fsico.
Adems,puedequelossistemasdebasesdedatosqueseejecutanencadasitiotenganungrado
sustancialdeindependenciamutua.

Cadasitiopuedeparticiparenlaejecucindetransaccionesquetienenaccesoalosdatosdeuno
ovariosdelossitios.Ladiferenciaprincipalentrelossistemasdebasesdedatoscentralizadosy
losdistribuidosesque,enlosprimeros,losdatosresidenenunanicaubicacin,mientrasqueen
los segundos los datos residen en varias ubicaciones. La distribucin de los datos es causa de
muchasdificultadesenelprocesamientodelastransaccionesydelasconsultas.Enestecaptulo
secomentanalgunasdeesasdificultades.

Secomienzaporclasificarlasbasesdedatosdistribuidasenhomogneasyheterogneas.Luego
se aborda el problema del almacenamiento de los datos en las bases de datos distribuidas.
Despus se comenta un modelo de procesamiento de las transacciones en bases de datos
distribuidas.

2.1BasesdeDatosHomogneasyHeterogneas

En las bases de datos distribuidas homogneas todos los sitios tienen idntico software de
sistemas gestores de bases de datos, son conscientes de la existencia de los dems 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 autonoma en cuanto a su derecho a modificar los
esquemas o el software del sistema gestor de bases de datos. Ese software tambin debe
cooperar con los dems sitios en el intercambio de la informacin sobre las transacciones para
hacerposibleelprocesamientodelastransaccionesentrevariossitios.
A diferencia de lo anterior, en las bases de datos distribuidas heterogneas sitios diferentes
puedequeutilicenesquemasdiferentesydiferentesoftwaredegestindesistemasdebasesde
datos.Puedequeunossitiosnoseanconscientesdelaexistenciadelosdemsypuedequesolo
28

proporcionenfacilidadeslimitadasparalacooperacinenelprocesamientodelastransacciones.
Lasdiferenciasenlosesquemassuelenconstituirunproblemaimportanteparaelprocesamiento
de las consultas, mientras que la divergencia del software supone un inconveniente para el
procesamientodetransaccionesquetenganaccesoavariossitios.
Enestetemalaatencinsecentrarenlasbasesdedatosdistribuidashomogneas.Noobstante,
sediscutirnbrevementelosaspectosdelprocesamientodelasconsultasenlossistemasdebases
dedatosdistribuidasheterogneas.

2.2AlmacenamientoDistribuidodelosDatos

Considrese una relacin r que hay que almacenar en la base de datos. Hay dos enfoques del
almacenamientodeestarelacinenlabasededatosdistribuida:

Rplica.Elsistemaconservareplicas(copias)idnticasdelarelacinyguardacadareplica
en un sitio diferente. La alternativa a las replicas es almacenar solo una copia de la
relacinr.
Fragmentacin. El sistema divide la relacin en varios fragmentos y guarda cada
fragmentoenunsitiodiferente.

La fragmentacin y la rplica pueden combinarse: Las relaciones pueden dividirse en varios


fragmentos y puede haber varias replicas de cada fragmento. En los subapartados siguientes se
profundizaraencadaunadeestastcnicas.

2.2.1.Rplicadedatos

Silarelacinrserplica,seguardaunacopiadedicharelacinendosomssitios.Enelcasoms
extremosetieneunarplicacompleta,enlaqueseguardaunacopiaencadasitiodelsistema.
Hayvariasventajasydesventajasenlasrplicas.

Disponibilidad.Sialgunodelossitiosquecontienelarelacinrfalla,larelacinpuede
hallarse en otro sitio distinto. Por tanto, el sistema puede seguir procesando las
consultasqueimpliquenar,pesealfallodelsitio.

Paralelismo incrementado. En caso de que la mayora de los accesos a la relacin r


soloresultenenlalecturadelarelacin,variossitiospuedenprocesarenparalelolas
lecturasqueimpliquenar.Cuantasmsrplicasderhaya,mayorserlaposibilidad
29

dequelosdatosnecesariossehallenenelsitioenqueseejecutalatransaccin.Por
tanto,larplicadelosdatosminimizaelmovimientodelosdatosentrelossitios.

Sobrecarga incrementada durante la actualizacin. El sistema debe asegurar que


todas las rplicas de la relacin r sean consistentes; en caso contrario pueden
producirsecmputoserrneos.Poreso,siemprequeseactualizarhayquepropagar
la actualizacin a todos los sitios que contienen replicas. El resultado es una
sobrecargaincrementada.Porejemplo,enunsistemabancario,enelquesereplicaen
variossitioslainformacindelascuentas,esnecesarioasegurarsedequeelsaldode
cadacuentaconcuerdeentodoslossitios.

Engeneral,larplicamejoraelrendimientodelasoperacionesleeryaumentaladisponibilidadde
los datos para las transacciones solo de lectura. No obstante, las transacciones de actualizacin
suponen una mayor sobrecarga. El control de las actualizaciones de actualizacin realizadas por
varias transacciones en los datos replicados resulta ms complicado que en los sistemas
centralizados. Se puede simplificar la gestin de las rplicas de la relacin r escogiendo una de
ellascomocopiaprincipalder.Porejemplo,enunsistemabancario,lascuentaspuedenasociarse
conelsitioenqueseabrieron.Demaneraparecida,enunsistemadereservadeboletosdeavin,
losvuelospuedenasociarseconelsitioenqueseoriginaelvuelo.Seexaminarelesquema de
copiasprincipalesyotrasopcionesdelcontroldelaconcurrenciadistribuida.

2.2.2.Fragmentacindelosdatos

Si la relacin r se fragmenta, r se divide en varios fragmentos r1, r2, . . . , rn. Estos fragmentos
contienen suficiente informacin como para permitir la reconstruccin de la relacin original r.
Hay dos esquemas diferentes ce fragmentacin de las relaciones: fragmentacin horizontal y
fragmentacinvertical.Lafragmentacinhorizontaldividelarelacinasignandocadatupladeren
unoomsfragmentos.LafragmentacinverticaldividelarelacindescomponiendoelesquemaR
delarelacinr.
Estosenfoquesseilustrarnfragmentandolarelacincuenta,conelesquema
esquemacuenta=(numerocuenta,nombresucursal,saldo)
Enlafragmentacinhorizontallarelacinrsedivideenvariossubconjuntos,r1,r2,...,rn.Cada
tupla de la relacin r debe pertenecer como mnimo a uno de los fragmentos, de modo que se
puedareconstruirlarelacinoriginal,sifueranecesario.
A modo de ejemplo, la relacin cuenta puede dividirse en varios fragmentos, cada uno de los
cuales consiste en tuplas de cuentas que pertenecen a una sucursal concreta. Si el sistema
bancariosolotienedossucursales(GuadarramayCercedilla)habrdosfragmentosdiferentes:

30

Cuenta1=nombresucursal,=Guadarrama(cuenta)
Cuenta2=nombresucursal=Cercedilla(cuenta)
Lafragmentacinhorizontalsueleutilizarseparaconservarlastuplasenlossitiosenquemsse
utilizan,paraminimizarlatransferenciadedatos.
Engeneral,losfragmentoshorizontalespuedendefinirsecomounaseleccindelarelacinglobal
r.Esdecir,seutilizaunpredicadoPi,paraconstruirfragmentosri:

ri=Pi(r)
Sereconstruyelarelacinrtomandolaunindetodoslosfragmentos;esdecir,
r=r1Ur1U.Ur1
En el ejemplo los fragmentos son disjuntos. Al cambiar los predicados de seleccin empleados
paracrearlosfragmentossepuedehacerqueunatuplaconcretaderaparezcaenmsdeunode
losfragmentosri.
En su forma ms sencilla la fragmentacin vertical es igual que la descomposicin. La
fragmentacinverticalder(R)implicaladefinicindevariossubconjuntosdeatributosR1,R2,...,
RndelesquemaRdemodoque
R=R1UR2UURn
Cadafragmentori,dersedefinemediante
ri=URi(r)
La fragmentacin debe hacerse de modo que se pueda reconstruir la relacin r a partir de los
fragmentostomandolareuninnatural

Unamaneradeasegurarquelarelacinrpuedareconstruirseesincluirlosatributosdelaclave
principal de R en cada uno de los fragmentos Ri. De manera ms general, se puede utilizar
cualquiersuperclave.Sueleresultarconvenienteaadirunatributoespecial,denominadoidtupla,
alesquemaR.Elvaloridtupladeunatuplaesunvalornicoquedistinguecadatupladetodaslas
dems.Elatributoidtupla,portanto,sirvecomoclavecandidataparaelesquemaaumentadoy
seincluyeencadaunodelosfragmentosLadireccinfsicaolgicadelatuplapuedeutilizarse
comoidtupla,dadoquecadatuplatieneunadireccinnica.
Para ilustrar la fragmentacin vertical considrese una base de datos universitaria con una
relacin infoempleado que almacena, para cada empleado, idempleado, nombre, puesto y
salario.Pormotivosdepreservacindelaintimidadpuedequeestarelacinsefragmenteenuna
31

relacinempleadoinfoprivadaquecontengaidempleadoysalario,yenotrarelacinempleado
infopblica que contenga los atributos idempleado, nombre y puesto. Puede que las dos
relacionessealmacenenensitiosdiferentes,nuevamente,pormotivosdeseguridad.
Sepuedenaplicarlosdostiposdefragmentacinaunsoloesquema;porejemplo,losfragmentos
obtenidos de la fragmentacin horizontal de una relacin pueden dividirse nuevamente de
manera vertical. Los fragmentos tambin pueden replicarse. En general, los fragmentos pueden
replicarse,lasreplicasdelosfragmentospuedenfragmentarsemas,etctera,etctera.

2.2.3.Transparencia

No se debe exigir a los usuarios de los sistemas distribuidos de bases de datos que conozcan la
ubicacin fsica de los datos ni el modo en que se puede tener acceso a ellos en un sitio local
concreto. Esta caracterstica, denominada transparencia de los datos, puede adoptar varias
formas:

Transparenciadelafragmentacin.Noseexigealosusuariosqueconozcanelmodoen
quesehafragmentadolarelacin.
Transparencia de la rplica. Los usuarios ven cada objeto de datos como lgicamente
nico. Puede que el sistema distribuido replique los objetos para incrementar el
rendimiento del sistema o la disponibilidad de los datos. Los usuarios no deben
preocuparseporlosobjetosquesehayanreplicadoniporlaubicacindeesasreplicas.
Transparenciadelaubicacin.Noseexigealosusuariosqueconozcanlaubicacinfsica
delosdatos.Elsistemadistribuidodebasesdedatosdebepoderhallarlosdatossiempre
quelatransaccindelusuariofaciliteelidentificadordelosdatos.

Loselementosdedatos(comolasrelaciones,losfragmentosylasreplicas)debentenernombres
nicos. Esta propiedad es fcil de asegurar en una base de datos centralizada. En las bases de
datos distribuidas, sin embargo, hay que tener cuidado para asegurarse de que dos sitios no
utilicenelmismonombreparaelementosdedatosdiferentes.
Una solucin a este problema es exigir que todos los nombres se registren en un servidor de
nombrescentral.Elservidordenombresayudaaasegurarqueelmismonombrenoseutilicepara
elementosdedatosdiferentes.Tambinsepuedeutilizarelservidordenombresparaubicarun
elemento de datos, dado el nombre del elemento. Este enfoque, sin embargo, presenta dos
inconvenientesprincipales.Enprimerlugar,puedequeelservidordenombressetransformeen
un cuello de botella para el rendimiento cuando los elementos de datos se ubican por sus
nombres,loquedalugaraunbajorendimiento.Ensegundolugar,sielservidordenombresque
dafueradeservicio,puedequenoseaposiblequesigafuncionandoningnotrositiodelsistema
distribuido.

32

Un enfoque alternativo ms utilizado exige que cada sitio anteponga su propio identificador de
sitio a cualquier nombre que genere. Este enfoque asegura que dos sitios no generen nunca el
mismonombre(dadoquecadasitiotieneunidentificadornico).Adems,nosenecesitaningn
control centralizado. Esta solucin, no obstante, no logra conseguir la transparencia de la
ubicacin,dadoqueseadjuntanalosnombreslosidentificadoresdelossitios.As,sepuedehacer
referencia a la relacin cuenta como sitio17.cuenta, o cuenta@sitio 17, en lugar de meramente
cuenta. Muchos sistemas de bases de datos utilizan la direccin de internet de los sitios para
identificarlos.
Para superar este problema el sistema de bases de datos puede crear un conjunto de nombres
alternativosoaliasparaloselementosdedatos.As,losusuariossepuedenreferiralosartculos
de datos mediante nombres sencillos que el sistema traduce en los nombres completos. La
asignacin de los alias a los nombres reales puede almacenarse en cada sitio. Con los alias el
usuariopuedeignorarlaubicacinfsicadeloselementosdedatos.Adems,elusuarionosever
afectadosieladministradordelabasededatosdecidetrasladarunelementodedatosdeunsitio
aotro.
Losusuariosnodebentenerquehacerreferenciaaunarplicaconcretadeunelementodedatos.
En vez de eso, el sistema debe determinar la rplica a la que hay que hacer referencia en las
solicitudesleer,yactualizartodaslasreplicasenlassolicitudesescribir.SepuedeasegurarqueIo
hagamanteniendounalabiadecatalogoqueelsistemautilizaparadeterminartodaslasreplicas
delelementodedatos.

Paraverlareplicacindesdeunpuntodevistaprcticoparapensarensuimplementacinatravs
de programacin, se sugiere el captulo 17 de la referencia [4]. Porque lo que vendra a
continuacineslapartedetransaccionesdistribuidas,peroprimeroesconvenientecubrireltema
de transacciones. Las transacciones distribuidas vienen documentadas en la seccin 19.3 de la
referencia[2].

33

También podría gustarte