د هډیګ کولو مفکورې


پېژندنه

د هش فایل تنظیم کولو طریقه هغه ده چیرې چې معلومات د ډیټا بلاکونو کې زیرمه شوي چې پته یې د هش فنکشن په کارولو سره رامینځته کیږي. د حافظې موقعیت چیرې چې دا ریکارډونه زیرمه شوي د معلوماتو بلاک یا ډیټا بالټ په نوم یادیږي. د دې ډاټا بالټ د یو یا ډیرو ریکارډونو ذخیره کولو وړ دی.

د هش فنکشن کولی شي د پتې تولید لپاره هر کالم ارزښت وکاروي. ډیری وختونه ، د هش فنکشن د هش انڈیکس تولید لپاره لومړنۍ کیلي کاروي - د ډیټا بلاک پته. د هش فنکشن هر پیچلي ریاضیاتي فعالیت ته ساده ریاضياتي فعالیت کیدی شي. موږ حتی پخپله لومړني کیلي د ډیټا بلاک پته په توګه په پام کې نیولی شو. پدې معنی چې هر قطار به د ډیټا بلاک کې زیرمه شي چې پته به یې د لومړني کیلي سره ورته وي. دا پدې معنی ده چې د ډیټا په سیسټم کې د هیش فنکشن څومره ساده کیدی شي.

پورته دیاګرام د ډیټا بلاک پته د لومړني کیلي ارزښت په څیر انځوروي. دا د هیش فنکشن هم ساده ریاضياتي فعالیت کیدی شي لکه موډ ، ګناه ، کوس ، تزئین کونکي وغيره. تصور وکړئ چې موږ د ډیټا بلاک پته ټاکل کولو لپاره د ماډ (5) په توګه د هش فنکشن لرو. نو پورتنۍ قضیې څه پیښیږي؟ دا په لومړني کیلي باندې ماډ (5) پلي کوي او په ترتیب سره 3,3,1,4،2،XNUMX،XNUMX او XNUMX تولیدوي او ریکارډونه د دې ډیټا بلاک پته کې ساتل کیږي.

د پورتني دوه آثارو څخه دا اوس روښانه کیږي چې د هیش فنکشن څنګه کار کوي.

دوه ډوله د هش فایل سازمانونه شتون لري - Static او خوځنده ځورول.

جامد هینګینګ

د چنګاښ په دې میتود کې ، د پایلو ډیټا بسته پته به تل ورته وي. د دې معنی ده ، که موږ غواړو د EMP_ID = 103 لپاره د Mod (5) هش فنکشن په کارولو سره پته پیدا کړئ ، دا تل د ورته بالټ پته پایله کیږي 3. دلته به د بالټۍ پته کې هیڅ بدلون نه وي. له همدې امله د دې جامد هشینګ لپاره په حافظه کې د معلوماتو بالټونو شمیر په ټوله کې دوام لري. زموږ په مثال کې ، موږ به په حافظه کې پنځه د ډیټا بالټونه ولرو چې د معلوماتو ذخیره کولو لپاره کارول کیږي.

ریکارډ لټول

د هش فنکشن په کارولو سره ، د ډیټا بکٹ پته د هش کیلي لپاره رامینځته کیږي. ریکارډ بیا له هغه ځای څخه ترلاسه شوی. يعني؛ که موږ وغواړو چې د ID 104 لپاره بشپړ ریکارډ ترلاسه کړو ، او که چیرې د hash فنکشن په ID (5) کې ماډل وي ، نو پته به یې 4 وي. بیا به موږ مستقیم 4 ته ګوته ونیسو او د ID 104 لپاره بشپړ ریکارډ ترلاسه کړو. دلته ID د یو کیلي کیلي په توګه کار کوي.

ریکارډ دننه کول

کله چې جدول کې نوی ریکارډ داخلولو ته اړتیا وي ، موږ به د دې د هیش کیلي پراساس د نوي ریکارډ لپاره پته تولید کړو. یوځل چې پته تولید شي ، ریکارډ په هغه ځای کې زیرمه شوی.

ریکارډ حذف کړئ

د هش فنکشن په کارولو سره به لومړی موږ ریکارډ ترلاسه کړو کوم چې فکر کیږي حذف شي. بیا به موږ په یاد پته د دې پتې لپاره ریکارډونه لرې کړو.

یو ریکارډ تازه کړئ

د معلوماتو لپاره نښه شوي د معلوماتو ریکارډ به د جامد هش فنکشن په کارولو سره وپلټل شي او بیا پدې پته کې ریکارډ تازه شي.

 

فرض کړئ چې موږ باید فایل کې ځینې ریکارډونه داخل کړو. مګر د هش فنکشن لخوا رامینځته شوي د ډاټا بخت پته بشپړه ده یا ډاټا لا دمخه په هغې پته کې شتون لري. موږ څنګه ارقام داخل کړو؟ دا حالت په مستحکم هیسینګ کې ویل کیږي د بالټ اوښتون. دا په دې میتود کې یو له بحراني وضعیت / نیمګړتیاو څخه دی. موږ به چیرې پدې حالت کې معلومات خوندي کړو؟ موږ معلومات نشی له لاسه ورکولی. د دې وضعیت د کابو کولو لپاره بیلابیل میتودونه شتون لري. ډیری عام کارول شوي میتودونه لاندې لیست شوي:

