DAV B04 - Databasteknik Indexering (kap 14).

Slides:



Advertisements
Liknande presentationer
Atomer, molekyler och kemiska reaktioner
Advertisements

Warpen BK Här följer en instruktion hur man plockar fram egen statistik från datafilen. Det finns två sätt att få fram statistik. Man byter antal dagar.
Sammandrag i bildspelsform Du kan ta dig igenom hela bildspelet med piltangenterna eller med musen. Du kan även välja avsnitt genom att klicka på de olika.
Relationsdatabasdesign
Databasadministration
Manual för älgdatabasen i
Access med Sebastian och Robert
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Informationshantering
Enkel dator teknik Tips och tricks.
Algoritmer och data strukturer -Länkade listor
Sökning och sortering Linda Mannila
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
System för lagring och backup ALLMÄN INFORMATION OM NYA LDC-SYSTEM –
Datamodellering med E/R-diagram
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Filhantering Grundprincipen för filhantering Öppna filen
Binära Sökträd, kapitel 19
Adressöversättning zRepetition av virtuellt minne zTLB - cacheminne för sidtabellinformation zVirtuellt eller fysiskt adresserat cacheminne zTricket -
Skrivning i cacheminnen zTräff zMiss zSkrivbuffert.
Adressöversättning Repetition av virtuellt minne
Inkapsling.
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Föreläsning 5 Python: argument från kommando-tolken
Distribuerade filsystem
Databaser och databas-system
Praktisk databasdesign (kap 12)
Datamodellering med E/R-diagram
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
XSLT – en introduktion Digitalisering av kulturarvet.
DAV B04 - Databasteknik Återhämtning (kap 19).
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Fotosyntesen Hur fungerar den?.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( )‏ Innehåll:Trådsäkerhet - Intrinsic locks och synkronisering - Synchronized statements.
Tabeller.
Vektorer (klassen Vector) Sortering
XSLT – en introduktion Elektronisk publicering.
File System Interface File Concept Access Methods Directory Structure File System Mounting File Sharing Protection.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
DATABASHANTERING för programmerare
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar.
Helpdesk – 10 i topp.. 2 Glömt anv.namn/lösenord –Användaren har bytt anv.namn/lösen och kommer inte ihåg till vad, eller så har de inte kvar mailet de.
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: -Producent – konsument problemet -Förmedling av fildeskriptorer.
1 Sharpdesk översikt Skrivbord Composer (komponeraren) Sök Imaging (bildbehandling)
Databashantering MS Access 2003 Lektion 2
Flexicon – Din systempartner
Mahmud Al Hakim 2  Mål för kursen  Kursplanering  Kurslitteratur  Betygsättning  Grunder om databaser  Tabeller.
Databaser och databassystem
Logikprogrammering 21/10 Binära träd
Tabellrelationer Innan ni får göra lite övningar tänkte jag att jag skulle gå igenom lite om tabellrelationer.
Cacheminnen: skrivning ● Träff ● Skrivbuffert ● Miss.
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Delarna i en Access-databas
1 Registrering och uppladdning shp-filer för geotekniska undersökningsområden - startläge.
TDDB77 Databasteknik Fö 4 Gå från ER/EER-schema till ett relationsschema Henrik André-Jönsson.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning.
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
IT Databas Göran Wiréen
Presentationens avskrift:

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 med operationer i primärminnet Antalet diskaccesser (I/O) bör därför minimeras

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

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

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 <fältvärde, pekare till datapost> Indexet är alltid sorterat

Exempel indexering Filen City (index) Filen Suppliers (data) Athens S1 Smith 20 London London S2 Jones 10 Paris London S3 Blake 30 Paris Paris S4 Clark 20 London Paris S5 Adams 30 Athens 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

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

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).

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

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

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

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

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

Ett B-träd av ordningen 3

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