You are on page 1of 31

Kapitulli 5

Projektimi Fizik i Bazes se te Dhenave dhe Akordimi

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Ceshtjet e Kapitullit
1. Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale 2. Nje pamje e pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 2

Projektimi Fizik i Bazes se te Dhenave

Qellimi i projektimit fizik te bazes se te dhenave eshte te perktheje pershkrimin llogjik te te dhenave ne specifikime teknike per ruajtjen dhe gjetjen e tyre. Synimi eshte te krijoje nje projekt per ruajtjen e te dhenave qe do te siguroje performance te mjaftueshme dhe do te siguroje gjithashtu integritet, siguri dhe rikuperueshmeri te bazes se te dhenave.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 3

Projektimi Fizik i Bazes se te Dhenave

Synimi kryesor (primar) i projektimit fizik te bazes se te dhenave eshte eficienca e perpunimit te te dhenes. Sot, eshte shume e rendesishme te projektohet nje baze te dhenash fizike e tille qe te minimizoje kohen e kerkuar nga perdoruesit per te ndervepruar me sistemin e informacionit. Duhet te perqendrohemi ne ate se si ta bejme perpunimin e skedareve fizike dhe te bazes se te dhenave eficient, me me pak vemendje ne perdorimin eficient te hapesires.
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 4

Projektimi Fizik i Bazes se te Dhenave

Per nje skeme te dhene konceptuale, ekzistojne nje numer projektimesh fizike alternative sipas nje DBMS-je te dhene. Nuk mund te merren vendime te plota mbi projektimin fizik dhe te behen analizat e performances pa njohur me pare querite, transaksionet dhe aplikimet e pritshme per tu ekzekutuar.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 5

Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale

Faktoret qe ndikojne ne Projektimin Fizik te Bazes se te Dhenave: A. Analiza e querive dhe transaksioneve

Per cdo query, eshte i nevojshem informacioni i meposhtem.


1. Skedaret qe do te aksesohen nga query; 2. Atributet mbi te cilet eshte specifikuar cdo nje prej kushteve te selection per query; 3. Atributet mbi te cilat eshte specifikuar cdo kusht join ose kushte per te lidhur disa tabela ose objekte per query; 4. Atributet vlera e te cileve do te terhiqet nga query.

Shenim: atributet e listuara ne ceshtjet 2 dhe 3 me siper jane kandidate per percaktimin e strukturave te aksesimit.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 6

Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale

Faktoret qe ndikojne ne Projektimin Fizik te Bazes se te Dhenave (vazhd.): A. Analiza e querive dhe transaksioneve (vazhd.)

Per cdo transaksion ose veprim perditesimi, eshte i nevojshem informacioni i meposhtem:
1. Skedaret qe do te perditesohen; 2. Tipi i veprimit ne secilin skedar (insert, update ose delete); 3. Atributet mbi te cilet jane specifikuar kushtet e selektimit per nje veprim delete ose update; 4. Atributet, vlera e te cilave do te ndryshoje nga nje veprim update.

Shenim: atributet e listuar ne ceshtjen 3 me siper jane kandidate per percaktimin e strukturave te aksesimit . Atributet e listuar ne ceshtjen 4 jane kandidate per shmangjen ose menjanimin e nje strukture aksesimi.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 7

Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale

Faktoret qe ndikojne ne Projektimin Fizik te Bazes se te Dhenave B. Analizimi i frekuences se pritur te thirrjes se querive dhe transaksioneve

Kjo frekuence, se bashku me informacionin atribut te mbledhur ne cdo query dhe transaksion, perdoret per te kompiluar nje liste te frekuences se pritur te perdorimit te te gjitha querive dhe transaksioneve. Eshte e shprehur si nje frekuence e pritur e perdorimit te cdo atributi ne secilin skedar si nje atribut selection ose join, ne te gjitha querite dhe transaksionet. Per perpunimet e volumeve te medha zbatohet rregulli informal 80-20. Rregulli 80-20

