डीबीएमएस में हैशिंग: स्थैतिक और गतिशील हैशिंग तकनीकें
डीबीएमएस में हैशिंग क्या है?
DBMS में, हैशिंग एक ऐसी तकनीक है जो इंडेक्स संरचना का उपयोग किए बिना डिस्क पर वांछित डेटा के स्थान को सीधे खोजती है। हैशिंग विधि का उपयोग डेटाबेस में आइटम को इंडेक्स करने और पुनर्प्राप्त करने के लिए किया जाता है क्योंकि उस विशिष्ट आइटम को उसके मूल मान का उपयोग करने के बजाय छोटी हैश की का उपयोग करके खोजना तेज़ होता है। डेटा को डेटा ब्लॉक के रूप में संग्रहीत किया जाता है जिसका पता मेमोरी लोकेशन में हैश फ़ंक्शन लागू करके उत्पन्न किया जाता है जहाँ ये रिकॉर्ड संग्रहीत होते हैं जिन्हें एक के रूप में जाना जाता है डेटा ब्लॉक या डेटा बकेट.
हमें हैशिंग की आवश्यकता क्यों है?
यहां, DBMS में वे स्थितियां दी गई हैं जहां आपको हैशिंग विधि लागू करने की आवश्यकता है:
- एक विशाल डेटाबेस संरचना के लिए, सभी स्तरों के माध्यम से सभी सूचकांक मूल्यों को खोजना कठिन है और फिर आपको वांछित डेटा प्राप्त करने के लिए गंतव्य डेटा ब्लॉक तक पहुंचने की आवश्यकता है।
- हैशिंग विधि का उपयोग डेटाबेस में आइटमों को अनुक्रमित करने और पुनः प्राप्त करने के लिए किया जाता है, क्योंकि किसी विशिष्ट आइटम को उसके मूल मान के बजाय छोटी हैश कुंजी का उपयोग करके खोजना अधिक तेज़ होता है।
- हैशिंग, इंडेक्स संरचना का उपयोग किए बिना डिस्क पर डेटा रिकॉर्ड के प्रत्यक्ष स्थान की गणना करने के लिए एक आदर्श विधि है।
- यह शब्दकोशों के क्रियान्वयन के लिए भी एक उपयोगी तकनीक है।
हैशिंग में महत्वपूर्ण शब्दावलियाँ
यहां हैशिंग में प्रयुक्त महत्वपूर्ण शब्दावलियां दी गई हैं:
- डेटा बकेट - डेटा बकेट मेमोरी लोकेशन हैं जहाँ रिकॉर्ड स्टोर किए जाते हैं। इसे स्टोरेज की यूनिट भी कहा जाता है।
- कुंजी: एक डीबीएमएस कुंजी एक विशेषता या विशेषता का सेट है जो आपको किसी संबंध (तालिका) में एक पंक्ति (टपल) की पहचान करने में मदद करता है। यह आपको दो तालिकाओं के बीच संबंध खोजने की अनुमति देता है।
- हैश फंकशनहैश फ़ंक्शन एक मैपिंग फ़ंक्शन है जो खोज कुंजियों के सभी सेट को उस पते पर मैप करता है जहां वास्तविक रिकॉर्ड रखे जाते हैं।
- रैखिक जांच - रैखिक जांच जांच के बीच एक निश्चित अंतराल है। इस विधि में, पुराने रिकॉर्ड पर ओवरराइटिंग करने के बजाय, नए रिकॉर्ड को दर्ज करने के लिए अगले उपलब्ध डेटा ब्लॉक का उपयोग किया जाता है।
- द्विघात जांच- यह आपको नया बकेट पता निर्धारित करने में मदद करता है। यह आपको मूल गणना द्वारा दिए गए प्रारंभिक मान में द्विघात बहुपद के क्रमिक आउटपुट को जोड़कर जांच के बीच अंतराल जोड़ने में मदद करता है।
- हैश इंडेक्स - यह डेटा ब्लॉक का पता है। हैश फ़ंक्शन एक सरल गणितीय फ़ंक्शन से लेकर एक जटिल गणितीय फ़ंक्शन भी हो सकता है।
- Double hashing -Double हैशिंग एक कंप्यूटर प्रोग्रामिंग विधि है जिसका उपयोग हैश तालिकाओं में टकराव के मुद्दों को हल करने के लिए किया जाता है।
- बाल्टी ओवरफ्लोबकेट-ओवरफ्लो की स्थिति को टकराव कहा जाता है। यह किसी भी स्थिर कार्य के लिए घातक अवस्था है।
हैशिंग तकनीकों के प्रकार
SQL हैशिंग विधियाँ/तकनीकें मुख्यतः दो प्रकार की होती हैं:
- स्थैतिक हैशिंग
- गतिशील हैशिंग
स्थैतिक हैशिंग
स्थैतिक हैशिंग में, परिणामी डेटा बकेट पता हमेशा एक जैसा रहेगा।
इसलिए, यदि आप कहें कि एक पता उत्पन्न करते हैं छात्र_आईडी = 10 हैशिंग फ़ंक्शन का उपयोग करना मॉड(3), परिणामी बकेट पता हमेशा होगा 1. इसलिए, आपको बकेट पते में कोई बदलाव नहीं दिखेगा।
इसलिए, इस स्थैतिक हैशिंग विधि में, मेमोरी में डेटा बकेट की संख्या हमेशा स्थिर रहती है।
स्थैतिक हैश फ़ंक्शन
- रिकॉर्ड सम्मिलित करना: जब तालिका में कोई नया रिकॉर्ड डालने की आवश्यकता होती है, तो आप उसकी हैश कुंजी का उपयोग करके नए रिकॉर्ड के लिए पता बना सकते हैं। जब पता बनाया जाता है, तो रिकॉर्ड स्वचालित रूप से उस स्थान पर संग्रहीत हो जाता है।
- खोजनाजब आपको रिकॉर्ड पुनः प्राप्त करने की आवश्यकता होती है, तो वही हैश फ़ंक्शन उस बकेट का पता पुनः प्राप्त करने में सहायक होना चाहिए जहां डेटा संग्रहीत किया जाना चाहिए।
- रिकॉर्ड मिटाएँहैश फ़ंक्शन का उपयोग करके, आप सबसे पहले उस रिकॉर्ड को प्राप्त कर सकते हैं जिसे आप हटाना चाहते हैं। फिर आप मेमोरी में उस पते के रिकॉर्ड हटा सकते हैं।
स्थैतिक हैशिंग को आगे विभाजित किया गया है
- ओपन हैशिंग
- हैशिंग बंद करें.
ओपन हैशिंग
ओपन हैशिंग विधि में, पुराने को अधिलेखित करने के बजाय, नए रिकॉर्ड को दर्ज करने के लिए अगले उपलब्ध डेटा ब्लॉक का उपयोग किया जाता है, इस विधि को रैखिक जांच के रूप में भी जाना जाता है।
उदाहरण के लिए, A2 एक नया रिकॉर्ड है जिसे आप सम्मिलित करना चाहते हैं। हैश फ़ंक्शन 222 के रूप में पता उत्पन्न करता है। लेकिन यह पहले से ही किसी अन्य मान द्वारा कब्जा कर लिया गया है। यही कारण है कि सिस्टम अगले डेटा बकेट 501 की तलाश करता है और उसे A2 असाइन करता है।

