Sök:

Effektivisering av lagringsstrukturer i RDB2

RDB2 är en relationsdatabashanterare som har utvecklats på Högskolan i Skövde för att användas i undervisningssyfte. Åtkomsten av data i den nuvarande versionen av RDB2, version 0.93, anses vara ineffektiv. Lagringsstrukturen är uppbyggd med hjälp av en lagringsteknik som kallas hashing. Hashingen påverkar hur datan lagras fysiskt. När hashing inte kan användas måste åtkomsten ske sekvensiellt vilket leder till att åtkomsttiden blir dålig. Genom att införa ytterligare lagringsstrukturer kan åtkomsten av data även ske med hjälp av dessa strukturer.Syftet med examensarbetet är att visa att ett införande av en logisk lagringsstruktur kommer att leda till att åtkomsten av data kommer att bli effektivare med avseende på snabbheten jämfört med den nuvarande versionen av RDB2.Tre olika metoder på hur tuppelstrukturen kan se ut för ett index över attribut som innehåller icke-unika värden har behandlats. Dessa tre metoder är täta index, index med variabelt stora indextuppler och index som använder indirekta indexblock. För strukturen på indexet har en-nivå index, fler-nivå index och balanserade träd granskats.Den metod som har valts att införa i RDB2 är ett logiskt en-nivå index med indirekta indexblock. Ett logiskt index för att underlätta rehashing och ett en-nivå index för att det är den enklaste av metoderna och kan relativt enkelt byggas ut till ett fler-nivå index. Anledningen till valet av att använda indirekta indexblock var att denna metod leder till enkel lagring och radering av tuppler samt lider varken av redundans eller ett behov av att införa nya läsfunktioner.Hypotesen att åtkomsten skulle förbättras om en logisk lagringsstruktur infördes i RDB2 har genom teoretiska tester visat sig vara sann. Att det finns specialfall där den sekvensiella sökningen är snabbare än en sökning via index ändrar inte det faktum att det nästan undantagslöst äreffektivare att söka via index än sekvensiellt.

Författare

Tommy Wiberg

Lärosäte och institution

Högskolan i Skövde/Institutionen för datavetenskap

Nivå:

"Kandidatuppsats". Självständigt arbete (examensarbete ) om minst 15 högskolepoäng utfört för att erhålla kandidatexamen.

Läs mer..