20% e te dhenes eshte aksesuar 80% te kohes


Slide 16- 8

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale

Faktoret qe ndikojne ne Projektimin Fizik te Bazes se te Dhenave C. Analiza e kushtezimeve te kohes se querive dhe transaksioneve.

Disa queri dhe transaksione mund te kene kushtezime strikte per performancen.

p.sh.nje transaksion mund te kete kushtezimin:te mbaroje brenda 5 sekondave ne 95% te rasteve te thirrjes dhe nuk duhet kurre te zgjase me teper se 20 sekonda.

Kushtezime te tilla vendosin prioritete te metejshme ne atributet qe jane kandidate per rruget e aksesimit. Atributet e zgjedhura behen kandidate me prioritet me te larte per strukturat kryesore te aksesimit.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 9

Projektimi Fizik i Bazes se te Dhenave ne Bazat e te Dhenave Relacionale

Faktoret qe ndikojne ne Projektimin Fizik te Bazes se te Dhenave (vazhd.) D. Analiza e frekuencave te pritura te veprimeve te perditesimit

Per nje skedar qe do te perditsohet ne menyre frekuente duhet te specifikohet nje numer minimal rrugesh aksesimi. Rruget e aksesimit duhet te specifikohen ne te gjithe atributet kandidate per celes ose bashkesite e atributeve qe jane ose celes kryesor, ose kane kushtezimin qe te jene unike.

E. Analiza e kushtezimeve te unifikimit ne atributet.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 10

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Vendimet e Projektimit rreth indeksimit

Ne se duhet te indeksojme nje atribut?


Atributi duhet te jete nje celes ose Disa query e perdorin atributin ose ne nje kusht perzgjedhjeje (selection) ose ne nje join Pse te perdorim disa indekse: disa query mund te kryhen vetem duke skanuar indekset pa terhequr nje te dhene.

Cfare atributi ose atributesh te indeksojme?


Nje indeks mund te ndertohet mbi nje ose me teper atribute. Nese disa atribute te nje relacioni perfshihen se bashku ne query te ndryshme, atehere indeksi do te ndertohet mbi atributin e shumefishte (multiattribute).

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 11

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Ne se duhet te ndertojme nje clustered index?

Ne se regjistrimet e nje skedari jane fizikisht te renditur ne nje fushe jo celes(qe nuk ka nje vlere te vetme per cdo regjistrim), kjo fushe quhet clustering field. Clustering index nje tip indeksi per te shpejtuar gjetjen e regjistrimeve qe kane te njejten vlere per clustering field. Nese nje tabele kerkon indekse te ndryshme, vendimi se cili prej tyre do te jete nje indeks cluster varet nga fakti nese mbajtja e renditur e tabeles ne kete atribut eshte e nevojshme. Querite range perfitojne shume nga clustering. Nese nje query pergjigjet vetem duke bere nje kerkim ne indeks, atehere indeksi nuk duhet te jete cluster.

Ne se duhet te perdorim nje indeks hash mbi nje peme indeksimi? Ne se te perdorim hashing dinamik per skedarin?

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 12

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Denormalizimi si nje vendim projektimi per rritjen e shpejtesise se querive

