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..
© Copyright 2024 Paperzz