Introducció bases de dades distribuides

13

Click here to load reader

Transcript of Introducció bases de dades distribuides

Page 1: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Bases de dades distribuides (BDD)

Autor: Miquel Boada Artigas

Data última modificació: 30/09/2016 Pàgina 1 de 13

Page 2: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Bases de dades distribuides (BDD)Introducció.....................................................................................................................3BDD Homogènies...........................................................................................................3Fragmentació.................................................................................................................4

Fragmentació horitzontal...........................................................................................4Fragmentació vertical................................................................................................5Fragmentació mixte...................................................................................................6

Replicació.......................................................................................................................7Replicació síncrona i asíncrona..................................................................................7

Transaccions distribuides...............................................................................................8Transacció local..........................................................................................................8Transacció global........................................................................................................8

Gestor de transaccions i coordinador de transaccions..................................................8Gestor de transaccions..............................................................................................8Coordinador de transaccions......................................................................................8

Coordinador de transaccions – únic vs distribuit....................................................9Coordinador de transaccions únic..........................................................................9Coordinador de transaccions distribuit...................................................................9

Disseny de BDD...........................................................................................................10Disseny ascendent...................................................................................................10Disseny descendent.................................................................................................11

Característiques bases de dades distribuïdes..............................................................12Webgrafia........................................................................................................................13

Data última modificació: 30/09/2016 Pàgina 2 de 13

Page 3: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

IntroduccióLes bases de distribuides són aquelles que tenen la informació fragementada endiverses parts ubicades en servidors distribuits de forma geogràfica. Per tal que unabase de dades pugui ser considerada distribuida cal que compleixi una sèrie decondicionants:

• No poden compartir cap component de hardware. Per exemple, una base dedades que emmagatzema informació en varios discos , siguin o no remots, no ésuna base de dades distribuida.

• S'administren de forma separada.

BDD HomogèniesLes bases de dades distribuides homogènies són aquelles que comparteixen:

• El mateix sistema gestor de bases de dades (software).

• La representació de la informació és la mateixa per a tots els llocs.

• Cada lloc sap de l'existència dels altres llocs.

Les bases de dades homogènies es caracteritzen per tenir una única base de dadeslògica però moltes bases de dades físiques.Una base de dades distribuida serà heterogènia quan no es compleixi alguna de lescondicions anteriors. La gestió de les BDD heterogènies és molt complexe i normalmentsón resultat de la fusió de grans empreses on cada una d'elles disposa ja d'un sistemacomplex de base de dades. En aquest tipus de bases de dades cal aconseguir que elsdiferents sistemes gestors de bases de dades involucrats cooperin entre ells.

Data última modificació: 30/09/2016 Pàgina 3 de 13

Imatge 1: Exemple sistema distribuit

Page 4: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

FragmentacióSegons la forma en què la informació estigui dividida es parla de bdd horitzontals,verticals o mixtes.

Fragmentació horitzontal

En la fragmentació horitzontal la informació es distribueix per registres. Així, perexemple, si tinc la informació de N treballadors , X de Barcelona i Y de Girona i disposod'un servidor de base de dades a Girona i un altre a Barcelona, en el servidor deBarcelona s'emmagatzemarien la informació del X treballadors de Barcelona, mentreque en el de Girona s'ubicaria la informació dels altres Y. Un dels criteris que cal utilitzaren la fragementació horitzontal és la d'ubicar la informació aprop dels llocs on seràutilitzada. En aquest cas, és normal pensar que la informació dels treballadors deBarcelona serà accedida des de les oficines de Barcelona i els de Girona des de lesoficines de Girona.

Data última modificació: 30/09/2016 Pàgina 4 de 13

Imatge 2: Fragmentació hortizontal

Page 5: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Fragmentació vertical

La fragmentació vertical consisteix en dividir un registre en parts més petites. Cada unad'aquestes parts pot estar ubicada en un o varis servidors. En la nostra taula detreballadors , una de les opcions seria tenir una seu central on hi hagin els salaris detots els treballadors, però la resta d'informació està a les delegacions.