تړل شوي چرس

پدې میتود کې موږ د ورته پته سره نوی ډاټا بسته معرفي کوو او د بشپړ ډیټا بکٹ وروسته یې لینک کوو. د بالټ اوور فلو غالب کولو دا میتودونه د تړل شوي هوشنګ یا یا بلل کیږي د ډیر جریان ځنځیر

په پام کې ونیسئ موږ باید جدولونو کې نوی ریکارډ R2 دننه کړو. د جامد هش فنکشن د 'AACDBF' په توګه د ډاټا بخت پته تولیدوي. مګر دا بالټ د نوي معلوماتو ذخیره کولو لپاره ډک دی. هغه څه چې پدې قضیه کې ترسره کیږي دا د نوي ډاټا بسته د 'AACDBF' ډیټا بالټ په پای کې اضافه شوې او ورسره تړلې ده. بیا نوی ریکارډ R2 په نوي سطل کې دننه کیږي. پدې توګه دا د جامد هیسینګ پته ساتي. دا کولی شي هرډول نوي ډیټا بالټونه اضافه کړي ، کله چې ډک وي.

خلاصیدل

پدې میتود کې ، راتلونکی موجود ډاټا بلاک د نوي ریکارډ دننه کولو لپاره کارول کیږي ، پرځای په زاړه باندې د ادغام کولو پرځای. دا میتود د خلاصې هشینګ یا په نامه یادیږي کرښه تفتیش.

په لاندې مثال کې ، R2 یو نوی ریکارډ دی چې داخلولو ته اړتیا لري. مګر د هش فنکشن د 237 په توګه پته تولیدوي. مګر دا دمخه ډک دی. نو سیسټم راتلونکی موجود ډاټا بسته لټوي ، 238 او دې ته R2 ګوماري.

په خطي تفتیش کې ، د زاړه بالټ او نوي بالټ ترمنځ توپیر معمولا ټاکل کیږي او دا به 1 ډیری قضیې وي.

څلورمه برخه

دا د خطي تحقیقات سره ورته ده. مګر دلته ، د زاړه او نوي بالټیک ترمینځ توپیر لین دی. موږ د نوي بالټ پته ټاکل کولو لپاره کواډریټیک فنکشن کاروو.

دوه چنده وهل

دا د خطي تفتیش بله طریقه هم ده. دلته توپیر د لینر پروبیګ په څیر ټاکل شوی ، مګر دا ثابت توپیر د بل هیش فنکشن په کارولو سره محاسبه کیږي. د همدې لپاره نوم دوه چنده ده.

متحرک هشینګ

د هشینګ دا میتود د جامد هینګینګ ستونزو حلولو لپاره کارول کیږي - د بټکوین جریان. د چنګاښ په دې میتود کې ، د معلوماتو بالټونه وده کوي یا ټیټ کیږي لکه څنګه چې ریکارډونه لوړیږي یا کمیږي. د چرس دغه میتود د غزولو وړ تمرین میتود په توګه هم پیژندل کیږي. راځئ چې پدې میتود پوهیدو لپاره یوه بیلګه وګورو.

په پام کې ونیسئ دلته درې ریکارډونه شتون لري R1 ، R2 او R4 په جدول کې دي. دا ریکارډونه په ترتیب سره 100100 ، 010110 او 110110 ادرس پیدا کوي. د ذخیره کولو دا طریقه د دې پتې یوازې برخه په پام کې نیسي - په ځانګړي توګه یوازې لومړی یو څه د معلوماتو ذخیره کولو لپاره. نو دا هڅه کوي چې د دې دری پته په 0 او 1 پته بوځي.

دلته به د R3 څه پیښ شي؟ د R3 لپاره د بالټ ځای نشته. بالټ باید په متحرک ډول وده وکړي ترڅو د R3 ځای ونیسي. نو دا پته بدلوي پته د 2 بیټ پرځای 1 ټوټې لري ، او بیا دا موجوده ډاټا تازه کوي ترڅو 2 بټ پته ولري. بیا دا د R3 ځای په ځای کولو هڅه کوي.

