Care este diferența dintre Hashing-ul static și dinamic

principala diferență între haitire statică și dinamică este asta, în hashing-ul static, adresa colectorului de date rezultată este întotdeauna aceeași, în timp ce, în cazul hashing-ului dinamic, bușoanele de date cresc sau se micsorează în funcție de creșterea și scăderea înregistrărilor.

Nu este posibilă căutarea tuturor indexurilor pentru a găsi datele într-o bază de date extinsă. Hashing oferă o alternativă la această problemă. În plus, permite calcularea locației directe a datelor pe disc fără a utiliza indici. Hashing utilizează funcții matematice numite funcții hash pentru a genera adrese de înregistrări de date. În plus, locațiile de memorie care stochează datele se numesc galerii de date. Există două tipuri de hashing numite hashing statice și dinamice.

Domenii cheie acoperite

1. Ce este Static Hashing
     - Definiție, funcționalitate
2. Ce este Dynamic Hashing
     - Definiție, funcționalitate
3. Care este diferența dintre Hashing-ul static și dinamic
     - Compararea diferențelor cheie

Termeni cheie

Hashing, Hashing static, Hashing dinamic

Ce este Static Hashing

În hashing-ul static, adresa colectorului de date rezultată este întotdeauna aceeași. Cu alte cuvinte, adresa găleată nu se schimbă. Astfel, în această metodă, numărul de galerii de date din memorie rămâne constant pe tot parcursul procesului.

Operațiunile de stingere statică sunt după cum urmează.

inserare - Atunci când introduceți o înregistrare folosind hashing static, funcția hash (h) calculează adresa găleată pentru cheia de căutare (k), unde înregistrarea va fi stocată. Adresa bucketului = h (K).

Căutare - Atunci când obțineți o înregistrare, aceeași funcție hash ajută la obținerea adresei găleții unde sunt stocate datele.

Șterge - După preluarea înregistrării, este posibilă ștergerea înregistrărilor pentru acea adresă din memorie.

Actualizați - După căutarea înregistrării utilizând o funcție hash, este posibilă actualizarea acelei înregistrări.

Mai mult, o problemă majoră în hașificarea statică este depasirea cuvei. Unele metode pentru a depăși această problemă sunt următoarele.

Supraîncărcarea cu surplus - Galeata noua creata pentru acelasi rezultat hash atunci cand galetiile sunt pline

Proba liniară - Următoarea găleată liberă alocată pentru date atunci când o funcție hash generează o adresă unde datele sunt deja stocate.

Ce este Dynamic Hashing

O problemă în hashing-ul static este depășirea bucket-ului. Dynamic hashing ajută la depășirea acestei probleme. Este, de asemenea, numit Metoda hashing extensibilă.  În această metodă, bușoanele de date cresc și scad în funcție de numărul de înregistrări. Permite efectuarea de operații, cum ar fi inserarea, ștergerea etc., fără a afecta performanța.

Operațiile de hashing dinamice sunt după cum urmează.

inserare - Calculează adresa găleții. Dacă găleata este deja plină, este posibil să adăugați mai multe găleți. În plus, este posibil să se adauge biți suplimentari la valoarea hash și să se recalculeze funcția hash. Dacă gălețile nu sunt pline, este posibil să adăugați date în cupă.

interogarea - Verifică valoarea adâncimii indexului hash și folosiți acești biți pentru a calcula adresa găleții.

Actualizați - Efectuează o interogare și actualizează datele.

Șterge - Efectuează o interogare pentru a găsi datele dorite pentru a fi șterse.

Diferența dintre Hashing static și Hashing dinamic

Definiție

Estimarea statică este o tehnică de hashing care permite utilizatorilor să efectueze căutări într-un set de dicționare finalizat (toate obiectele din dicționar sunt finale și nu se schimbă). Dimpotrivă, hashing-ul dinamic este o tehnică de hashing în care galetele de date sunt adăugate și eliminate dinamic și la cerere. Astfel, aceasta este principala diferență între hashing-ul static și dinamic.

Funcționalitate

În hashing-ul static, adresa colectorului de date rezultată este întotdeauna aceeași. În cazul hashării dinamice, cu toate acestea, coșurile de date se modifică în funcție de înregistrări. Prin urmare, aceasta este o altă diferență majoră între hashing-ul static și dinamic.

Eficienţă

Eficiența este cea mai mare diferență dintre hashing-ul static și dinamic. Dynamic hashing este mai eficient decât hashing-ul static.

Concluzie

Pe scurt, hashing este metoda de utilizare a funcțiilor matematice numite funcții hash pentru a calcula locațiile directe ale înregistrărilor de date de pe disc. În plus, hashing-ul static și dinamic sunt două tipuri de hashing. Principala diferență între hashing-ul static și dinamic este că, în hașificarea statică, adresa colectorului de date rezultată este întotdeauna aceeași în timp ce în hașcare dinamică, galetiile de date cresc sau se micșorează în funcție de creșterea și scăderea înregistrărilor.

Referinţă:

1. "Static Hashing DBMS - Javatpoint". Www.javatpoint.com, disponibil aici.
2. "Dynamic Hashing din DBMS - Javatpoint". Www.javatpoint.com, disponibil aici.

Datorită fotografiei:

1. "Extinctoare hashing 1" Autor: Svick - Спĺтно дело (CC BY 3.0) prin Wikimedia Commons