Qellimi i normalizimit eshte te ndaje atributet e lidhura llogjikisht ne tabela, per te minimizuar teprite dhe ne kete menyre te shmangi anomalite e perditesimit qe shkaktojne nje perpunim shtese per te ruajtur qendrueshmerine e bazes se te dhenave. Qellimi i mesiperm sakrifikohet ne favor te ekzekutimit me te shpejte te querive dhe transaksioneve qe ndodhin ne menyre frekuente. Procesi i ruajtjes se projektit llogjik te bazes se te dhenave (qe mund te jete ne BCNF ose ne 4NF) ne nje forme me te dobet normale, p.sh. 2NF ose 1NF, quhet denormalizim.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 13

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Denormalizimi si nje vendim projektimi per rritjen e shpejtesise se querive Shpesh te gjithe atributet qe shfaqen brenda nje relacioni nuk perdoren se bashku. Shpesh te dhenat nga relacione te ndryshme duhet te jene bashke per tju pergjigjur nje query-e ose per te prodhuar nje raport. Edhe pse relacionet e normalizuara zgjidhin anomalite e mirembajtjes se te dhenave, ato, nese implementohen nje per nje si regjistrime fizike, mund te mos japin perpunim eficient te dhenash. Denormalizimi eshte procesi i transformimit te relacioneve te normalizuara ne specifikime regjistrimesh fizike te panormalizuara. Ne pergjithesi, denormalizimi mund te ndaje nje relacion ne regjistrime te ndryshme fizike, mund te kombinoje atribute nga relacione te ndryshme se bashku ne nje regjistrim fizik, ose mund te beje nje kombinim i te dyjave.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 14

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Denormalizimi si nje vendim projektimi per rritjen e shpejtesise se querive

Denormalizimi mund te perdoret gjithashtu per te krijuar me teper tabela nga ndarja e nje relacioni ne disa tabela. Ndarja horizontale shperndarja e rreshtave te nje tabele ne skedare te vecante te ndryshem Ndarja vertikale shperndarja e kolonave te nje tabele ne skedare te ndryshem te vecante Eshte i mundshem kombinimi i ndarjes horizontale dhe asaj vertikale.
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 15

Vendimet e Projektimit Fizik te Bazes se te Dhenave


Denormalizimi si nje vendim projektimi per rritjen e shpejtesise se querive Avantazhet e Ndarjes (partitioning):

Eficienca:te dhenat e perdorura bashke regjistrohen prane njera tjetres dhe vec nga te dhenat qe nuk perdoren bashke. Optimizimi lokal: cdo ndarje e te dhenave mund te ruhet per te optimizuar performancen per vete perdorimin e saj. Siguria: te dhenat qe nuk duhen per nje grup perdoruesish mund te izolohen nga te dhenat qe duhet te perdoren nga keto perdorues. Recovery : skedare me te vegjel duan me pak kohe per tu rigjeneruar, dhe skedare te tjere jane akoma te askesueshem ne se nje skedar eshte i demtuar, pra efektet e demtimit izolohen. Balancim i ngarkimit - loading: skedaret mund te vendosen ne zona te ndryshme te pajisjeve te ruajtjes, minimizohet konkurenca per aksesim ne te njejten zone ruajtjeje, bile lejon edhe aksesim paralel ne zona te ndryshme.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 16

Vendimet e Projektimit Fizik te Bazes se te Dhenave

Denormalizimi si nje vendim projektimi per rritjen e shpejtesise se querive Disavantazhet e Ndarjes:

Shpejtesi jo e qendrueshme aksesimi: ndarje te ndryshme cojne ne shpejtesi te ndryshme aksesimi, qe mund te ngaterroje perdoruesit. Perdoruesit mund te kene te bejne me kohe te ndryshme pergjigjeje. Kompleksitet : programuesit duhet te shkruajne programe me komplekse si pasoje e cenimit te 3NF. Anomali: mund te ndodhin anomali te insertion, deletion, update duhen programe te vecante per ti eliminuar. Hapesire dhe kohe shtese perditesimi : te dhenat mund te jene te dublikuara pergjate ndarjeve.
Slide 16- 17

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Database tuning pershkruan nje grup aktivitetesh qe perdoren per te optimizuar performancen e nje baze te dhenash. Ai zakonisht perkon pjeserisht me akordim te Query-ve, por i referohet gjithashtu konfigurimit te skedareve te bazes se te dhenave, database management system (DBMS) si dhe sistemit operativ dhe hardware mbi te cilat DBMS ekzekutohet. Qellimi eshte te maksimizohet perdorimi i burimeve te sistemit per te kryer punen sa me me eficience dhe sa me shpejt te jete e mundur.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 18

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi (Tuning):

