Está en la página 1de 30

Base

de Datos Distribuidas
M.S.I.EloisaRuizGonzalez
SistemasComputacionalesAdministrativos 2012

Conceptos generales
Esunconjuntodemltiplesbasesdedatoslgicamente relacionadaslascualesseencuentrandistribuidasen diferentesespacioslgicos(pej.unservidorcorriendo2 mquinasvirtuales)einterconectadosporunaredde comunicaciones.(Wikipedia)

Objetivos de un SD
Transparenciadelocalizacin TransparenciadeFragmentacin Transparenciadereplicacin

Ventajas
Reflejaunaestructuraorganizacional
Losfragmentosdelabasededatosseubicanenlosdepartamentosalosque tienenrelacin.

Autonomalocal
Undepartamentopuedecontrolarlosdatosquelepertenecen.

Disponibilidad
Unfalloenunapartedelsistemasoloafectaraunfragmento,enlugardea todalabasededatos.

Rendimiento
Losdatosgeneralmenteseubicancercadelsitioconmayordemanda, tambinlossistemastrabajanenparalelo,locualpermitebalancearlacarga enlosservidores.

Economa
Esmsbaratocrearunareddemuchascomputadoraspequeas,quetener unasolacomputadoramuypoderosa.

Modularidad
Sepuedenmodificar,agregaroquitarsistemasdelabasededatos distribuidasinafectaralosdemssistemas(mdulos).

Ventajas
Elmayorbeneficiodelossistemasdistribuidoses quepermitenquelaestructuradelaBDreflejela estructuradelaempresa.

Desventajas
Complejidad Sedebeasegurarquelabasededatosseatransparente,sedebe lidiarconvariossistemasdiferentesquepuedenpresentar dificultadesnicas.Eldiseodelabasededatossetieneque trabajartomandoencuentasunaturalezadistribuida,porlocualno podemospensarenhacerjoins queafectenvariossistemas. Economa Lacomplejidadylainfraestructuranecesariaimplicaquese necesitarunamayormanodeobra. Seguridad Sedebetrabajarenlaseguridaddelainfraestructuraascomocada unodelossistemas. Integridad Sevuelvedifcilmantenerlaintegridad,aplicarlasreglasde integridadatravsdelaredpuedesermuycaroentrminosde transmisindedatos.

Desventajas
Faltadeexperiencia
Lasbasesdedatosdistribuidassonuncamporelativamente nuevoypococomnporlocualnoexistemuchopersonalcon experienciaoconocimientosadecuados.

Carenciadeestndares
Annoexistenherramientasometodologasqueayudenalos usuariosaconvertirunDBMScentralizadoenunDBMS distribuido.

Diseodelabasededatossevuelvemscomplejo
Ademsdelasdificultadesquegeneralmenteseencuentranal disearunabasededatos,eldiseodeunabasededatos distribuidadebeconsiderarlafragmentacin,replicaciny ubicacindelosfragmentosensitiosespecficos.

PorqusonnecesariaslasBDD?
Lasempresasyaestngeneralmentedistribuidasalmenosde maneralgica,endivisiones,departamentos,gruposdetrabajo, etc.Yesmuyprobablequetambinloestndemanerafsica(en plantas,fbricas,laboratorios,etc.)

Principio Fundamental BDD


Anteelusuario,unsistemadistribuidodebelucirexactamente igualqueunsistemaquenoesdistribuido Enotraspalabras,losusuariosdeunsistemadistribuidodeben sercapacesdecomportarseexactamentecomosinofuera distribuido. Todoslosproblemasdelossistemasdistribuidosson,odeberan ser,problemasinternosoenelniveldeimplementacin,yno externosoenelniveldeusuario.

Objetivos de la BDD
1. Autonomalocal.
Lossitiosenunsistemadistribuidodebenserautnomos.

Laautonomalocalsignificaquetodaslasoperacionesenun sitiodadoestncontroladasporesesitio;ningnsitioXdebe dependerdealgnotrositioYparasuoperacinsatisfactoria. Laseguridad,integridadyrepresentacindealmacenamiento delosdatoslocalespermanecenbajoelcontrolyjurisdiccin delsitiolocal.

Objetivos de la BDD
2. Nodependenciadeunsitiocentral.
Laautonomalocalimplicaquetodoslossitiosdebensertratados comoiguales. Porlotanto,nodebehaberparticularmenteningunadependencia deunsitiomaestrocentralparaalgnserviciocentral,talque todoelsistemadependadeesesitiocentral. Razonesporlascualesnodeberahaberunsitiocentral: Elsitiocentralpuedeseruncuellodebotella Elsistemaseravulnerable;esdecir,sielsitiocentralfalla,tambin fallartodoelsistema

