Presentation laddar. Vänta.

Presentation laddar. Vänta.

DAV B04 - Databasteknik Indexering (kap 14). Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört.

Liknande presentationer


En presentation över ämnet: "DAV B04 - Databasteknik Indexering (kap 14). Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört."— Presentationens avskrift:

1 DAV B04 - Databasteknik Indexering (kap 14)

2 Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört med operationer i primärminnet Antalet diskaccesser (I/O) bör därför minimeras

3 Skrivning och läsning från sekundärminne Skrivning och läsning sker i form av sidor (= page/block) med standardstorlek, t ex 1024 bytes Databasposterna är ofta mindre än sidorna, t ex 100 bytes, vilket gör att man läser/skriver flera poster (i detta fall 10) på samma gång Önskvärt är att relaterade poster lagras nära varandra för att minska antalet accesser

4 Hämta en post från databasen 1)DBHS bestämmer vilken lagrad post som behöver hämtas och ber filhanteraren att hämta posten 2)Filhanteraren bestämmer vilken sida (block) som posten finns på och ber diskhanteraren att hämta den sidan 3)Diskhanteraren bestämmer fysisk adress och ber om data från denna adress 4)Data läses av diskhanteraren 5)Den lagrade sidan returneras till filhanteraren 6)Den lagrade posten returneras till DBHS

5 Indexering Ett index är en hjälpfil som gör det mer effektivt att söka efter en post i en datafil Indexet specificeras oftast på ett fält i datafilen Indexet kan t ex vara en fil av typen Indexet är alltid sorterat

6 Exempel indexering Athens London Paris S1 Smith20 London S2 Jones10 Paris S3 Blake30 Paris S4 Clark20 London S5 Adams30 Athens Filen City (index) Filen Suppliers (data) Filen City kallas för ett index till filen Suppliers, och filen Supplier sägs vara indexerad av filen City. Fältet City i filen Suppliers kallas det indexerade fältet

7 Indexering (forts) Indexfilen är oftast betydligt mindre än datafilen (består av färre diskblock) En binärsökning av indexfilen ger en pekare till den sökta posten Fördel: snabbare hämtning av data Nackdelar: långsammare uppdateringar, mer diskutrymme krävs

8 Typer av index Primary indexes (primärindex) Clustering indexes (klustrade index) Secondary indexes (sekundära index) Multilevel indexes (flernivå-index) Dynamic multilevel indexes, B-trees, B+-trees Ett index kan vara: –dense (= index till varje post) –nondense (= ej index till varje post).

9 Primary indexes Index knutet till primärnyckel Indexet består av ett primärnyckelvärde och en pekare till ett block Indexet får lika många rader som antalet diskblock datafilen består av Indexet är nondense

10 Clustering indexes Index knutet till ett icke-nyckelfält som har dubbletter En pekare från indexfilen för varje distinkt värde på clustering-fältet Det är vanligt att man reserverar ett helt block (eller flera) för varje värde på clustering-fältet Också nondense

11 Secondary indexes Indexfil med två värden, indexfält och pekare till post/block En datafil kan ha många sekundärindex, ett för varje attribut Kan vara dense eller nondense Tar mer plats och ger längre söktider än ett primärindex, men vinsten är större

12 Multilevel indexes Index med flera nivåer Vi behöver en andra nivå bara om den första nivån kräver mer en ett block för disklagring Vi behöver en tredje nivå bara om den andra nivån kräver mer en ett block för disklagring

13 B + -träd B-träd är en form av sökträd som möjliggör en effektiv insättning och borttagning av poster. Varje nod i trädet motsvarar ett diskblock Träden är alltid balanserade, dvs. alla löv ligger på samma nivå –Gör att accesstiderna blir förutsägbara I ett B-träd kan datapekare finnas i alla inre noder och i löven medan B + -träd endast har datapekare i löven Dessutom finns pekare mellan löven i B + -träd vilket möjliggör sekventiell sökning

14 Ett B-träd av ordningen 3

15 Tumregler för indexering Indexera alltid primärnyckeln Inga sekundära index i små relationer Indexera attribut som ofta används som söknyckel Indexera främmandenycklar som används ofta Undvik att indexera attribut och relationer som uppdateras ofta Undvik att indexera attribut som består av långa teckensträngar


Ladda ner ppt "DAV B04 - Databasteknik Indexering (kap 14). Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört."

Liknande presentationer


Google-annonser