Procesi i rishikimit/rregullimit te vazhdueshem te projektit fizik te bazes se te dhenave. Per te bere qe aplikimet te ekzekutohet me shpejt Per te zvogeluar kohen e pergjigjes se queries/transaksioneve Per te permiresuar gjithe procesin e transaksioneve

Qellimi:

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 19

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Inputet ne procesin e akordimit perfshijne statistika qe lidhen me faktoret qe ndikojne ne projektimin fizik te bazes se te dhenave. Ne vecanti, DBMS mbledh statistikat e meposhtme:

Madhesia e tabelave individuale Numri i vlerave te ndryshme ne nje kolone Numri i hereve te ndryshme qe nje query ose transaksion eshte pranuar dhe ekzekutuar ne nje interval kohe Koha e kerkuar per fazat e ndryshme te perpunimit te query-se dhe transaksionit

Keto dhe statistika te tjera krijojne nje profil te permbajtjes dhe perdorimit te bazes se te dhenave.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 20

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi i DBMS-se

I referohet akordimit te DBMS-se dhe konfigurimit te memories dhe te burimeve te perpunimit te kompjuterit qe po ekzekuton DBMS-ne. Akordimi i DBMS mund te perfshije vendosjen e intervalit te rikuperueshmerise - recovery (kohe e nevojshme per te kthyer gjendjen e te dhenes ne nje pike te vecante ne kohe), caktimin e paralelizmit (ndarja e nje pune te nje query-je te vetme ne detyra qe i caktohen burimeve te ndryshme te perunimit), dhe protokollet e rrjetit te perdorura per te komunikuar me perdoruesit e bazes se te dhenave.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 21

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi i Indekseve

Aresyet per akordim te indekseve

Disa query mund te kerkojne shume kohe per tu ekzekutuar per shkak te mungeses se nje indeksi; Disa indekse mund te mos perdoren fare; Disa indekse mund te shkaktojne teprica per aresye se indeksi eshte ne nje atribut qe peson ndryshime te shpeshta

Opsionet per tuning te indekseve


Fshirja ose/ krijimi i indekseve te reja Ndryshimi i nje indeksi non-clustered ne nje indeks clustered (dhe anasjelltas) Rindertimi i indeksit

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 22

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi i Projektit te Bazes se te Dhenave

Projekti i plote i bazes se te dhenave duhet te drejtohet nga kerkesat e perpunimit si edhe nga kerkesat e te dhenave. Nese kerkesat e perpunimit jane ne ndryshim dinamik, projekti duhet ti pergjigjet duke bere ndryshime ne skemen konceptuale nese eshte e nevojshme dhe te reflektoje keto ndryshime ne skemen llogjike dhe projektin fizik.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 23

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi i Projektit te Bazes se te Dhenave

Ndryshime te mundshme ne projektimin e bazes se te dhenave

Tabelat ekzistuese mund te bashkohen (denormalizohen) sepse disa atribute prej dy ose me teper tabelash duhet te jene shpesh se bashku. Per nje bashkesi te dhene tabelash, mund te kete disa zgjedhje alternative projektimi, te gjitha te formes 3NF ose BCNF. Njera mund te zevendesohet nga tjetra. Atributi(-et) e nje tabele mund te perseriten ne nje tjeter edhe pse kjo krijon tepri dhe anomali.
Slide 16- 24

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Akordimi i Queries

Treguesit qe sugjerojne akordimin e queries


Nje query ka te beje me shume aksesime te diskut Plani i query-se tregon qe indekset perkatese nuk jane te perdorur.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 25

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Disa raste te situatave qe cojne ne akordim te querive:

Shume optimizues queries nuk perdorin indekset ne shprehjet aritmetike (Paga/365>10.50), krahasimet numerike te atributeve te madhesive dhe precizioneve te ndryshme, krahasimet NULL dhe krahasimet e nenvargjeve. Indekset shpesh nuk perdoren per query nested qe perdorin IN;

