ìBASI DI DATI DISTRIBUITE
Definizione
ì Unsistemadistribuitoècostituitodaì uninsiemedinodi(odisiti)dielaborazione
ì unaretedaticheconnettefraloroinodi
ì Obiettivo:farcooperare inodiperlasoluzionediunproblemacomplesso
ì suddivisionedelproblemainsottoproblemi piùsemplici
ì coordinamento frainodiperottenerelasoluzioneinmodoefficiente
2
Cenni storici
ì Primiprototipidibasididatidistribuite(DDB)neglianni‘80e’90
ì Problematichedaaffrontareì distribuzionedeidati
ì replicadeidati
ì interrogazionidistribuite
ì gestionedelletransazioni
ì gestionedeimetadatidellabasedidatidistribuita
3
Concetti principali
ì Unabasedidatisidicedistribuitaseì Inodi (siti)dellabasedidatisonoconnessi fraloro
attraversounaretedicomunicazioneì inodipossonoesseredistribuitigeograficamenteì latipologiaetopologiadellaretepossonoavereun
impattosignificativosulleprestazioni
ì Idatimemorizzatineidiversinodi hannounaqualcherelazionelogicafradiloro
ì Ivarinodi non devononecessariamenteessereomogenei perquantoriguardaidati,l’hardwareoilsoftware
4
Trasparenza
ì Lacomplessitàdell’architetturadiunaDDBdeveesseretrasparente siaagliutentifinali,siaaglisviluppatoriì analogoallaindipendenzalogicaefisicadeidati
ì Trasparenza rispettoaì organizzazionedeidati
ì locationandnaming transparency
ì replicadeidati
ì frammentazioneorizzontaleeverticale
ì progettazioneeesecuzionedelletransazioni
5
Esempio di distribuzione e replica dei dati
6
Disponibilità e Affidabilità
ì Disponibilità (Availability)ì Probabilitàcheilsistemasiadisponibileinmodo
continuativoinunintervalloditempo
ì Affidabilità (Reliability)ì Probabilitàcheilsistemasiainesercizioinuncerto
istanteditempo
ì Faulttoleranceì tolleranzadelsistemaalverificarsidi
malfunzionamenti
7
Scalabilità
e Tolleranza al Partizionamento
ì Scalabilitàflessibilitàdelsistemanell’espanderelapropriacapacitàsenzainterrompereleoperazionicorrentiì Scalabilitàorizzontale
ì incrementodeinodidiunsistemadistribuito
ì Scalabilitàverticaleì incrementodellacapacitòdelsingolonodo
ì TolleranzaalPartizionamentocapacitàdelsistemadierogareilservizioinpresenzadinodidelsistemanonraggiungibiliì ilsistemaèpartizionato ingruppidinodichenon
comunicanofradiloro
8
Autonomia
ì Capacitàdeisingolinodidierogareunservizioautonomamenteì Autonomiadaprogetto
infasedimodellazionedeidatieperlagestionedelletransazioni
ì Autonomiadicomunicazioneilgradodicondivisionediinformazioneconaltrinodi
ì Autonomiainesecuzionegradodiindipendenzainfasediesecuzione
9
Vantaggi delle Basi di Dati Distribuite
ì Maggiorfacilitàeflessibilitànellosviluppo diapplicazioni
ì Maggioredisponibilitàdelservizioì isolamentodeinodiincasodimalfunzionamentoì replicadeidatiindiversinodi
ì Maggioriprestazioniì idatisonoframmentati inmodochesianovicini al
luogodovevengonorichiesti
ì Espansionefacilitatagrazieallascalabilità
10
ìFRAMMENTAZIONE E REPLICA
11
Frammentazione e Sharding
ì Infasediprogettooccorreindividuareleunitàlogichedellabasedidatichepossonoesseredistribuiteì Lerelazionistesse
ì Partizioniorizzontali(shard)dellerelazioniì corrispondonoaunaselezione inalgebrarelazionale
ì Partizioniverticalidellerelazioniì corrispondonoaunaproiezione inalgebrarelazionale
ì Frammentazionemista(ibrida)ì combinazionedipartizionamentoorizzontaleeverticale
12
Replica
ì Mantenerepiùcopiediunostessodatoinsitidistinti.ì Miglioraladisponibilità
ì Miglioraleprestazioniinfasediinterrogazione
ì Possibilirallentamentiinfasediaggiornamento
ì Individuareunabuonapoliticadidistribuzionedeidati perframmentazioneereplicarichiedelasoluzionediunproblemadiottimizzazionecomplesso
15
ìMODELLI DI DISTRIBUZIONE DEI DATI
Giorgio Giacinto 2015
Sharding
Giorgio Giacinto 2015
ì L’archiviononècentralizzatomaidatisonoframmentati inarchividistintiì utilequandoapplicazionieutentiaccedono
prevalentementesoloaunodeiframmenti
Replicazione master-slave
basi di dati con elevata frequenza di letture
Giorgio Giacinto 2015
ilmaster èilcollodibottigliael’anellodebolediquestaconfigurazione
Replicazione peer-to-peer (P2P)
Giorgio Giacinto 2015
Tuttiiserverhannolostessoruolo.Questasoluzionegarantisceridondanza,parallelismoescalabilità.Problema:garantirelacoerenza.
Soluzioni miste: master-slave e sharding
Giorgio Giacinto 2015
Map
Giorgio Giacinto 2015
daunaggregatoauninsiemedicoppiechiave-valore
Vantaggi della fase di map
ì Consentedisuddividereunproblemainsottoproblemi parallelizzabili
ì Isottoproblemi possonoessereeseguitidadiversinodidiuncluster
ì Lafasemap agiscealivellodisingolorecord
ì Lafasereduce combinaivalorididiversecoppiechiave-valorechecondividonolastessachiave
Giorgio Giacinto 2015
ìARCHITETTURE FISICHE
27
Shared-Nothing
ì Sistemimultiprocessoreadaccoppiamentostrettoì Condividonomemoriaprincipaleesecondaria
ì Sistemimultiprocessoreadaccoppiamentolascoì Condividonolamemoriasecondariamahanno
memoriaprimariaseparata
ì UnDBMSchesfruttaquestearchitettureèdettoparallel DBMSel’architetturashared nothingì nonèpresentedistribuzionedeidati,masolo
distribuzionedelcaricocomputazionale
28