Data última modificació: 30/09/2016 Pàgina 5 de 13

Imatge 3: Fragmentació vertical

Page 6: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Fragmentació mixte

La fragmentació mixte és el resultat d'aplicar tant la fragmentació horitzontal com lafragmentació vertical a les dades.

Data última modificació: 30/09/2016 Pàgina 6 de 13

Imatge 4: Fragmentació mixte

Page 7: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

ReplicacióPer tal d'agumentar la disponibilitat dels sistemes distribuits, s'apliquen polítiques derèpliques entre els diferents llocs. Una rèplica consisteix en duplicar una informació imantenir-la sincronitzada al llarg del temps, de forma que si canvia aquella informacióen un lloc, és necessari canviar-la també a la resta de llocs on es va duplicar.El benefici de les rèpliques no és tan sols la major disponibilitat del sistema, sinó quetambé fan que les consultes siguin més eficients: es redueix el nombre de transaccionsglobals.No tot són avantatges en la replicació de dades:

✗ Actualització de dades menys eficients.

Quan es modifica una dada cal que es modifiqui a tots els llocs on estàreplicada. Aquest procés augmenta el tràfic de la xarxa i consumeix els recursospropis dels sistemes que intervenen en la rèplica.

✗ Verificació de les dades.

Finalitzat el procés de rèplica cal fer un segon procés per a garantir que larèplica s'ha efectuat de forma correcte a tots els llocs i, en cas contrari, actuaren conseqüència.

Replicació síncrona i asíncrona

La replicació pot ser de dos tipus, síncrona o asíncrona segons el momen en què s'iniciael procés. La replicació síncrona és aquella que es produeix de forma immediata al'actualització de la informació. En el cas que la replicació no es faci de forma immediataserà asincrona.

Data última modificació: 30/09/2016 Pàgina 7 de 13

Page 8: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Transaccions distribuidesQuan s'utilitzen bases de dades distribuides cal tenir en compte que una transacció potser resolta utilitzant només els recursos d'un sistema gestor de base de dades o béprecisa de més d'un sistema gestor de base de dades per a obtenir la informació. Perexemple, en la imatge número 15, per a obtenir els sous de tots els treballadors i totesles seves dades la consulta s'ha de distribuir pels 3 sistemes gestors de bases de dades.

Transacció local

Una transacció és local quan es pot executar accedint només al sistema gestor on estàconnectat l'usuari. Per exemple, si els ordinadors assignats a BCN executen unaconsulta per obtenir el telèfon de l'Anna de BCN, és una transacció local. Si es volobtenir el salari de l'Anna, la transacció no és local ja que cal accedir a un SGBD diferental que està assignat l'equip que executa la consulta.

Transacció global

Una transacció és global quan no és local: el SGBD associat a l'equip no pot resoldre latransacció per si sol i cal que es coordini amb un o més SGBD per a poder finalitzar latransacció.

Gestor de transaccions i coordinador de transaccionsLes bases de dades centralitzades disposen d'un gestor de transaccions , que té lafuncionalitat de garantir que la transacció es realitzi de forma correcte. En les bases dedades distribuides es continua mantenint aquest element , ja que el sistema ha decontinuar processant les transaccions locals, apart de les remotes.

Gestor de transaccions

Les funcions del gestor de transaccions de les BDD són les mateixes que ja tenia aquestelement en les bases de dades centralitzades:

• Execució de les transaccions.

• Registre històric: és la base per a poder recuperar una transacció en el cas que hihagi algun «imprevist».

• Control de concurrència i implementació de bloquejos.

Coordinador de transaccions