SELECT ID FROM PUNONJESI WHERE Dno IN (SELECT Dnumer FROM DEPARTAMENTI WHERE Mgr_id=333445555)

Kjo query mund te mos perdore indeksin ne Dno te PUNONJESI, nderkohe qe duke perdorur Dno=Dnumer me nje bllok te vetem query mund te beje qe indeksi te perdoret.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 26

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Disa raste te situatave qe cojne ne akordim te querive: Ne se jane te mundshme shume opsione per kushte join, zgjidhet nje qe perdor nje indeks clustering dhe shmangen ato qe permbajne krahasime stringjesh.

Duke supozuar qe Emer eshte nje celes kandidat ne PUNONJESI dhe STUDENT, eshte me mire te perdoret PUNONJESI.id=STUDENT.id si nje kusht Join se sa PUNONJESI.emer=Student.emer, nese id ka nje indeks cluster ne nje ose te dy tabelat.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 27

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Disa raste te situatave qe cojne ne akordim te querive:

Renditja e tabelave ne fjalen FROM mund te ndikoje ne perpunimin e join. Disa optimizues query funksionojne me keq ne nested queries krahasuar me homologun e saj ekuivalent unnested. Shume aplikime bazohen ne view qe i percaktojne te dhenat sipas interesit te ketyre aplikimeve. Ndonjehere keto view behen nje overkill, sepse nje query mund te drejtohet direkt kundrejt nje tabele baze sesa nepermjet nje view-je qe eshte percaktuar nga nje Join.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 28

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Ceshtje te tjera ne lidhje me Query Tuning

Nje query me shume kushte selektimi mund te mos nxisi optimizuesin e query-se qe te perdori nje indeks. Nje query i tille mund te ndahet dhe shprehet si nje bashkim queries, secila me nje kusht ne nje atribut qe con ne perdorimin e nje indeksi.

SELECT Emer, Mbiemer, Paga, Mosha FROM PUNONJESI WHERE Mosha>45 OR Paga<50000;

Mund te ekzekutohet duke perdorur nje skanim sekuencial qe ka nje performance te ulet. Duke e ndare ate si me poshte:
SELECT Emer, Mbiemer, Paga, Mosha FROM PUNONJESI WHERE Mosha>45 UNION SELECT Emer, Mbiemer, Paga, Mosha FROM PUNONJESI WHERE Paga<50000; mund te perdoren indekset ne Mosha po ashtu si edhe ne Paga.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 29

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Ceshtje te tjera ne lidhje me Query Tuning

Perdor transformimet e meposhtme

Kushti NOT mund te transformohet ne nje shprehje pozitive. Blloqet embedded SELECT qe perdorin IN, =ALL, =ANY dhe =SOME mund te zevendesohen nga join-s. Ne se nje equality join eshte vendosur ndermjet dy tabelave, zona e supozuar ne atributin joining te vendosur ne nje tabele mund te perseritet per tabelen tjeter

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 30

Nje Pamje e Pergjithshme e Akordimit te Bazes se te Dhenave ne Sistemet Relacionale

Ceshtje te tjera ne lidhje me Query Tuning Kushtet WHERE mund te rishkruhen per te perdorur indekset ne shume kolona.
SELECT Region#, Prod_type, Month, Sales FROM SALES_STATISTICS WHERE Region#=3 AND ((Prod_type BETWEEN 1 AND 3) OR (Prod_type BETWEEN 8 AND 10));

mund te perdore nje indeks vetem ne Region# dhe te kerkoje per vleren korresponduese ne Prod_type. Nese perdorim: SELECT Region#, Prod_type, Month, Sales
FROM SALES_STATISTICS WHERE (Region#=3 AND (Prod_type BETWEEN 1 AND3)) OR (Region#=3 AND (Prod_type BETWEEN 8 AND 10))

Mund te perdorim nje indeks te perbere ne (Region#,Prod_type) qe punon me me eficience.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

Slide 16- 31

You might also like