Hashing i DBMS - Ulike typer Hashing-teknikk i DBMS

Innholdsfortegnelse:

Anonim

Introduksjon til Hashing i DBMS

Når vi snakker om den enorme databasestrukturen og deres kompleksitet, blir det veldig ineffektivt å søke etter alle indeksene og når ønsket data blir veldig vagt og en kompleks mulighet. Ved å bruke hashing-teknikken kan disse tilstandene nås og en direkte peker kan tilordnes for å vite nøyaktig og direkte plassering på disken for den aktuelle posten uten å gjøre bruk av den komplekse indeksstrukturen. Dataene i tilfelle hashing-teknikk lagres i form av datablokker hvis adresse genereres ved å gjøre bruk av funksjonen som vanligvis kalles hashing-funksjonen. Plasseringen i minnet der denne er bosatt og poster er lagret, er kjent som datablokker eller databøtte.

Typer Hashing i DBMS

Det er vanligvis to typer hashing-teknikker i DBMS:

1. Statisk Hashing
2. Dynamic Hashing

1) Statisk Hashing

Ved statisk hashing er datasettet som er dannet og bøtteadressen den samme. Dette betyr at hvis vi prøver å generere adressen til USER_ID = 113 ved å gjøre bruk av hashingfunksjonsmodulen 5, så gir den oss alltid resultanten som 3 med den samme serbøtteadressen. I dette tilfellet vil det ikke bli noen endring i adressen til den leverte bøtta. Derfor forblir antall skuffer konstant under hele operasjonen.

Drift av statisk skrevet Hashing

en. Søke etter en post: Hvis det er behov for posten å bli funnet, brukes nøyaktig den samme hashingfunksjonen for å hente adressen og banen til databøtten med dataene som er lagret.

b. Innsetting av en ny post: Hvis en ny og fersk post blir lagt i en tabell, genereres en adresse for en ny post basert på hashing-tasten og lagrer dermed posten på det stedet.

  1. Sletting av posten: For at posten skal bli slettet, må først den posten hentes som kan slettes. Når denne oppgaven er utført, må postene slettes for den minneadressen.
  2. Oppdatering av en post: For å oppdatere posten, søker vi først i posten ved å bruke den hasjbaserte funksjonen, og når dette er gjort, kan datajournalen vår sies å være i en oppdatert tilstand. For at vi skal sette inn en ny post i filen og adressen som er generert fra den hasjbaserte funksjonen og databøtten er ikke tom, eller hvis dataene allerede er til stede i den oppgitte adressen. Denne situasjonen som spesielt oppstår i tilfelle statisk hashing kan være bedre kalt bøtteoverløp, og det er derfor noen måter man bruker for å overvinne dette problemet som:

(i) Open Hashing: Hvis en hashingfunksjon genererer adressen som dataene kan sees allerede i lagret tilstand, vil i så fall neste nivå i bøtten automatisk bli tildelt. Denne mekanismen kan betegnes som en lineær sonderingsteknikk.

For eksempel, hvis R3 er den ferske adressen som er nødvendig å bli satt, vil den hashbaserte funksjonen generere adresse som nummer 102 for R3-adressen. Adressen som er generert er i full tilstand, og derfor er systemet ment å søke etter den nye databøtten som er 113 og tilordne R3 til den databøtten.

(ii) Closed Hashing: Når bøttene er helt fulle, tildeles en ny bøtte for et bestemt hashresultat som er koblet rett etter det som ble fullført tidligere, og derfor kalles denne metoden for å være Overflow chaining-teknikk.

For eksempel er R3 den ferske adressen som kreves lagt i den nye tabellen hashingfunksjonen brukes til å generere adresse som nummeret 110 til den. Denne bøtta på sin side er full og kan derfor ikke motta nye data, og derfor blir en fersk bøtte lagt til slutt etter 100.

2) Dynamic Hashing

Denne typen hasjbasert metode kan brukes til å løse de grunnleggende problemene med statiske baserte hasninger som de som for eksempel bøtteoverløp, da databøttene kan vokse og krympe med den størrelsen det er mer plassoptimalisert teknikk og derfor kalles det som utvidbart hasjbasert metode. I denne metoden blir hasningen dynamisk, noe som betyr at innsettingsaktiviteten eller sletting er tillatt uten å gi dårlige ytelser.

en. Søke etter en nøkkel: Beregn den hashbaserte adressen til den nødvendige tasten og sjekk antall biter som blir brukt i tilfelle en katalog som er kjent som i. Deretter blir de som er minst betydningsfulle av I-bitene hentet fra katalogen som gir en idé om indeksen fra katalogen. Ved å benytte deg av indeksverdien, gå inn i katalogen for å finne bøtteadressen for å søke etter nåværende poster.

b. Sett inn en fersk post: Til å begynne med må du følge nøyaktig den samme innhentingsprosedyren som må havne et sted i bøtta. Søk etter plassen i den bøtta, og legg deretter postene inni den. Hvis den opprettede bøtten er komplett og full, vil bøtta bli delt og postene blir fordelt på nytt.

For eksempel er de to siste bitene av sifrene 2 og 4 00. Så de vil gå i bøtta B0 og så videre i henhold til modulfunksjonen. Nøkkel 9 har en adresse på 10001 som må være til stede i den første bøtta, men vil bli splittet og vil flytte til den nye bøtta B1 og dette fortsetter til alle bøttene og nøklene er dynamisk hashet. Hashfunksjonen brukes på en måte der hashfunksjonen brukes til å velge kolonnen og dens verdi for å generere adressen. Maksimum ganger hasjfunksjonen bruker den primære nøkkelen som igjen brukes til å generere adressene til datablokken. Det er en enkel matematisk funksjon der primærnøkkelen også kan betraktes som datablokkeadresse, noe som betyr at hver rad med samme adresse som primærnøkkelen vil bli lagret i datablokken.

Anbefalte artikler

Dette er en guide til Hashing i DBMS. Her diskuterer vi introduksjonen og forskjellige typer hashing i DBMS som inkluderer en statisk hashing og dynamisk hashing sammen med eksempler. Du kan også se på følgende artikler for å lære mer -

  1. Datamodeller i DBMS
  2. Fordeler med DBMS
  3. Dataintegrasjonsverktøy
  4. Hva er RDBMS?