Objetivos de la BDD
3. Operacincontinua.
Unaventajadelossistemasdistribuidosesquedeben proporcionarmayorconfiabilidadymayordisponibilidad.

Confiabilidad.Laprobabilidaddequeelsistemaestlistoy funcionandoencualquiermomentodado.LosSDnosonuna propuestadetodoonada;puedencontinuaroperandocuando hayalgunafallaenalgncomponenteindependiente. Disponibilidad.Laprobabilidaddequeelsistemaestlistoy funcionandocontinuamentealolargodeunperodo especificado.

Objetivos de la BDD
4. Independenciadeubicacin.
Conocidatambincomotransparenciadeubicacin.

Losusuariosnotienenquesaberdndeestnalmacenados fsicamentelosdatos,sinoquedebensercapacesde comportarsecomositodoslosdatosestuvieranalmacenadosen supropiositiolocal. Estosimplificalosprogramasdelosusuarios.Enparticular, permitequelosdatosemigrendeunsitioaotrosininvalidar ningunodeestosprogramasoactividades.

Objetivos de la BDD
5. Independenciadefragmentacin.
Unsistemasoportalafragmentacindedatoscuandopuedeser divididaenopartesofragmentos,paraefectosde almacenamientofsico.

Lafragmentacinesnecesariaporrazonesderendimiento:los datospuedenestaralmacenadosenlaubicacindondeson usadosmsfrecuentementeparaquelamayoradelas operacionesseanlocalesysereduzcaeltrficoenlared. Losusuariosdebencomportarsecomosilosdatosenrealidad estuvieransinfragmentacinalguna.

Objetivos de la BDD
6. Independenciadereplicacin.
Elsistemasoportareplicacindedatoscuandounfragmentopuede serrepresentadopormuchascopiasdistintas,orplicas,guardadas enmuchossitiosdistintos.

Lasrplicassonnecesariaspordosrazonesprincipales: 1. Significanunmejorrendimiento(lasaplicacionespuedenoperar sobrelascopiaslocalesenlugardetenerquecomunicarsecon sitiosremotos) 2. Puedensignificarunamejordisponibilidad(unobjetoreplicado permanecedisponibleparasuprocesamiento,mientrasest disponiblealmenosunacopia). Porsupuesto,laprincipaldesventajadelasrplicasesqueal actualizarlasesnecesarioactualizartodas:elproblemadela propagacindelaactualizacin.

Objetivos de la BDD
7. Procesamientodeconsultasdistribuidas.
Laoptimizacinesimportanteenunsistemadistribuidoqueen unocentralizado,inclusomuchoms.

Elpuntobsicoesqueenunaconsultaqueinvolucraavarios sitios,habrmuchasformasposiblesdemoverlosdatosenel sistemaparasatisfacerlasolicitud,yescrucialmenteimportante queseencuentreunaestrategiaeficiente.


SELECTCLI.NOMBRE,CLI.DIR,ORD.ORDEN,ORD.FECHA FROMCLIENTES@LPCLI,ORDENES@MEXORD WHERECLI.ID=ORD.ID

Objetivos de la BDD
8. Administracindetransaccionesdistribuidas.
Existendosaspectosprincipalesenlaadministracinde transacciones:controlderecuperacinycontroldela concurrencia.

Ambosaspectosrequierenuntratamientoamplioenel ambientedistribuido. Yaqueunasolatransaccinpuedeinvolucrarlaejecucinde cdigoenmuchossitios.

Objetivos de la BDD
8. Administracindetransaccionesdistribuidas. Puedeinvolucraractualizacionesenmuchossitiosysedebe decuidarquelatransaccinnocaigaenunbloqueomortal (basadoenelbloqueo). Paraelcontroldelarecuperacin,esnecesarioasegurarse queunatransaccindadaseaatmicaenelambiente distribuido,elsistemadebeporlotantoasegurarsedequela transaccinseaconfirmadaodeshecha(sepuedeutilizarel protocolodeconfirmacindedosfases).

Objetivos de la BDD
9. Independenciadehardware.
Soporteparaungrannmerodemquinasdiferentes.Poder integrartodoslosdatosdetodosestossistemasypresentaral usuariounaimagendelsistemanico.

