Увод у хешинг у ДБМС-у
Када говоримо о огромној структури базе података и њиховој сложености, постаје неефикасно тражити све индексе и достизање жељених података постаје врло нејасно и сложена могућност. Кориштењем технике хасхинга може се доћи до ових стања и може се додијелити директан показивач како би се знала тачна и директна локација на диску за одређени запис без употребе сложене структуре индекса. Подаци у случају технике распршивања похрањују се у облику блокова података чија се адреса генерира кориштењем функције која је обично позната као хасхинг функција. Локација у меморији у којој се налазе и похрањују се подаци познати као блокови података или скупа података.
Врсте хешинга у ДБМС-у
У ДБМС-у обично постоје две врсте техника распршивања:
1. Статично сечење
2. Динамиц Хасхинг
1) статичко хеширање
У случају статичког хасхирања, скуп података и образац су исти. То значи да ако покушавамо да генеришемо адресу за УСЕР_ИД = 113 користећи модулус 5 функције хешинга, онда нам она увек даје резултат као 3 са истом адресом сегмента који изгледа. У овом случају, неће бити промене адресе достављеног скупа. Због тога број канти остаје константан током рада.
Операција статичког типа сјецкања
а. Претраживање записа: Ако постоји потреба да се запис пронађе, тада се тачно иста функција хасхпирања користи за проналажење адресе и путање скупа података с подацима који се похрањују.
б. Уметање новог записа: Ако се нови и нови запис стави у табелу, тада се генерише адреса за нови запис на основу тастера хасхинг и тако смешта запис на ту локацију.
- Брисање записа: Да би се запис избрисао, прво је потребно дохватити запис који се може избрисати. Једном када је тај задатак обављен, записе је потребно избрисати за ту меморијску адресу.
- Ажурирање записа: Да бисмо ажурирали запис, прво претражујемо запис користећи функцију засновану на хасх-у, а након што је то урађено, онда се може рећи да се наш запис података налази у ажурираном стању. Да бисмо у датотеку унијели нови запис, а адреса која се генерише из функције засноване на хасх-у, а скупа података није празна или ако су подаци већ присутни на датој адреси. Ова ситуација која се посебно јавља у случају статичког хешинга може се боље назвати преливањем канте и зато постоје неки начини да се превазиђе овај проблем као што су:
(и) Отвори хешинг: Ако функција хеширања генерише адресу за коју се подаци могу видети већ у сачуваном стању, у том случају ће се следећи ниво скупа аутоматски доделити. Овај механизам се може назвати линеарном техником сондирања.
На пример, ако је Р3 свежа адреса коју је потребно ставити, тада ће функција заснована на хасх-у генерисати адресу као број 102 за Р3 адресу. Генерирана адреса је у пуном стању и зато је систем намијењен претраживању новог скупа података који је 113 и додијели Р3 том скупу података.
(ии) Затворено ломљење: Када су канте потпуно напуњене, тада се додељује ново канто за одређени хасх резултат који се повезује одмах након претходно завршеног и зато се ова метода назива техником преливања ланца.
На пример, Р3 је свежа адреса коју је потребно ставити у нову табелу, функција хешинга се користи за генерисање адресе као броја 110. Ова канта је заузврат пуна и зато не може да прима нове податке, па се свежа кашика ставља на крају после 100.
2) Динамично хеширање
Ова врста метода заснована на хасх-у може се користити за решавање основних проблема статичког хешинга попут оних као што је преливање канте јер се кашике података могу повећавати и смањивати величином што је техника већа за простор и зато се назива и проширивом хасх-басед метода. У овом методу, распршивање је направљено динамично, што значи да је активност уметања или брисање дозвољена без давања лоших перформанси.
а. Претраживање кључа: Израчунајте хасх засновану адресу потребног кључа и проверите број битова који се користе у случају директорија који је познат као и. Затим се они који су најмање битни од И бита узимају из директорија што даје представу о индексу из директорија. Користећи ту вриједност индекса, идите у директориј да бисте пронашли адресу сегмента како бисте потражили присутне записе.
б. Уметање новог записа: У почетку се од вас тражи да следите исти поступак претраживања који треба завршити негде у канти. Потражите простор у тој канти, а затим ставите записе у њу. Ако је створена канта комплетна и пуна, тада ће се лопа раздвојити и записи се поново дистрибуирати.
На пример, последња два бита цифара 2 и 4 су 00. Дакле, они ће ући у канту Б0 и тако даље према функцији модула. Кључ 9 има адресу 10001 која мора бити присутна у првој канти, али ће се раздвојити и прећи ће на нову канту Б1 и тако траје све док се све сегменте и кључеви не динамички уситне. Хасх функција се користи на начин на који се хасх функција користи за избор колоне и њене вриједности за генерисање адресе. Максимално често када се хасх функција користи примарним кључем који се заузврат користи за генерисање адреса блока података. То је једноставна математичка функција где се примарни кључ такође може сматрати адресом блока података што значи да ће сваки ред с истом адресом као и примарни кључ бити смештен у блок података.
Препоручени чланци
Ово је водич за Хасхинг у ДБМС-у. Овде смо расправљали о увођењу и различитим врстама хешинга у ДБМС-у, што укључује статичко хеширање и динамичко хеширање заједно са примерима. Можда ћете такође погледати следеће чланке да бисте сазнали више -
- Модели података у ДБМС-у
- Предности ДБМС
- Алат за интеграцију података
- Шта је РДБМС?