Introducere în Hashing în DBMS
Când vorbim despre structura imensă a bazei de date și complexitatea lor, devine foarte ineficientă căutarea tuturor indexurilor și atingerea datelor dorite devine foarte vagă și o posibilitate complexă. Folosind tehnica de hashing aceste stări pot fi atinse și un pointer direct poate fi atribuit pentru a cunoaște exact și locația directă pe disc pentru înregistrarea particulară, fără a folosi structura de index complexă. Datele în cazul tehnicii de hashing sunt stocate sub formă de blocuri de date a căror adresă este generată folosind funcția cunoscută în mod obișnuit ca funcția de hashing. Locația din memoria în care se află aceasta și înregistrările sunt stocate este cunoscută sub numele de blocuri de date sau cupă de date.
Tipuri de Hashing în DBMS
În DBMS există de obicei două tipuri de tehnici de hashing:
1. Zguduirea statică
2. Hashing dinamic
1) Static Hashing
În cazul hașinării statice, setul de date format și adresa găleții este aceeași. Acest lucru înseamnă că, dacă încercăm să generăm adresa pentru USER_ID = 113, folosind modulul de funcționare hashing modul 5, acesta ne oferă întotdeauna rezultatul ca 3 cu aceeași adresă de găleată. În acest caz, nu va exista nicio schimbare în adresa găleții furnizate. Prin urmare, numărul de găleți rămâne constant pe toată durata operațiunii.
Funcționarea Hashing-ului tastat static
A. Căutarea unei înregistrări: În cazul în care este necesară găsirea înregistrării, atunci aceeași funcție de hashing este utilizată pentru a prelua adresa și calea buclei de date cu datele stocate.
b. Inserarea unei înregistrări noi: Dacă o înregistrare nouă și proaspătă este introdusă într-un tabel, atunci se generează o adresă pentru o înregistrare nouă, bazată pe tasta hashing, stocând astfel înregistrarea în acea locație.
- Ștergerea înregistrării: Pentru ca înregistrarea să fie ștearsă, mai întâi trebuie înregistrată acea înregistrare care poate fi ștearsă. După ce această sarcină este făcută, atunci înregistrările trebuie șterse pentru acea adresă de memorie.
- Actualizarea unei înregistrări: Pentru a actualiza înregistrarea, mai întâi căutăm înregistrarea folosind funcția bazată pe hash și, odată făcută, atunci se poate spune că înregistrarea noastră se află într-o stare actualizată. Pentru ca noi să introducem o înregistrare nouă în fișier și adresa care este generată de funcția bazată pe hash și bucket-ul de date nu este gol sau dacă datele sunt deja prezente în adresa furnizată. Această situație care apare în special în caz de forțare statică poate fi mai bine numită revărsare a găleții și, prin urmare, există câteva modalități utilizate pentru a depăși această problemă, cum ar fi:
(i) Open Hashing: Dacă o funcție de degajare generează adresa pentru care datele pot fi văzute deja în starea stocată, în acest caz, următorul nivel al găleții va fi alocat automat. Acest mecanism poate fi denumit o tehnică de sondare liniară.
De exemplu, dacă R3 este adresa nouă care trebuie pusă, atunci funcția bazată pe hash va genera adresa ca număr 102 pentru adresa R3. Adresa generată este în stare completă și, prin urmare, sistemul este menit să caute noua bucketă de date care este 113 și să atribuie R3 acelei buchete de date.
(ii) Hashing închis: Când gălețile sunt complet pline, o nouă găleată este apoi alocată pentru un anumit rezultat de hașă, care este legat imediat după cel completat anterior și, prin urmare, această metodă este numită tehnică de înlănțuire a revărsării.
De exemplu, R3 este adresa nouă care trebuie să fie introdusă în noul tabel, funcția de hashing este utilizată pentru a genera o adresă ca numărul 110. La rândul său, această găleată este plină și, prin urmare, nu poate primi date noi și, prin urmare, o găleată proaspătă este introdusă la final după 100.
2) Hashing dinamic
Acest tip de metodă bazată pe hașă poate fi folosită pentru a rezolva problemele de bază ale hașiei bazate pe static, cum ar fi revarsarea găleții, deoarece gălețile de date pot crește și micșora cu dimensiunea, fiind o tehnică mai optimizată în spațiu și, prin urmare, este numită Extensibil metoda bazată pe hash. În această metodă, hashing-ul este dinamic ceea ce înseamnă că activitatea de inserare sau ștergere este permisă, fără a oferi performanțe slabe.
A. Căutarea unei chei: Calculați adresa bazată pe hash a cheii necesare și verificați numărul de biți care sunt utilizați în cazul unui director care este cunoscut sub numele de i. Apoi, cele mai puțin semnificative dintre biții I sunt preluate din directorul care dă o idee despre indexul din director. Folosind acea valoare a indexului, accesați directorul pentru a găsi adresa găleții pentru a căuta înregistrările prezente.
b. Introducerea unei înregistrări proaspete: La început, vi se cere să urmați exact aceeași procedură de recuperare care trebuie să fie terminată undeva în găleată. Căutați spațiul din găleata respectivă, apoi puneți înregistrările în el. Dacă acea găleată creată este completă și completă, găleata va fi împărțită și înregistrările vor fi redistribuite.
De exemplu, ultimii doi biți ai cifrelor 2 și 4 sunt 00. Deci vor merge în cupa B0 și așa mai departe în funcție de modul. Cheia 9 are o adresă de 10001 care trebuie să fie prezentă în prima găleată, dar care va fi împărțită și se va muta la noua găleată B1, iar aceasta se continuă până când toate gălețile și cheile vor fi dinamizate. Funcția hash este utilizată într-un mod în care funcția hash este utilizată pentru a alege coloana și valoarea acesteia pentru a genera adresa. De maximum ori funcția hash folosește cheia primară care la rândul său este utilizată pentru a genera adresele blocului de date. Este o funcție matematică simplă, unde cheia primară poate fi considerată și ca adresa blocului de date, ceea ce înseamnă că fiecare rând cu aceeași adresă cu cea a cheii primare va fi stocat în blocul de date.
Articole recomandate
Acesta este un ghid pentru Hashing în DBMS. Aici vom discuta despre introducerea și diferite tipuri de hashing în DBMS, care include un hashing static și hashing dinamic împreună cu exemple. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -
- Modele de date în SGBD
- Avantajele SGBD
- Instrument de integrare a datelor
- Ce este RDBMS?