Objetivos de la BDD
10. Independenciadesistemaoperativo.
Obviamenteesnecesarionoslotenerlaposibilidaddeejecutar elmismoDBMSendiferentesplataformasdehardware,sino tambinejecutarloendiferentesplataformasdesistema operativo

Objetivos de la BDD
11. Independenciadered.
Sielsistemavaatenerlaposibilidaddesoportarmuchossitios distintosesobviamentenecesariotenerlaposibilidadde soportartambinunavariedadderedesdecomunicacin distintas.

Objetivos de la BDD
12. IndependenciadeDBMS.
LoquesenecesitaesquetodoslosejemplaresdeDBMSensitios diferentessoportenlamismainterfaz.

Aunquenotienenquesernecesariamentecopiasdelmismo softwareDBMS. Enotraspalabras,seraposiblequeelsistemadistribuidofuera heterogneo,almenosenciertogrado. SeramuybuenosidiferentesDBMSpudieranparticiparde algunaformaenunsistemadistribuido.

Propiedad ACID
Esunconjuntodecaractersticasopropiedadesquegarantizan quelastransaccionesenunabasededatossonfiables. Atomicidad
Eslapropiedadqueaseguraquelaoperacinseharealizadoo no,yporlotantoanteunfallodelsistemanopuedequedara medias.

Consistencia
Integridad.Eslapropiedadqueaseguraquesloseempieza aquelloquesepuedeacabar.Porlotantoseejecutanaquellas operacionesquenovanaromperlasreglasydirectricesde integridaddelabasededatos.Lapropiedaddeconsistencia sostienequecualquiertransaccinllevaralabasededatos desdeunestadovlidoaotrotambinvlido.

Propiedad ACID
Aislamiento
Eslapropiedadqueaseguraqueunaoperacinnopuedeafectar aotras.Estoaseguraquelarealizacindedostransacciones sobrelamismainformacinseanindependientesynogeneren ningntipodeerror.

Durabilidad
Eslapropiedadqueaseguraqueunavezrealizadalaoperacin, stapersistirynosepodrdeshaceraunquefalleelsistema.

Base distribuida particionada


Esunabasededatosquesedivideentrespartes,dondecada unadealmacenaenlugaresdiferentes.
SitioA Basededatosglobal SitioB

A B C

C
SitioC

Base multiplicada y distribuida


Lasbasesdedatosseduplicanconlafinalidaddereducir costosdecomunicacinyaumentareldesempeodel sistema,eliminandolanecesidaddelatransmisindedatos endiferentesubicaciones.
SitioA
A+B+C

Basededatosglobal

SitioB
A+B+C

A B C

A+B+C

SitioC

Distribucin combinando replicas y particiones


Esempleadaconmayorfrecuencia. Seguardanlosdatosdondesonusadosconmasfrecuencia. Seutilizalafragmentacin,protegiendolatransparenciadela ubicacinytransparenciadelareplica.
SitioA
A+B+C

Basededatosglobal

SitioB
A+B

A B C

SitioC

Actividad
Creacindeunabasededatosfederadadistribuida homogneaenMySQL
FEDERATED.
Esunmotorqueaccedeadatosentablasdebasesdedatosremotas enlugardetablaslocales enMySQL.

1. 2. 3.

Contarcondosservidoresenejecucin,enlamismamquinao endistintas. CreaelusuariodelaBDremota. Crearunatablaenelservidorremotoquequieraaccedercon latablaFEDERATED.


CREATETABLEtest_table ( idint(20)NOTNULLauto_increment, namevarchar(32)NOTNULLdefault'', otherint(20)NOTNULLdefault'0', PRIMARYKEY(id), KEYname(name), KEYother_key (other) ) ENGINE=MyISAM DEFAULTCHARSET=latin1;

3.

CrearunatablaFEDERATEDenelservidorlocalparaaccedera latablaremota.
CREATETABLEfederated_table ( idint(20)NOTNULLauto_increment, namevarchar(32)NOTNULLdefault'', otherint(20)NOTNULLdefault'0', PRIMARYKEY(id), KEYname(name), KEYother_key (other) ) ENGINE=FEDERATED DEFAULTCHARSET=latin1 CONNECTION='mysql://root@remote_host:9306/federated/test_table';

4. 5. 6. 7.

Insertar4registrosenlatablatest_table Consultarlos:SELECT*FROMtest_table delamaquina1 Consultarlos:SELECT*FROMfederated_table delamaquina2 Verificarqueestnambosequiposlosregistros.