La funció del coordinador de les transaccions és la de donar suport a les transaccionsglobals. Cal tenir en compte que una transacció pot haver-se realitzat en un servidor deforma total, en un altre de forma parcial (perquè encara no l'ha pogut finalitzar) mentreque en un altre SGBD hi ha hagut un problema i la transacció no es pot dur a terme. Lacoherència de les dades ara ja no és només a nivell d'una base de dades, sinó que calgarantir la coherència de dades entre tots els SGBD involucrats.Les funcions que té assignades el coordinador de transaccions són:

• Divisió de la transacció.

La transacció pot ser local o global. En aquest últim cas, cal determinar quinsSGBD hi ha implicats i quina part de la transacció haurà d'executar cada SGBD

Data última modificació: 30/09/2016 Pàgina 8 de 13

Page 9: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

• Coordinació amb els SGBD afectats.

Abans d'iniciar la transacció en qualsevol SGBD cal verificar que tots els SGBDafectats estan operatius i podran realitzar l'operació. En cas que no sigui així, latransacció no es pot iniciar.

• Distribució de la transacció

Si la transacció es pot executar en tots els SGBD necessaris, cada un d'ells japot començar la seva execució.

• Coordinació finalització de la transacció.

Els diversos SGBD han de comunicar al coordinador inicial de la transacció quehan finalitzat amb la seva part de la transacció.

• Finalització de la transacció

Si la transacció ha finalitzat de forma correcte a tots els llocs, cal notificar-losque poden tancar la transacció. Si hi ha hagut algun error en algun lloc enl'execució de la transacció, serà precís cancel·lar totes les transaccionsexecutades en els diversos llocs per tal que la informació sigui coherent.

Coordinador de transaccions – únic vs distribuit

Una de les preguntes que ens hem de fer quan es monta un sistema de bases de dadesdistribuït és com volem implementar la coordinació de les diferents transaccions i enúltima instància els bloquejos a realitzar. En aquest sentit hi ha dues possibilitats:

1. Un únic coordinador principal.2. Un coordinador de transaccions per a cada lloc.

Coordinador de transaccions únic

El coordinador de transaccions únic implica que un dels llocs tindrà instal·lat el softwareque coordinarà les transaccions dels diferents llocs. Evidentment, aquest equip i elcanal de comunicació hauran d’estar degudament dimensionats per poder fer front atotes les peticions.

✔ Simplicitat

Es disposa de tota la informació per a prendre decisions sense necessitat decomunicar-se amb els altres llocs.

✗ Vulnerabilitat

Tot el sistema de transaccions depèn d’un únic equip.

Coordinador de transaccions distribuit

Cada un dels llocs disposa d’un coordinador de transaccions propi.✔ Disponibilitat

En el cas que un lloc caigui, la resta pot continuar funcionant amb normalitat.✔ S’eviten colls d’ampolla

Les peticions queden distribuides entre els diferents llocs, a diferència delcoordinador de transaccions únic on totes les transaccions es concentren en unúnic lloc.

✗ Complexitat

Cal que els diferents coordinadors de transaccions estiguin en comunicacióentre ells per a prendre les decisions.

Data última modificació: 30/09/2016 Pàgina 9 de 13

Page 10: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Disseny de BDDPer a dissenyar una base de dades centralitzada cal pensar en:

1. Determinar la informació que es vol emmagatzemar.2. Determinar com agrupar les diferents dades.3. Determinar la naturalesa de cada una de les dades: texte, números enters,

números reals, data, imports monetaris... 4. Relacions entre les diferents unitats d’informació

Quan es vold dissenyar una base de dades distribuida, apart d’aquests punts, cal teniren compte també:

1. Llocs on implementar la base de dades.2. Fragmentació a realitzar.3. Distribució de la informació en els diversos llocs.4. Configuració de la replicació.

Per afrontar la complexitat les bases de dades distribuides es proposen duesmetodologies de disseny

Disseny ascendent

El disseny ascendent es realitza quan ja hi ha una infraestructura de bases de dadescentralitzades. En aquest cas, es sol aprofitar el coneixement del sistema ja existent pertal de crear el nou disseny, o aprofitar els SGBD ja existents per a crear el sistemadistribuit com a capa superior. Normalment es sol conservar l’ubicació originària de lesdades i l’estructura de la informació ja existent.

✔ Menys complexitat d’implementació

El sistema ja està provat (de forma centralitzada) i és conegut pels usuaris. Esredueix la possibilitat d’error.

✔ No cal realitzar cap procés de transformació de les dades.

La informació del sistema antic és vàlida ja que realment no es fa un redisseny,sinó que simplement es canvia l’arquitectura del sistema.

✗ El resultat final és un sistema distribuit heterogeni.

✗ No es resolen els problemes del sistema anterior a nivell d’estructura de dades.

Data última modificació: 30/09/2016 Pàgina 10 de 13

Page 11: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Disseny descendent

El disseny descendent consisteix en redefinir tot el sistema montant el nou sistema apartir dels requeriments:quina informació es vol gestiornar i quins són els objectius delsistema. El disseny descendent comporta la creació de sistemes homogenis, ja que nos’aprofita l’estructura de la informació.

✔ Implantació d’un sistema homogeni.

Un sistema homogeni sempre és més fàcil de mantenir i facilita la coordinacióentre els diferents llocs sense necessitat de processos intermitjos.

✔ Millor sistema

El redisseny del sistema permet crear un nou model de la informació aprofitantl’experiència del disseny anterior, podent millorar els punts dèbils sense haverde renunciar als punts forts.

✗ Cal realitzar processos de transformació de les dades

Al modificar l’estructura en què estan organitzades les dades, cal realitzarprocessos ja existents per a poder aprofitar les dades ja existents en el sistemavell.

✗ Resistència de l’usuari

Normalment les eines que utilitza l’usuari s’hauran de modificar per adaptar-lesa la nova estructura de la informació.

Data última modificació: 30/09/2016 Pàgina 11 de 13

Page 12: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Característiques bases de dades distribuïdesLes avantatges dels sistemes gestors de bases de dades distribuits venen donatsbàsicament per la fragmentació i el major nombre d'equips. Cal dir que les avantatgescitades s'aconsegueixen únicament si la fragmentació de les dades s'ha realitzat deforma correcte.

✔ Millora en les transaccions

Si les transaccions són locals, el sistema és molt més eficient que el sistemacentralitzat pel menor nombre de dades a consultar i per la menor càrrega delmateix SGBD. Es redueixen també els colls d'ampolla al distribuir-se lespeticions entre els diferents servidors disponibles.

✔ Escalable

El sistema és fàcilment escalable, ja que si es necessiten més SGBD per amillorar el rendiment global, només cal configurar-los i connectar-los al sistema.

✔ Disponibilitat

En el cas que caigui un servidor, els usuaris poden continuar treballant amb laresta de servidors disponibles. L'accés a la informació normalment és total, jaque la informació normalment està emmagatzemada entre varis SGBD. Elrendiment, sobretot pels usuaris afectats, depenent de la qualitat de la xarxa decomunicació, de l'ocupació del canal...

✗ Complexitat

La distribució de les dades fa que el sistema sigui molt complexe per: bloquejos,replicació de les dades, actualitzacions de la informació, còpies de seguretat...

✗ Major infraestructura/cost

Manteniment dels equips, llicències de software (si són necessàries), realitzacióde còpies ... són costos que es multipliquen pel nombre de servidors utilitzats.

✗ Espai en disc

La duplicació de dades per a mantenir els elements identificats i la pròpiaduplicació per a garantir la disponibilitat generen una sobreocupació de l'espaien els suports d'emmagatzematge. Cal dir que el cost dels suportsd'emmagatzematge cada vegada són més insignificatius per la davallada de larelació preu/capacitat.

Data última modificació: 30/09/2016 Pàgina 12 de 13

Page 13: Introducció bases de dades distribuides

Introducció a les bases de dades - Tema 0 – Introducció Autor: Miquel Boada Artigas

Webgrafiahttps://www.dlsweb.rmit.edu.au/toolbox/knowmang/content/models/network_model.htmhttp://osm.cs.byu.edu/CS452/supplements/FileOrg.pdfhttp://robotica.uv.es/pub/Libro/PDFs/CAPI6.pdfhttp://www.comphist.org/computing_history/new_page_9.htmhttps://www.seas.upenn.edu/~zives/03f/cis550/codd.pdfhttps://es.wikipedia.org/wiki/Modelo_relacional#Ventajas

Data última modificació: 30/09/2016 Pàgina 13 de 13