اوس موږ وینو چې د R1 او R2 پته د نوي پتې منعکس کولو لپاره بدله شوې او R3 هم دننه شوې. لکه څنګه چې د معلوماتو اندازه لوړه کیږي ، دا هڅه کوي په موجوده بالټونو کې دننه شي. که چیرې بالټونه شتون نلري ، نو د لوی پتې په پام کې نیولو لپاره د ټوټکو شمیر ډیر شوی ، او له همدې امله بالټونه زیاتوي. که موږ کوم ریکارډ حذف کړو او که ډاټا د لږ سطلونو سره زیرمه شي ، دا د بالټ اندازه لنډوي. دا د هغه څه مخالف کار کوي چې موږ یې پورته لیدلي. دا د متحرک هیسینګ کار کوي. په پیل کې یوازې د جزوي شاخص / پته چې د هش فنکشن لخوا رامینځته کیږي د معلوماتو ساتلو لپاره په پام کې نیول کیږي. لکه څنګه چې د معلوماتو شمیره لوړیږي او لا نورو بالټونو ته اړتیا شتون لري ، د شاخص لویه برخه د معلوماتو ذخیره کولو لپاره په پام کې نیول کیږي.

د متحرک هیسینګ ګټې

  • فعالیت کم نه کیږي ځکه چې سیسټم کې ډیټا وده کوي. دا په ساده ډول د معلوماتو اندازه کولو لپاره د حافظې اندازه ډیروي.
  • څنګه چې دا وده کوي او د معلوماتو سره ټیټ کیږي ، حافظه یې ښه کارول شوې. هیڅ ډول نه کارول شوې حافظه به درته پاتې شي.
  • د متحرک ډیټابیسونو لپاره ښه دی چیرې چې معلومات ډیریږي او ډیریږي.

 

د متحرک هیسینګ زیانونه

  • لکه څنګه چې د معلوماتو اندازه لوړه کیږي ، د بالټ اندازه هم لوړه شوې. دا پتې به د بالټ پته جدولونو کې ساتل کیږي. دا ځکه چې ، د معلوماتو پته به د بدلون په توګه وساتي ځکه چې بالټونه وده کوي او راټیټیږي. کله چې په معلوماتو کې لوی زیاتوالی وي ، نو د دې بالټ پته میز ساتل ستونزمن کیږي.
  • په دې قضیه کې به د بالټ د ډیر جریان وضعیت هم واقع شي. مګر ممکن دا حالت ته د رسیدو لپاره لږ وخت ونیسي د جامد هوسۍ څخه.

د ترتیب شوي لیږدونې او ځړونې پرتله کول

سپارښتنه ترتیب شوی

ځورول

په حافظه کې ادرس د کليدي ارزښت لپاره ترتیب شوي. دا کلیدي ارزښت لومړني کیلي یا په میز کې کوم بل کالم کیدی شي.ادرس د کیلي ارزښت د هش فنکشن په کارولو سره تولید کیږي. دا کلیدي ارزښت لومړني کیلي یا په میز کې کوم بل کالم کیدی شي.
د دې میتود فعالیت ښکته راځي لکه څنګه چې معلومات په فایل کې ډیریږي. لدې چې دا ډاټا په ترتیب شوي ب storesه کې زیرمه کوي ، کله چې د داخل / حذف / تازه کولو عملیات شتون ولري ، نو د ریکارډ ترتیب کولو لپاره اضافي هڅې ته اړتیا ده. دا د هغې فعالیت کموي.د متحرک هیسینګ فعالیت به ښه وي کله چې په مکرر ډول اضافه کول او د معلوماتو حذف کول وي. مګر که ډیټابیس خورا لوی وي ، ساتنه به یې ګران وي.

جامد هیسینګ به د کوچني ډیټابیسونو لپاره ښه وي چیرې چې د ریکارډ اندازې ID مخکې پیژندل شوی و. که چیرې په ارقامو کې وده شتون ولري ، نو دا د جدي ستونزو په څیر پایلې لري لکه د بالټ څخه ډیر جریان.

د حذف / اوسمهالولو عملیاتو له امله به د نا استعمال شوي ډیټا بلاکونه وي. دا ډیټا بلاکونه به د بیا کارولو لپاره خوشې نشي. نو ځکه د حافظې دوراني ساتنه اړینه ده. بله ، حافظه ضایع کیږي او فعالیت به یې زیانمن کړي. همدارنګه دا به د حافظې ساتلو لپاره د لګښت سر څخه وي.په جامد او متحرک هیسینګ کې ، حافظه په ښه توګه اداره کیږي. د بټکي ډیر جریان هم د جامد هشینګ غوره حد پورې اداره کیږي. د ډیټا بلاکونه متحرک هیسینګ کې د سکور کولو او نمو لپاره ډیزاین شوي.

مګر هلته به د متحرک هیسینګ کې د بالټ پته میز ساتلو لپاره پراخه پوړ شتون ولري کله چې لوی ډیټابیس وده ولري.

د معلوماتو د اندازې بیرته ترلاسه کولو لپاره غوره شوی - پدې معنی چې کله د ځانګړي اندازې لپاره د معلوماتو بیرته ترلاسه کول شتون لري ، دا میتود غوره مناسب دی.دا طریقه د لټون کلیدي پراساس د ځانګړي ریکارډ ترلاسه کولو لپاره مناسبه ده. مګر دا به ښه ترسره نشي که چیرې د هش فنکشن د لټون کلید کې نه وي.