Predavanja (3.dio) - FSR web : www.fsr.ba

Fakultet strojarstva i računarstva – FSR
Diplomski studij
DISTRIBUIRANE BAZE PODATAKA
- DIZAJN I FRAGMENTACIJA
-
Prof. dr.sc. Dražena Gašpar
17.01.2013.
OCJENJIVANJE
1. Projekt …………………………………max 60 bodova
(sastoji se od 2 dijela:
- Izrada baze u Oraclu i MS SQL Serveru, procedura i
trigera
- Dio koji se odnosi na distribuciju)
2. Aktivnost na nastavi (testovi) ….. max 20 bodova
3. Završni test …………………………max 20 bodova
(za 2 i 3 mora se prikupiti minimalno 20 bodova)
Napomena: bodovi za uspješno urađen projekt vrijede
do kraja akademske godine i studenti se oslobađaju
usmenog dijela ispita.
- ILI
- Integralni ispit PISMENI+USMENI
DIZAJN DISTRIBUIRANIH SUSTAVA- IZAZOVI
Odluka o smješaju podataka i programa na
lokacijama računalne mreže, kao i dizajn same
mreže.
 Kod DDBMS, distribucija aplikacija podrazumijeva:
– Distribuciju DDBMS software-a
– Distribuciju aplikacija koje rade s bazom


S aspekta DDBMS-a, zanimljiva je samo distribucija
podataka.
OKVIR ZA DIZAJN
Aspekti (dimenzije) analize distribuiranih sustava:
– Razina dijeljenja: nema dijeljenja, dijeljenje
podataka, dijeljenje podataka i programa
– Pristupno ponašanje: statičko, dinamičko
– Razina znanja kod pristupnog ponašanja:
nema informacija, djelomične informacije,
potpune informacije
OKVIR ZA DIZAJN
Pristupno ponašanje
dinamičko
statičko
djelomične
informacije
podaci
Razina znanja
podaci i
programi
Razina dijeljenja
potpune
informacije
STRATEGIJE DIZAJNA
Top-down pristup
– Dizajniranje sustava od nule
– Homogeni sustavi

Bottom-up pristup
– Baze podataka već postoje na brojnim
lokacijama
– Baze podataka treba povezati kako bi se
riješili uobičajeni zadaci

TOP-DOWN STRATEGIJA DIZAJNA
STRATEGIJE DIZAJNA
Dizajniranje distribucije je ključno pitanje u dizajnu DDBMS
Cilj:
Dizajn LCS-ova (Lokalnih konceptualnih shema)
distribucijom entiteta (relacija) po lokacijama.
Dva ključna aspekta:
 Fragmentacija
· Relacija se moţe podijeliti na više pod-relacije koje su distribuirane
 Alokacija i replikacija
· Svaki fragment je pohranjen na lokaciji s ”optimalnom”
distribucijom
· Kopija fragmenta moţe se odrţavati na nekoliko lokacija
STRATEGIJE DIZAJNA
Otvorena pitanja ditribuiranog dizajna:





Zašto uopće raditi fragmentaciju?
Kako fragmentirati?
Koliko toga fragmentirati?
Kako testirati točnost?
Kako alocirati?
BOTTOM-UP DIZAJN STRATEGIJA
FRAGMENTACIJA
PITANJE: Što je razumna jedinica distribucije?
Relacija ili fragment (dio) relacije?
Relacija kao jedinica za distribuciju:
– Ako se relacija ne replicira, dobiva se veliki
broj udaljenih (remote) pristupa podacima.
– Ako se relacija replicira, dobiva se nepotrebna
replikacija što uzrokuje probleme u izvršavanju
ažuriranja i trošenju diskovnog prostora
– Ovo rješenje može biti ok ako upiti trebaju sve
podatke iz relacije i podaci ostaju samo na
lokacijama koje koriste podatke.

FRAGMENTACIJA
Fragmenti relacije kao jedinice za distribuciju:
 Aplikacijski pogledi su obično podskupovi relacija
 Lokalnost pristupa aplikacija definirana je na podskupu
relacija
 Dozvoljava brojnim transakcijama konkurentno
izvršavanje pošto će pristupiti različitim dijelovima
relacije
 Paralelno izvršavanje pojedinačnog upita (unutatupitna konkurentnost)
 Semantička kontrola podataka (posebice održavanje
integriteta) je mnogo složenije.
⇒ Fragmenti relacija su (obično) pogodnije jedinice za distribuciju.
FRAGMENTACIJA
Fragmentacija ima za cilj poboljšati:
– Robusnost
– Performanse
– Uravnoteženost kapaciteta za pohranu i troškova
– Komunikacijske troškove
– Sigurnost


Sljedeće informacije se koriste pri odlučivanju o fragmentaciji:
– Kvantitativne: učestalost upita, lokacija, gdje se upit
izvršava, odabir upita ...
– Kvalitativne: tipovi pristupa podacima, čitanje/pisanje
(read/write) …
VRSTE FRAGMENTACIJE



