Hashing i DBMS - Olika typer av Hashing-teknik i DBMS

Innehållsförteckning:

Anonim

Introduktion till Hashing i DBMS

När vi pratar om den enorma databasstrukturen och deras komplexitet blir det mycket ineffektivt att söka efter alla index och att nå önskad data blir mycket vagt och en komplex möjlighet. Genom att använda hashing-tekniken kan dessa tillstånd nås och en direktpekare kan tilldelas för att veta den exakta och den direkta platsen på disken för den specifika posten utan att använda den komplexa indexstrukturen. Uppgifterna vid hashteknik lagras i form av datablock vars adress genereras genom att använda funktionen som vanligtvis kallas hashfunktionen. Platsen i minnet där detta finns och poster lagras är känt som datablock eller datahink.

Typer av Hashing i DBMS

Det finns vanligtvis två typer av hashtekniker i DBMS:

1. Statisk Hashing
2. Dynamic Hashing

1) Statisk Hashing

I fallet med statisk hashing är den datauppsättning som bildas och skopadressen densamma. Detta innebär att om vi försöker generera adressen för USER_ID = 113 genom att använda hashfunktionsmodulen 5 så ger den oss alltid resultatet som 3 med samma snygga hinkadress. I det här fallet kommer det inte att göras någon ändring av adressen till den tillhandahållna skopan. Därför förblir antalet hinkar konstant under hela operationen.

Användning av statiskt typade Hashing

a. Söka efter en post: Om det finns ett behov av posten att hitta, används exakt samma hashingfunktion för att hämta adress och sökväg till dataskinkan med data som lagras.

b. Insättning av en ny post: Om en ny och färsk post läggs i en tabell genereras en adress för en ny post baserad på hashnyckeln och lagrar därmed posten på den platsen.

  1. Radering av posten: För att posten ska raderas måste först den posten hämtas som kan raderas. När denna uppgift är klar måste posten tas bort för den minnesadressen.
  2. Uppdatering av en post: För att uppdatera posten söker vi först posten genom att använda den hashbaserade funktionen och när det är gjort kan vi säga att vår datapost är uppdaterad. För att vi ska infoga en ny post i filen och adressen som genereras från den hashbaserade funktionen och dataskopan är icke tom eller om data redan finns i den angivna adressen. Denna situation som särskilt uppstår vid statisk hasning kan vara bättre kallad hinköverflöde och därför finns det några sätt som används för att lösa detta problem, såsom:

(i) Open Hashing: Om en hashfunktion genererar adressen för vilken data kan ses redan i det lagrade tillståndet, kommer i så fall nästa nivå i skopan automatiskt att tilldelas. Denna mekanism kan betecknas som en linjär sonderingsteknik.

Till exempel, om R3 är den nya adressen som behövs för att läggas, kommer den hashbaserade funktionen att generera adress som nummer 102 för R3-adressen. Adressen som genereras är i fullt tillstånd och därför är systemet avsett att söka efter den nya dataskinkan som är 113 och tilldela R3 till den dataskinkan.

(ii) Closed Hashing: När hinkarna är helt fulla, tilldelas sedan en ny hink för ett visst hashresultat som är länkat direkt efter det som har avslutats tidigare och därför kallas denna metod för att vara överflödskedjningsteknik.

Exempelvis är R3 den nya adressen som krävs för att läggas i den nya tabellen som hashingfunktionen används för att generera adress som nummer 110 till den. Denna hink är i sin tur full och kan därför inte ta emot nya data och därför läggs en ny hink i slutet efter 100.

2) Dynamic Hashing

Denna typ av hashbaserad metod kan användas för att lösa de grundläggande problemen med statisk baserad hasning som sådana som hinköverflödet eftersom dataskoporna kan växa och krympa med storleken det är mer utrymmeoptimerad teknik och därför kallas det som utdragbart hash-baserad metod. I denna metod görs hashningen dynamisk vilket innebär att insättningsaktiviteten eller borttagningen tillåts utan att tillhandahålla dålig prestanda.

a. Söka efter en nyckel: Beräkna den hashbaserade adressen för den nödvändiga nyckeln och kontrollera antalet bitar som används i fallet med en katalog som kallas i. Sedan tas de som är minst betydelsefulla av I-bitarna från katalogen som ger en uppfattning om indexet från katalogen. Genom att använda det indexvärdet, gå till katalogen för att hitta skopadressen för att söka efter nuvarande poster.

b. Infoga en ny post: Först måste du följa exakt samma hämtningsprocedur som måste hamna någonstans i skopan. Sök efter utrymmet i skopan och lägg sedan posterna i den. Om den skapade skopan är fullständig och full, kommer skopan att delas upp och posterna omfördelas.

Till exempel är de två sista bitarna av siffrorna 2 och 4 00. Så de kommer att gå i skopan B0 och så vidare enligt modulfunktionen. Nyckel 9 har en adress 10001 som måste finnas i den första skopan men kommer att delas och flyttas till den nya skopan B1 och detta fortsätter tills alla skopor och nycklar är dynamiskt hashade. Hashfunktionen används på ett sätt där hashfunktionen används för att välja kolumnen och dess värde för att generera adressen. Maximala gånger hashfunktionen använder sig av den primära nyckeln som i sin tur används för att generera adresserna för datablocket. Det är en enkel matematisk funktion där den primära nyckeln också kan betraktas som datablockadressen vilket innebär att varje rad med samma adress som den för primärnyckeln kommer att lagras i datablocket.

Rekommenderade artiklar

Detta är en guide till Hashing i DBMS. Här diskuterar vi introduktionen och olika typer av hashing i DBMS som innehåller en statisk hashing och dynamisk hashing tillsammans med exempel. Du kan också titta på följande artiklar för att lära dig mer -

  1. Datamodeller i DBMS
  2. Fördelar med DBMS
  3. Dataintegrationsverktyg
  4. Vad är RDBMS?