हैशिंग बंद करें
क्लोज हैशिंग विधि में, जब बकेट भर जाती है, तो उसी हैश के लिए एक नई बकेट आवंटित की जाती है और परिणाम को पिछले एक के बाद लिंक किया जाता है।
गतिशील हैशिंग
डायनेमिक हैशिंग एक ऐसा तंत्र प्रदान करता है जिसमें डेटा बकेट को गतिशील रूप से और मांग पर जोड़ा और हटाया जाता है। इस हैशिंग में, हैश फ़ंक्शन आपको बड़ी संख्या में मान बनाने में मदद करता है।
ऑर्डर्ड इंडेक्सिंग और हैशिंग के बीच अंतर
इंडेक्सिंग और हैशिंग के बीच मुख्य अंतर नीचे दिए गए हैं
पैरामीटर्स | ऑर्डर इंडेक्सिंग | hashing |
---|---|---|
पते का भंडारण | मेमोरी में पते एक कुंजी मान के अनुसार क्रमबद्ध होते हैं जिसे प्राथमिक कुंजी कहा जाता है | पते हमेशा कुंजी मान पर हैश फ़ंक्शन का उपयोग करके उत्पन्न किए जाते हैं। |
प्रदर्शन | हैश फ़ाइल में डेटा बढ़ने पर यह घट सकता है। चूंकि यह डेटा को क्रमबद्ध रूप में संग्रहीत करता है, जब कोई भी (इन्सर्ट/डिलीट/अपडेट) ऑपरेशन किया जाता है, जिससे इसका प्रदर्शन कम हो जाता है। | हैशिंग का प्रदर्शन तब सबसे अच्छा होगा जब डेटा का निरंतर जोड़ और विलोपन हो। हालाँकि, जब डेटाबेस बहुत बड़ा होता है, तो हैश फ़ाइल संगठन और उसका रखरखाव महंगा होगा। |
के लिए उपयोग | डेटा की रेंज पुनर्प्राप्ति के लिए पसंदीदा - जिसका अर्थ है कि जब भी किसी विशेष रेंज के लिए डेटा पुनर्प्राप्ति हो, तो यह विधि एक आदर्श विकल्प है। | यह एक आदर्श विधि है जब आप खोज कुंजी के आधार पर किसी विशेष रिकॉर्ड को पुनः प्राप्त करना चाहते हैं। हालाँकि, यह तभी अच्छा प्रदर्शन करेगा जब हैश फ़ंक्शन खोज कुंजी पर होगा। |
स्मृति प्रबंधन | डिलीट/अपडेट ऑपरेशन के कारण कई अप्रयुक्त डेटा ब्लॉक होंगे। इन डेटा ब्लॉक को पुनः उपयोग के लिए जारी नहीं किया जा सकता। इसलिए मेमोरी का नियमित रखरखाव आवश्यक है। | स्थैतिक और गतिशील हैशिंग विधियों में, मेमोरी को हमेशा प्रबंधित किया जाता है। स्थैतिक हैशिंग को विस्तारित करने के लिए बकेट ओवरफ़्लो को भी पूरी तरह से संभाला जाता है। |
टक्कर क्या है?
हैश टकराव एक ऐसी स्थिति है जब डेटा सेट में दो या अधिक डेटा से परिणामी हैश, डेटा सेट में एक ही स्थान को गलत तरीके से मैप करते हैं। हैश टेबल.
हैशिंग टकराव से कैसे निपटें?
हैश टकराव से बचने के लिए आप दो तकनीक का उपयोग कर सकते हैं:
- पुनर्लेखनयह विधि, एक द्वितीयक हैश फ़ंक्शन को आमंत्रित करती है, जो तब तक लगातार लागू होती है जब तक कि एक खाली स्लॉट नहीं मिल जाता है, जहां एक रिकॉर्ड रखा जाना चाहिए।
- चेनिंग: चेनिंग विधि उन आइटम की लिंक्ड सूची बनाती है जिनकी कुंजी समान मान पर हैश होती है। इस विधि को प्रत्येक तालिका स्थिति के लिए एक अतिरिक्त लिंक फ़ील्ड की आवश्यकता होती है।
सारांश
- In डीबीएमएसहैशिंग, इंडेक्स संरचना का उपयोग किए बिना डिस्क पर वांछित डेटा के स्थान को सीधे खोजने की एक तकनीक है।
- हैशिंग विधि का उपयोग डेटाबेस में आइटमों को अनुक्रमित करने और पुनः प्राप्त करने के लिए किया जाता है, क्योंकि किसी विशिष्ट आइटम को उसके मूल मान के बजाय छोटी हैश कुंजी का उपयोग करके खोजना अधिक तेज़ होता है।
- डेटा बकेट, कुंजी, हैश फ़ंक्शन, रैखिक जांच, द्विघात जांच, हैश इंडेक्स, Double हैशिंग, बकेट ओवरफ्लो हैशिंग में प्रयुक्त महत्वपूर्ण शब्दावलियाँ हैं
- हैशिंग विधियाँ दो प्रकार की होती हैं 1) स्टैटिक हैशिंग 2) डायनेमिक हैशिंग
- स्थैतिक हैशिंग में, परिणामी डेटा बकेट पता हमेशा एक जैसा रहेगा।
- डायनेमिक हैशिंग एक ऐसी प्रणाली प्रदान करता है जिसमें डेटा बकेट को गतिशील रूप से और मांग के अनुसार जोड़ा और हटाया जाता है।
- अनुक्रमणिका में मेमोरी में पते महत्वपूर्ण मान के अनुसार क्रमबद्ध किए जाते हैं, जबकि हैशिंग में पते हमेशा कुंजी मान पर हैश फ़ंक्शन का उपयोग करके उत्पन्न किए जाते हैं।
- हैश टकराव वह स्थिति है जब डेटा सेट में दो या अधिक डेटा से परिणामी हैश, हैश तालिका में एक ही स्थान पर गलत तरीके से मैप हो जाते हैं।
- रीहैशिंग और चेनिंग दो विधियाँ हैं जो आपको हैशिंग टकराव से बचने में मदद करती हैं।