Horizontalna: particioniranje (podjela) relacije po ntorkama
Vertikalna: particioniranje (podjela) relacije po
atributima (stupcima)
Miješana/hibridna: kombinacija horizontalne i
vertikalne fragmentacije
(a) Horizontalna fragmentacija
(b) Vertikalna fragmentacija
(c) Miješana fragmentacija
PRIMJER FRAGMENTACIJE
E-R Dijagram
Podaci
PRIMJER:
PROJ1: PROJEKTI S BUDŢETOM MANJIM OD 200.000,00 KM
PROJ2: PROJEKTI S BUDŢETOM VEĆIM OD 200.000,00 KM
PRIMJER:
PROJ1: INFORMACIJE O BUDŢETU PROJEKATA
PROJ2: INFORMACIJE O NAZIVU I LOKACIJI PROJEKATA
PRAVILA KOREKTNOSTI FRAGMENTACIJE
•
Potpunost
•
Rekonstrukcija
•
Rastavljivost
PRAVILA KOREKTNOSTI FRAGMENTACIJE
•
Potpunost
Dekompozicija relacije R u fragmente
R1, R2, … Rn je potpuna ako i samo ako
se svaki podatak iz R moţe pronaći u
nekome od Ri
i gdje je i=1, 2, …n
PRAVILA KOREKTNOSTI FRAGMENTACIJE
•
Rekonstrukcija
Ako je relacija R rastavljena na fragmente R1,
R2, … Rn , onda bi trebao postojati neki
relacijski operator  koji rekonstruira R iz
njenih fragmenata, tj.
R = R1  …  Rn
 Unija
za kombiniranje horizontalnih fragmenata
 Spajanje za kombiniranje vertikalnih fragmenata
PRAVILA KOREKTNOSTI FRAGMENTACIJE
•
Rastavljivost
Ako je relacija R rastavljena na fragmente R1, R2, …
Rn i podatkovni item di se pojavljuje u fragmentu Rj,
onda se di ne bi trebao pojaviti niti u jednom drugom
fragmentu Rk, k≠j (iznimka: primarni ključ atributa
u vertikalnoj fragmentaciji).
* Za horizontalnu fragmentaciju podatkovni item je ntorka
* Za vertikalnu fragmentaciju podatkovni item je
atribut.
HORIZONTALNA FRAGMENTACIJA
•
Intuicija (zdravorazumski pristup):
•
•
Svaka lokacija bi trebala imati sve informacije koje
koriste (trebaju) upiti na toj lokaciji
Informacije na lokaciji bi trebale biti fragmentirane
tako da se upiti na lokaciji izvode brţe.
Horizontalna fragmentacija se definira
kao operator selekcije - p (R)
• Primjer:
•
•
•
BUDGET < 200000(PROJ)
BUDGET ≥ 200000(PROJ)
HORIZONTALNA FRAGMENTACIJA

Izračunavanje horizontalne fragmentacije:
– Izračunati učestalost pojedinačnih upita na
lokaciji
q1, . . . , qQ
– Ponovno napisati upite na lokaciji u
konjuktivnoj normalnoj formi (disjunkcija
konjukcija);
- Konjukcije se nazivaju minterm.
– Izračunati selektivnost minterm-ova.
HORIZONTALNA FRAGMENTACIJA
– Pronaći
minimalni i potpuni skup minterm-ova
(predikata):
∗ Skup predikata je potpun ako i samo ako bilo koje
dvije n-torke u istom fragmentu imaju istu
vjerojatnost poziva od bilo koje aplikacije
∗ Skup predikata je minimalan ako i samo ako
postoji najmanje jedan upit koji pristupa fragmentu
– Postoje algoritam kako pronaći (izračunati)
fragmente (algoritmi CON MIN i PHORIZONTAL
(str 120-122) u knjizi)
HORIZONTALNA FRAGMENTACIJA
Primjer: Fragmentacija relacije PROJ
– Razmotriti sljedeći upit: Pronaći naziv i budžet projekata za
dani PNO.
– Upit se postavlja na sve tri lokacije
– Fragmentacija bazirana na lokaciji (LOC), uporaba skupa
predikata/minterm-ova
 {LOC =′ Montreal′,LOC =′ NewY ork′,LOC =′ Paris′}
HORIZONTALNA FRAGMENTACIJA


Ako se pristupa jedino po lokaciji, navedeni skup
predikata je potpun
– tj., svaka n-torka svakog fragmenta PROJi ima istu
vjerojatnost pristupa
Ako postoji drugi upit/aplikacija za pristup samo onim
n-torkama projekta gdje je budţet manji od 200.000 KM,
skup predikata nije potpun.
– P2 u PROJ2 ima veću vjerojatnost pristupa
HORIZONTALNA FRAGMENTACIJA
NASTAVAK PRIMJERA…
– Dodati BUDGET ≤ 200000 i BUDGET > 200000 skupu
predikata kako bi postao potpun.
⇒ {LOC =′ Montreal′,LOC =′ NewY ork′,LOC =′ Paris′,
BUDGET ≥ 200000,BUDGET < 200000}
je potpun skup
– Minterm-ovi za fragmentiranje relacije su:
(LOC =′ Montreal′) ∧ (BUDGET ≤ 200000)
(LOC =′ Montreal′) ∧ (BUDGET > 200000)
(LOC =′ NewY ork′) ∧ (BUDGET ≤ 200000)
(LOC =′ NewY ork′) ∧ (BUDGET > 200000)
(LOC =′ Paris′) ∧ (BUDGET ≤ 200000)
(LOC =′ Paris′) ∧ (BUDGET > 200000)
HORIZONTALNA FRAGMENTACIJA
NASTAVAK PRIMJERA
PROJ2 će se podijeliti na dva fragmenta
PROJ1 i PROJ2 ibi trebali biti razdvojeni na sličan način ako bi ntorke s budžetima manjim i većim od 200.000 trebali biti pohranjeni.
HORIZONTALNA FRAGMENTACIJA
U većini slučajeva moţe se korititi intuicija za
pravljenje horizontalnih podjela.
Neka su
{t1, t2, t3},{t4, t5}, and {t2, t3, t4, t5}
rezultati upita. Slijedi da bi n-torke trebalo
fragmentirati na sljedeći način:
Pitanja..