आईएसएएम: Difference between revisions

From Vigyanwiki
m (Deepak moved page मैं हूँ to आईएसएएम without leaving a redirect)
No edit summary
Line 2: Line 2:
{{about|the IBM file access method|others|ISAM (disambiguation)}}
{{about|the IBM file access method|others|ISAM (disambiguation)}}
{{For|the Amon Tobin album|ISAM (album)}}
{{For|the Amon Tobin album|ISAM (album)}}
{{Refimprove section|date=January 2014|talk=Anchor}}
आईएसएएम (अनुक्रमित अनुक्रमिक पहुंच विधि का संक्षिप्त रूप) डेटा की [[कम्प्यूटर फाइल]] को बनाने, बनाए रखने की एक विधि होती है जिससे कि रिकॉर्ड को एक या अधिक [[कुंजी (कंप्यूटिंग)]] द्वारा अनुक्रमिक या यादृच्छिक रूप से पुनर्प्राप्त किया जा सकता है। [[अनुक्रमित फ़ाइल|अनुक्रमित फाइलों]] में आवश्यक फाइल रिकॉर्ड की तेजी से पुनर्प्राप्ति प्राप्त करने के लिए प्रमुख फ़ील्ड के अनुक्रमणिका बनाए रखी जाती है। [[आईबीएम]] ने मूल रूप से [[ मेनफ़्रेम कंप्यूटर |मेनफ़्रेम कंप्यूटरों]] के लिए आईएसएएम विकसित किया था, लेकिन अधिकांश कंप्यूटर प्रणाली के लिए कार्यान्वयन उपलब्ध थे।
आईएसएएम (अनुक्रमित अनुक्रमिक पहुंच विधि का संक्षिप्त रूप) डेटा की [[कम्प्यूटर फाइल]] को बनाने, बनाए रखने और हेरफेर करने की एक विधि है ताकि रिकॉर्ड को एक या अधिक [[कुंजी (कंप्यूटिंग)]] द्वारा अनुक्रमिक या यादृच्छिक रूप से पुनर्प्राप्त किया जा सके। [[अनुक्रमित फ़ाइल]]ों में आवश्यक फ़ाइल रिकॉर्ड की तेजी से पुनर्प्राप्ति प्राप्त करने के लिए प्रमुख फ़ील्ड के अनुक्रमणिका बनाए रखी जाती हैं। [[आईबीएम]] ने मूल रूप से [[ मेनफ़्रेम कंप्यूटर ]]ों के लिए आईएसएएम विकसित किया था, लेकिन अधिकांश कंप्यूटर सिस्टम के लिए कार्यान्वयन उपलब्ध हैं।


''आईएसएएम'' शब्द का प्रयोग कई संबंधित अवधारणाओं के लिए किया जाता है:
''आईएसएएम'' शब्द का प्रयोग कई संबंधित अवधारणाओं के लिए किया जाता है:
*आईबीएम आईएसएएम उत्पाद और इसके द्वारा प्रयुक्त [[कलन विधि]]<ref>{{cite journal | title=वीएसएएम के मुक्त-स्थान व्यवहार का विश्लेषण| author=Chin, Y.H. | journal=VLDB '75: Proceedings of the 1st International Conference on Very Large Data Bases | year=1975 | pages=514–515| doi=10.1145/1282480.1282529 | isbn=9781450318181 | s2cid=11082747 }}</ref>
*आईबीएम आईएसएएम उत्पाद और इसके द्वारा प्रयुक्त [[कलन विधि]] है<ref>{{cite journal | title=वीएसएएम के मुक्त-स्थान व्यवहार का विश्लेषण| author=Chin, Y.H. | journal=VLDB '75: Proceedings of the 1st International Conference on Very Large Data Bases | year=1975 | pages=514–515| doi=10.1145/1282480.1282529 | isbn=9781450318181 | s2cid=11082747 }}</ref>
*एक [[डेटाबेस]] प्रणाली जहां एक एप्लिकेशन डेवलपर डेटा फ़ाइलों में रिकॉर्ड का पता लगाने के लिए इंडेक्स खोजने के लिए सीधे [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] का उपयोग करता है। इसके विपरीत, एक [[ संबंध का डेटाबेस ]] एक [[क्वेरी अनुकूलक]] का उपयोग करता है जो स्वचालित रूप से इंडेक्स का चयन करता है।<ref>{{cite web | url=http://www.techrepublic.com/article/explore-the-differences-between-isam-and-relational-databases/ | title=ISAM और रिलेशनल डेटाबेस के बीच अंतर का अन्वेषण करें| date=2004-02-13 | access-date=17 October 2014 | author=Bogue, Robert L.}}</ref>
*एक [[डेटाबेस]] प्रणाली जहां एक एप्लिकेशन विकासक डेटा फ़ाइलों में रिकॉर्ड का पता लगाने के लिए अनुक्रमणिका खोजने के लिए सीधे [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] का उपयोग करता है। इसके विपरीत, एक [[ संबंध का डेटाबेस |संबंध का डेटाबेस]] एक [[क्वेरी अनुकूलक]] का उपयोग करता है जो स्वचालित रूप से इंडेक्स का चयन करता है।<ref>{{cite web | url=http://www.techrepublic.com/article/explore-the-differences-between-isam-and-relational-databases/ | title=ISAM और रिलेशनल डेटाबेस के बीच अंतर का अन्वेषण करें| date=2004-02-13 | access-date=17 October 2014 | author=Bogue, Robert L.}}</ref>
*एक अनुक्रमण एल्गोरिथ्म जो डेटा तक अनुक्रमिक और कुंजीबद्ध दोनों पहुंच की अनुमति देता है।<ref>{{cite journal | title=अतिप्रवाह श्रृखंला के साथ सूचकांक-अनुक्रमिक फ़ाइलों का विश्लेषण| author=Larson, Per-Åke | journal=ACM Transactions on Database Systems | year=1981 | volume=6 | issue=4| pages=671–680 | doi=10.1145/319628.319665 | s2cid=16261748 }}</ref> अधिकांश डेटाबेस इस उद्देश्य के लिए [[ बी-वृक्ष ]] की कुछ भिन्नता का उपयोग करते हैं, हालांकि मूल आईबीएम आईएसएएम और वीएसएएम कार्यान्वयन ने ऐसा नहीं किया।
*एक अनुक्रमण एल्गोरिथ्म जो डेटा तक अनुक्रमिक और कुंजीबद्ध दोनों की अनुमति देता है।<ref>{{cite journal | title=अतिप्रवाह श्रृखंला के साथ सूचकांक-अनुक्रमिक फ़ाइलों का विश्लेषण| author=Larson, Per-Åke | journal=ACM Transactions on Database Systems | year=1981 | volume=6 | issue=4| pages=671–680 | doi=10.1145/319628.319665 | s2cid=16261748 }}</ref> अधिकांश डेटाबेस इस उद्देश्य के लिए [[ बी-वृक्ष |बी-ट्री]] की कुछ भिन्नता का उपयोग करते है, चूंकि मूल आईबीएम आईएसएएम और वीएसएएम कार्यान्वयन ने ऐसा नहीं किया था।
*आम तौर पर, डेटाबेस के लिए कोई भी सूचकांक। इंडेक्स का उपयोग लगभग सभी डेटाबेस द्वारा किया जाता है।
*सामान्यतः, डेटाबेस के लिए सूचकांक अनुक्रमणिका का उपयोग लगभग सभी डेटाबेस द्वारा किया जाता है।


==संगठन==
==संगठन==
आईएसएएम प्रणाली में, डेटा को [[रिकॉर्ड (कंप्यूटर विज्ञान)]] में व्यवस्थित किया जाता है जो निश्चित लंबाई वाले फ़ील्ड से बने होते हैं, जो मूल रूप से कुंजी अनुक्रम में क्रमिक रूप से संग्रहीत होते हैं। रिकॉर्ड के द्वितीयक सेट, जिन्हें इंडेक्स के रूप में जाना जाता है, में प्रत्येक रिकॉर्ड के स्थान के लिए संकेतक होते हैं, जिससे पूरे डेटा सेट को खोजे बिना व्यक्तिगत रिकॉर्ड को पुनः प्राप्त करने की अनुमति मिलती है। यह समसामयिक [[नेविगेशनल डेटाबेस]] से भिन्न है, जिसमें अन्य रिकॉर्ड के संकेतक स्वयं रिकॉर्ड के अंदर संग्रहीत होते थे। आईएसएएम में मुख्य सुधार यह है कि इंडेक्स छोटे होते हैं और इन्हें जल्दी से खोजा जा सकता है, संभवतः पूरी तरह से मेमोरी में, जिससे डेटाबेस को केवल उन रिकॉर्ड्स तक पहुंचने की अनुमति मिलती है जिनकी उसे आवश्यकता होती है। डेटा में अतिरिक्त संशोधनों के लिए अन्य डेटा में बदलाव की आवश्यकता नहीं होती है, केवल संबंधित तालिका और अनुक्रमणिका में बदलाव की आवश्यकता होती है।
आईएसएएम प्रणाली में, डेटा को [[रिकॉर्ड (कंप्यूटर विज्ञान)]] में व्यवस्थित किया जाता है जो निश्चित लंबाई वाले फ़ील्ड से बने होते है, जो मूल रूप से कुंजी अनुक्रम में क्रमिक रूप से संग्रहीत होते है। रिकॉर्ड के द्वितीयक सेट, जिन्हें इंडेक्स के रूप में जाना जाता है, में प्रत्येक रिकॉर्ड के स्थान के लिए संकेतक होते है, जिससे पूरे डेटा सेट को खोजे बिना व्यक्तिगत रिकॉर्ड को पुनः प्राप्त करने की अनुमति मिलती है। यह समसामयिक [[नेविगेशनल डेटाबेस]] से भिन्न है, जिसमें अन्य रिकॉर्ड के संकेतक स्वयं रिकॉर्ड के अंदर संग्रहीत होते थे। आईएसएएम में मुख्य सुधार यह है कि इंडेक्स छोटे होते है और इन्हें जल्दी से खोजा जा सकता है, संभवतः पूरी तरह से मेमोरी में, जिससे डेटाबेस को केवल उन रिकॉर्ड्स तक पहुंचने की अनुमति मिलती है जिनकी उसे आवश्यकता होती है। डेटा में अतिरिक्त संशोधनों के लिए अन्य डेटा में बदलाव की आवश्यकता नहीं होती है, केवल संबंधित तालिका और अनुक्रमणिका में बदलाव की आवश्यकता होती है।ka


जब एक आईएसएएम फ़ाइल बनाई जाती है, तो इंडेक्स नोड्स तय हो जाते हैं, और उनके पॉइंटर्स बाद में होने वाले इंसर्ट और डिलीट के दौरान नहीं बदलते हैं (केवल लीफ नोड्स की सामग्री बाद में बदलती है)। इसके परिणामस्वरूप, यदि कुछ लीफ नोड में इंसर्ट नोड की क्षमता से अधिक हो जाता है, तो नए रिकॉर्ड ओवरफ्लो श्रृंखलाओं में संग्रहीत हो जाते हैं। यदि किसी तालिका से हटाए जाने की तुलना में बहुत अधिक प्रविष्टियां हैं, तो ये अतिप्रवाह श्रृंखलाएं धीरे-धीरे बहुत बड़ी हो सकती हैं, और यह रिकॉर्ड की पुनर्प्राप्ति के लिए आवश्यक समय को प्रभावित करती है।<ref name="DMS">Ramakrishnan Raghu, Gehrke Johannes - Database Management Systems, McGraw-Hill Higher Education (2000), 2nd edition (en) page 252</ref>
जब एक आईएसएएम फ़ाइल बनाई जाती है, तो इंडेक्स नोड्स तय हो जाते है, और उनके पॉइंटर्स बाद में होने वाले इंसर्ट और डिलीट के दौरान नहीं बदलते है (केवल लीफ नोड्स की सामग्री बाद में बदलती है)। इसके परिणामस्वरूप, यदि कुछ लीफ नोड में इंसर्ट नोड की क्षमता से अधिक हो जाता है, तो नए रिकॉर्ड ओवरफ्लो श्रृंखलाओं में संग्रहीत हो जाते है। यदि किसी तालिका से हटाए जाने की तुलना में बहुत अधिक प्रविष्टियां है, तो ये अतिप्रवाह श्रृंखलाएं धीरे-धीरे बहुत बड़ी हो सकती है, और यह रिकॉर्ड की पुनर्प्राप्ति के लिए आवश्यक समय को प्रभावित करती है।<ref name="DMS">Ramakrishnan Raghu, Gehrke Johannes - Database Management Systems, McGraw-Hill Higher Education (2000), 2nd edition (en) page 252</ref>
तालिकाओं के बीच लिंक की वैधता बनाए रखने के लिए तर्क के अतिरिक्त [[संबंधपरक डेटाबेस प्रबंधन प्रणाली]] को आसानी से आईएसएएम ढांचे पर बनाया जा सकता है। आमतौर पर लिंक के रूप में उपयोग की जाने वाली फ़ील्ड, [[विदेशी कुंजी]], को त्वरित लुकअप के लिए अनुक्रमित किया जाएगा। हालांकि यह सीधे रिकॉर्ड में संबंधित डेटा के पॉइंटर को संग्रहीत करने की तुलना में धीमा है, लेकिन इसका मतलब यह भी है कि डेटा के भौतिक लेआउट में बदलाव के लिए पॉइंटर्स के किसी भी अद्यतन की आवश्यकता नहीं है - प्रविष्टि अभी भी मान्य होगी।
तालिकाओं के बीच लिंक की वैधता बनाए रखने के लिए तर्क के अतिरिक्त [[संबंधपरक डेटाबेस प्रबंधन प्रणाली]] को आसानी से आईएसएएम ढांचे पर बनाया जा सकता है। आमतौर पर लिंक के रूप में उपयोग की जाने वाली फ़ील्ड, [[विदेशी कुंजी]], को त्वरित लुकअप के लिए अनुक्रमित किया जाएगा। चूंकि यह सीधे रिकॉर्ड में संबंधित डेटा के पॉइंटर को संग्रहीत करने की तुलना में धीमा है, लेकिन इसका मतलब यह भी है कि डेटा के भौतिक लेआउट में बदलाव के लिए पॉइंटर्स के किसी भी अद्यतन की आवश्यकता नहीं है - प्रविष्टि अभी भी मान्य होगी।


आईएसएएम को समझना और लागू करना आसान है, क्योंकि इसमें मुख्य रूप से डेटाबेस फ़ाइल तक सीधी पहुंच शामिल है। ट्रेड-ऑफ़ यह है कि प्रत्येक क्लाइंट मशीन को उसके द्वारा एक्सेस की जाने वाली प्रत्येक फ़ाइल के लिए अपना स्वयं का कनेक्शन प्रबंधित करना होगा। यह, बदले में, उन फ़ाइलों में परस्पर विरोधी प्रविष्टियों की संभावना को जन्म देता है, जिससे असंगत डेटाबेस स्थिति उत्पन्न होती है। इसे रोकने के लिए, कुछ ISAM कार्यान्वयन<ref name=":0" /><ref>{{Cite web|title=सी-आईएसएएम प्रोग्रामर मैनुअल|url=http://publibfp.dhe.ibm.com/epubs/pdf/7897b.pdf|url-status=live}}</ref> संपूर्ण-फ़ाइल या व्यक्तिगत रिकॉर्ड [[फ़ाइल लॉक करना]] कार्यक्षमता प्रदान करें। जब तक डेडलॉक रोकथाम एल्गोरिदम योजना का सख्ती से पालन नहीं किया जाता है, तब तक कई रिकॉर्ड लॉक करने से [[गतिरोध]] का खतरा रहता है। लॉकिंग और डेडलॉक की समस्याओं को आम तौर पर [[ ग्राहक सर्वर ]] फ्रेमवर्क के साथ हल किया जाता है जो क्लाइंट के अनुरोधों को मार्शल करता है और ऑर्डर बनाए रखता है। पूर्ण [[ACID]] लेनदेन प्रबंधन प्रणालियाँ कुछ ISAM क्लाइंट-सर्वर कार्यान्वयन द्वारा प्रदान की जाती हैं।<ref name=":0" />ये [[डेटाबेस प्रबंधन प्रणाली]] (डीबीएमएस) के पीछे की मूल अवधारणाएं हैं, जो अंतर्निहित डेटा स्टोर पर एक क्लाइंट परत है।
आईएसएएम को समझना और लागू करना आसान है, क्योंकि इसमें मुख्य रूप से डेटाबेस फ़ाइल तक सीधी पहुंच शामिल है। ट्रेड-ऑफ़ यह है कि प्रत्येक क्लाइंट मशीन को उसके द्वारा एक्सेस की जाने वाली प्रत्येक फ़ाइल के लिए अपना स्वयं का कनेक्शन प्रबंधित करना होगा। यह, बदले में, उन फ़ाइलों में परस्पर विरोधी प्रविष्टियों की संभावना को जन्म देता है, जिससे असंगत डेटाबेस स्थिति उत्पन्न होती है। इसे रोकने के लिए, कुछ आईएसएएम कार्यान्वयन<ref name=":0" /><ref>{{Cite web|title=सी-आईएसएएम प्रोग्रामर मैनुअल|url=http://publibfp.dhe.ibm.com/epubs/pdf/7897b.pdf|url-status=live}}</ref> संपूर्ण-फ़ाइल या व्यक्तिगत रिकॉर्ड [[फ़ाइल लॉक करना]] कार्यक्षमता प्रदान करें। जब तक डेडलॉक रोकथाम एल्गोरिदम योजना का सख्ती से पालन नहीं किया जाता है, तब तक कई रिकॉर्ड लॉक करने से [[गतिरोध]] का खतरा रहता है। लॉकिंग और डेडलॉक की समस्याओं को सामान्यतः [[ ग्राहक सर्वर |ग्राहक सर्वर]] फ्रेमवर्क के साथ हल किया जाता है जो क्लाइंट के अनुरोधों को मार्शल करता है और ऑर्डर बनाए रखता है। पूर्ण [[ACID]] लेनदेन प्रबंधन प्रणालियाँ कुछ आईएसएएम क्लाइंट-सर्वर कार्यान्वयन द्वारा प्रदान की जाती है।<ref name=":0" />ये [[डेटाबेस प्रबंधन प्रणाली]] (डीबीएमएस) के पीछे की मूल अवधारणाएं है, जो अंतर्निहित डेटा स्टोर पर एक क्लाइंट परत है।


ISAM को IBM में [[ वर्चुअल स्टोरेज एक्सेस विधि ]] (वर्चुअल स्टोरेज एक्सेस मेथड) नामक एक पद्धति से बदल दिया गया था। फिर भी बाद में, IBM ने IBM SQL/DS|SQL/DS और फिर [[IBM Db2]] विकसित किया, जिसे IBM अपने प्राथमिक डेटाबेस प्रबंधन प्रणाली के रूप में प्रचारित करता है। VSAM Db2 में प्रयुक्त भौतिक पहुंच विधि है।{{cn|date=September 2019}}
आईएसएएम को IBM में [[ वर्चुअल स्टोरेज एक्सेस विधि |वर्चुअल स्टोरेज एक्सेस विधि]] (वर्चुअल स्टोरेज एक्सेस मेथड) नामक एक पद्धति से बदल दिया गया था। फिर भी बाद में, IBM ने IBM SQL/DS|SQL/DS और फिर [[IBM Db2]] विकसित किया, जिसे IBM अपने प्राथमिक डेटाबेस प्रबंधन प्रणाली के रूप में प्रचारित करता है। VSAM Db2 में प्रयुक्त भौतिक पहुंच विधि है।


==OpenVMS==
==OpenVMS==
[[ ओपन VMS ]] ऑपरेटिंग सिस्टम आरएमएस (रिकॉर्ड प्रबंधन सेवाओं) के साथ फाइल-11 फाइल सिस्टम का उपयोग करता है। आरएमएस एप्लिकेशन और डिस्क पर फ़ाइलों के बीच एक अतिरिक्त परत प्रदान करता है जो डेटा संगठन की एक सुसंगत विधि और कई 3जीएल और 4जीएल भाषाओं तक पहुंच प्रदान करता है। आरएमएस डेटा तक पहुंचने के चार अलग-अलग तरीके प्रदान करता है; अनुक्रमिक, सापेक्ष रिकॉर्ड संख्या पहुंच, रिकॉर्ड फ़ाइल पता पहुंच, और अनुक्रमित पहुंच।
[[ ओपन VMS |ओपन VMS]] ऑपरेटिंग प्रणाली आरएमएस (रिकॉर्ड प्रबंधन सेवाओं) के साथ फाइल-11 फाइल प्रणाली का उपयोग करता है। आरएमएस एप्लिकेशन और डिस्क पर फ़ाइलों के बीच एक अतिरिक्त परत प्रदान करता है जो डेटा संगठन की एक सुसंगत विधि और कई 3जीएल और 4जीएल भाषाओं तक पहुंच प्रदान करता है। आरएमएस डेटा तक पहुंचने के चार अलग-अलग तरीके प्रदान करता है; अनुक्रमिक, सापेक्ष रिकॉर्ड संख्या पहुंच, रिकॉर्ड फ़ाइल पता पहुंच, और अनुक्रमित पहुंच।


डेटा को पढ़ने या लिखने की अनुक्रमित पहुंच विधि केवल वांछित परिणाम प्रदान करती है यदि वास्तव में फ़ाइल उपयुक्त, पहले से परिभाषित कुंजियों के साथ आईएसएएम फ़ाइल के रूप में व्यवस्थित होती है। पहले से परिभाषित कुंजी(कुंजियों) के माध्यम से डेटा तक पहुंच बेहद तेज़ है। हैश तालिकाओं के भीतर एकाधिक कुंजियाँ, ओवरलैपिंग कुंजियाँ और कुंजी संपीड़न समर्थित हैं। मौजूदा फ़ाइलों में कुंजियों को परिभाषित/पुनः परिभाषित करने की उपयोगिता प्रदान की गई है। रिकॉर्ड्स को हटाया जा सकता है, हालाँकि कचरा संग्रहण एक अलग उपयोगिता के माध्यम से किया जाता है।
डेटा को पढ़ने या लिखने की अनुक्रमित पहुंच विधि केवल वांछित परिणाम प्रदान करती है यदि वास्तव में फ़ाइल उपयुक्त, पहले से परिभाषित कुंजियों के साथ आईएसएएम फ़ाइल के रूप में व्यवस्थित होती है। पहले से परिभाषित कुंजी(कुंजियों) के माध्यम से डेटा तक पहुंच बेहद तेज़ है। हैश तालिकाओं के भीतर एकाधिक कुंजियाँ, ओवरलैपिंग कुंजियाँ और कुंजी संपीड़न समर्थित है। मौजूदा फ़ाइलों में कुंजियों को परिभाषित/पुनः परिभाषित करने की उपयोगिता प्रदान की गई है। रिकॉर्ड्स को हटाया जा सकता है, हालाँकि कचरा संग्रहण एक अलग उपयोगिता के माध्यम से किया जाता है।


==डिज़ाइन संबंधी विचार==
==डिज़ाइन संबंधी विचार==
IBM इंजीनियरों ने न्यूनतम मात्रा में [[ स्मृति ]] का उपयोग करने के लिए ISAM प्रणाली को डिज़ाइन किया। समझौता यह था कि चैनल I/O|इनपुट/आउटपुट चैनल, नियंत्रण इकाई और डिस्क को अधिक व्यस्त रखा गया था। एक ISAM फ़ाइल में डेटा रिकॉर्ड का संग्रह और सूचकांक के दो या तीन स्तर होते हैं। ट्रैक इंडेक्स में प्रत्येक [[ट्रैक (डिस्क ड्राइव)]] के लिए [[सिलेंडर-हेड-सेक्टर]]#सिलेंडर पर उच्चतम कुंजी होती है। सिलेंडर इंडेक्स एक सिलेंडर पर उच्चतम कुंजी और संबंधित ट्रैक इंडेक्स के सिलेंडर-हेड-सेक्टर को संग्रहीत करता है। एक वैकल्पिक मास्टर इंडेक्स, जो आमतौर पर केवल बड़ी फ़ाइलों के लिए उपयोग किया जाता है, में सिलेंडर इंडेक्स ट्रैक पर उच्चतम कुंजी और उस सिलेंडर इंडेक्स का डिस्क पता होता है। एक बार फ़ाइल लोड होने के बाद डेटा रिकॉर्ड स्थानांतरित नहीं होते हैं; सम्मिलित रिकॉर्ड को एक अलग अतिप्रवाह क्षेत्र में रखा जाता है। कुंजी द्वारा रिकॉर्ड का पता लगाने के लिए डिस्क पर इंडेक्स को एक जटिल Self-modifying_code#Channel प्रोग्राम|self-modifying Channel_I/O#Channel प्रोग्राम द्वारा खोजा जाता है।<ref name="LIOCS">{{cite book |last1=IBM Corporation |title=DOS/VS LIOCS Volume 3: DAM and ISAM Logic |date=1973 |pages=[https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118/page/n62 63]–72 |url=https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118 |access-date=Dec 30, 2018}}</ref> इससे चैनल, नियंत्रण इकाई और डिस्क का व्यस्त समय बढ़ गया। बाद के सिस्टम में भौतिक और आभासी मेमोरी आकार में वृद्धि के साथ इसे अक्षम के रूप में देखा गया, और वीएसएएम को मेमोरी उपयोग और डिस्क गतिविधि के बीच ट्रेडऑफ़ को बदलने के लिए विकसित किया गया था।
IBM इंजीनियरों ने न्यूनतम मात्रा में [[ स्मृति |स्मृति]] का उपयोग करने के लिए आईएसएएम प्रणाली को डिज़ाइन किया था। एक आईएसएएम फ़ाइल में डेटा रिकॉर्ड का संग्रह और सूचकांक के दो या तीन स्तर होते है। ट्रैक इंडेक्स में प्रत्येक [[ट्रैक (डिस्क ड्राइव)]] के लिए [[सिलेंडर-हेड-सेक्टर]]#सिलेंडर पर उच्चतम कुंजी होती है। सिलेंडर इंडेक्स एक सिलेंडर पर उच्चतम कुंजी और संबंधित ट्रैक इंडेक्स के सिलेंडर-हेड-सेक्टर को संग्रहीत करता है। एक वैकल्पिक मास्टर इंडेक्स, जो आमतौर पर केवल बड़ी फ़ाइलों के लिए उपयोग किया जाता है, में सिलेंडर इंडेक्स ट्रैक पर उच्चतम कुंजी और उस सिलेंडर इंडेक्स का डिस्क पता होता है। एक बार फ़ाइल लोड होने के बाद डेटा रिकॉर्ड स्थानांतरित नहीं होते है; सम्मिलित रिकॉर्ड को एक अलग अतिप्रवाह क्षेत्र में रखा जाता है। कुंजी द्वारा रिकॉर्ड का पता लगाने के लिए डिस्क पर इंडेक्स को एक जटिल Self-modifying_code#Channel प्रोग्राम|self-modifying Channel_I/O#Channel प्रोग्राम द्वारा खोजा जाता है।<ref name="LIOCS">{{cite book |last1=IBM Corporation |title=DOS/VS LIOCS Volume 3: DAM and ISAM Logic |date=1973 |pages=[https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118/page/n62 63]–72 |url=https://archive.org/details/bitsavers_ibm370DOSVIOCSVolume3DAMandISAMLogicRel28Jun73_36886118 |access-date=Dec 30, 2018}}</ref> इससे चैनल, नियंत्रण इकाई और डिस्क का व्यस्त समय बढ़ गया। बाद के प्रणाली में भौतिक और आभासी मेमोरी आकार में वृद्धि के साथ इसे अक्षम के रूप में देखा गया, और वीएसएएम को मेमोरी उपयोग और डिस्क गतिविधि के बीच ट्रेडऑफ़ को बदलने के लिए विकसित किया गया था।
 
ISAM के स्व-संशोधित चैनल प्रोग्राम के उपयोग ने बाद में OS/360 के [[CP-67]] समर्थन के लिए कठिनाइयों का कारण बना दिया, क्योंकि I/O ऑपरेशन शुरू होने पर CP-67 ने पूरे चैनल प्रोग्राम को निश्चित मेमोरी में कॉपी कर लिया और वर्चुअल पते को वास्तविक पते में अनुवादित किया।<ref>{{cite book |last1=IBM Corporation |title=IBM Virtual Machine Facility /370: Planning Guide |date=1972 |page=45 |url=http://www.bitsavers.org/pdf/ibm/370/VM_370/Release_1/GC20-1801-0_VM370_Planning_Guide_Aug72.pdf |access-date=Jan 8, 2018}}</ref>
 


आईएसएएम के स्व-संशोधित चैनल प्रोग्राम के उपयोग ने बाद में OS/360 के [[CP-67]] समर्थन के लिए कठिनाइयों का कारण बना दिया, क्योंकि I/O ऑपरेशन प्रारंभ होने पर CP-67 ने पूरे चैनल प्रोग्राम को निश्चित मेमोरी में कॉपी कर लिया और वर्चुअल एड्रैस को वास्तविक एड्रैस में अनुवादित किया।<ref>{{cite book |last1=IBM Corporation |title=IBM Virtual Machine Facility /370: Planning Guide |date=1972 |page=45 |url=http://www.bitsavers.org/pdf/ibm/370/VM_370/Release_1/GC20-1801-0_VM370_Planning_Guide_Aug72.pdf |access-date=Jan 8, 2018}}</ref>
== आईएसएएम-शैली कार्यान्वयन ==
== आईएसएएम-शैली कार्यान्वयन ==
*[[एडवांटेज डेटाबेस सर्वर]] डेटाबेस मैनेजर
*[[एडवांटेज डेटाबेस सर्वर]] डेटाबेस मैनेजर
Line 41: Line 38:
*[[dBase]] और संबंधित उत्पाद [[क्लिपर (प्रोग्रामिंग भाषा)]] और [[फॉक्सप्रो]]
*[[dBase]] और संबंधित उत्पाद [[क्लिपर (प्रोग्रामिंग भाषा)]] और [[फॉक्सप्रो]]
*[[डिजिटल उपकरण निगम]] रिकॉर्ड प्रबंधन सेवाएँ
*[[डिजिटल उपकरण निगम]] रिकॉर्ड प्रबंधन सेवाएँ
*[[ अंकित करना ]] एचपी टेंडेम संरचित फ़ाइल एक्सेस विधि है
*[[ अंकित करना |अंकित करना]] एचपी टेंडेम संरचित फ़ाइल एक्सेस विधि है
*[[एक्स्टेंसिबल स्टोरेज इंजन]]
*[[एक्स्टेंसिबल स्टोरेज इंजन]]
*[[डेटाबेस इंजन तक पहुंचें]] (एसीई और पूर्व में जेट) [[ माइक्रोसॉफ्ट पहुंच ]] द्वारा उपयोग किया जाता है
*[[डेटाबेस इंजन तक पहुंचें]] (एसीई और पूर्व में जेट) [[ माइक्रोसॉफ्ट पहुंच |माइक्रोसॉफ्ट पहुंच]] द्वारा उपयोग किया जाता है
*[[MySQL]] ISAM को [[MyISAM]] के रूप में लागू और विस्तारित करता है
*[[MySQL|एसक्यूअल]] आईएसएएम को [[MyISAM|आईएसएएम]] के रूप में लागू और विस्तारित करता है
*[[विरोधाभास (डेटाबेस)]]
*[[विरोधाभास (डेटाबेस)]]
*pblIsam GPL कार्यान्वयन C में लिखा गया है<ref>{{cite web|last1=Graf|first1=Peter|title=pblIsamफ़ाइल कार्यान्वयन|url=http://www.mission-base.com/peter/source/pbl/doc/isamfile.html|website=mission-base.com|access-date=Sep 8, 2017}}</ref>
*आईएसएएम GPL कार्यान्वयन C में लिखा गया है<ref>{{cite web|last1=Graf|first1=Peter|title=pblIsamफ़ाइल कार्यान्वयन|url=http://www.mission-base.com/peter/source/pbl/doc/isamfile.html|website=mission-base.com|access-date=Sep 8, 2017}}</ref>
*[[नींबू]] डेटाबेस मैनेजर
*[[नींबू]] डेटाबेस मैनेजर
*[[सुपरबेस (डेटाबेस)]] परिवार
*[[सुपरबेस (डेटाबेस)]]
*[[डीबीएम (कंप्यूटिंग)]] डीबीएम और फ्लैट फ़ाइल डेटाबेस एक साथ काम कर रहे हैं
*[[डीबीएम (कंप्यूटिंग)]] डीबीएम और फ्लैट फ़ाइल डेटाबेस एक साथ काम कर रहे है


== यह भी देखें ==
== यह भी देखें ==

Revision as of 12:16, 20 July 2023

आईएसएएम (अनुक्रमित अनुक्रमिक पहुंच विधि का संक्षिप्त रूप) डेटा की कम्प्यूटर फाइल को बनाने, बनाए रखने की एक विधि होती है जिससे कि रिकॉर्ड को एक या अधिक कुंजी (कंप्यूटिंग) द्वारा अनुक्रमिक या यादृच्छिक रूप से पुनर्प्राप्त किया जा सकता है। अनुक्रमित फाइलों में आवश्यक फाइल रिकॉर्ड की तेजी से पुनर्प्राप्ति प्राप्त करने के लिए प्रमुख फ़ील्ड के अनुक्रमणिका बनाए रखी जाती है। आईबीएम ने मूल रूप से मेनफ़्रेम कंप्यूटरों के लिए आईएसएएम विकसित किया था, लेकिन अधिकांश कंप्यूटर प्रणाली के लिए कार्यान्वयन उपलब्ध थे।

आईएसएएम शब्द का प्रयोग कई संबंधित अवधारणाओं के लिए किया जाता है:

  • आईबीएम आईएसएएम उत्पाद और इसके द्वारा प्रयुक्त कलन विधि है[1]
  • एक डेटाबेस प्रणाली जहां एक एप्लिकेशन विकासक डेटा फ़ाइलों में रिकॉर्ड का पता लगाने के लिए अनुक्रमणिका खोजने के लिए सीधे अप्लिकेशन प्रोग्रामिंग अंतरफलक का उपयोग करता है। इसके विपरीत, एक संबंध का डेटाबेस एक क्वेरी अनुकूलक का उपयोग करता है जो स्वचालित रूप से इंडेक्स का चयन करता है।[2]
  • एक अनुक्रमण एल्गोरिथ्म जो डेटा तक अनुक्रमिक और कुंजीबद्ध दोनों की अनुमति देता है।[3] अधिकांश डेटाबेस इस उद्देश्य के लिए बी-ट्री की कुछ भिन्नता का उपयोग करते है, चूंकि मूल आईबीएम आईएसएएम और वीएसएएम कार्यान्वयन ने ऐसा नहीं किया था।
  • सामान्यतः, डेटाबेस के लिए सूचकांक अनुक्रमणिका का उपयोग लगभग सभी डेटाबेस द्वारा किया जाता है।

संगठन

आईएसएएम प्रणाली में, डेटा को रिकॉर्ड (कंप्यूटर विज्ञान) में व्यवस्थित किया जाता है जो निश्चित लंबाई वाले फ़ील्ड से बने होते है, जो मूल रूप से कुंजी अनुक्रम में क्रमिक रूप से संग्रहीत होते है। रिकॉर्ड के द्वितीयक सेट, जिन्हें इंडेक्स के रूप में जाना जाता है, में प्रत्येक रिकॉर्ड के स्थान के लिए संकेतक होते है, जिससे पूरे डेटा सेट को खोजे बिना व्यक्तिगत रिकॉर्ड को पुनः प्राप्त करने की अनुमति मिलती है। यह समसामयिक नेविगेशनल डेटाबेस से भिन्न है, जिसमें अन्य रिकॉर्ड के संकेतक स्वयं रिकॉर्ड के अंदर संग्रहीत होते थे। आईएसएएम में मुख्य सुधार यह है कि इंडेक्स छोटे होते है और इन्हें जल्दी से खोजा जा सकता है, संभवतः पूरी तरह से मेमोरी में, जिससे डेटाबेस को केवल उन रिकॉर्ड्स तक पहुंचने की अनुमति मिलती है जिनकी उसे आवश्यकता होती है। डेटा में अतिरिक्त संशोधनों के लिए अन्य डेटा में बदलाव की आवश्यकता नहीं होती है, केवल संबंधित तालिका और अनुक्रमणिका में बदलाव की आवश्यकता होती है।ka

जब एक आईएसएएम फ़ाइल बनाई जाती है, तो इंडेक्स नोड्स तय हो जाते है, और उनके पॉइंटर्स बाद में होने वाले इंसर्ट और डिलीट के दौरान नहीं बदलते है (केवल लीफ नोड्स की सामग्री बाद में बदलती है)। इसके परिणामस्वरूप, यदि कुछ लीफ नोड में इंसर्ट नोड की क्षमता से अधिक हो जाता है, तो नए रिकॉर्ड ओवरफ्लो श्रृंखलाओं में संग्रहीत हो जाते है। यदि किसी तालिका से हटाए जाने की तुलना में बहुत अधिक प्रविष्टियां है, तो ये अतिप्रवाह श्रृंखलाएं धीरे-धीरे बहुत बड़ी हो सकती है, और यह रिकॉर्ड की पुनर्प्राप्ति के लिए आवश्यक समय को प्रभावित करती है।[4] तालिकाओं के बीच लिंक की वैधता बनाए रखने के लिए तर्क के अतिरिक्त संबंधपरक डेटाबेस प्रबंधन प्रणाली को आसानी से आईएसएएम ढांचे पर बनाया जा सकता है। आमतौर पर लिंक के रूप में उपयोग की जाने वाली फ़ील्ड, विदेशी कुंजी, को त्वरित लुकअप के लिए अनुक्रमित किया जाएगा। चूंकि यह सीधे रिकॉर्ड में संबंधित डेटा के पॉइंटर को संग्रहीत करने की तुलना में धीमा है, लेकिन इसका मतलब यह भी है कि डेटा के भौतिक लेआउट में बदलाव के लिए पॉइंटर्स के किसी भी अद्यतन की आवश्यकता नहीं है - प्रविष्टि अभी भी मान्य होगी।

आईएसएएम को समझना और लागू करना आसान है, क्योंकि इसमें मुख्य रूप से डेटाबेस फ़ाइल तक सीधी पहुंच शामिल है। ट्रेड-ऑफ़ यह है कि प्रत्येक क्लाइंट मशीन को उसके द्वारा एक्सेस की जाने वाली प्रत्येक फ़ाइल के लिए अपना स्वयं का कनेक्शन प्रबंधित करना होगा। यह, बदले में, उन फ़ाइलों में परस्पर विरोधी प्रविष्टियों की संभावना को जन्म देता है, जिससे असंगत डेटाबेस स्थिति उत्पन्न होती है। इसे रोकने के लिए, कुछ आईएसएएम कार्यान्वयन[5][6] संपूर्ण-फ़ाइल या व्यक्तिगत रिकॉर्ड फ़ाइल लॉक करना कार्यक्षमता प्रदान करें। जब तक डेडलॉक रोकथाम एल्गोरिदम योजना का सख्ती से पालन नहीं किया जाता है, तब तक कई रिकॉर्ड लॉक करने से गतिरोध का खतरा रहता है। लॉकिंग और डेडलॉक की समस्याओं को सामान्यतः ग्राहक सर्वर फ्रेमवर्क के साथ हल किया जाता है जो क्लाइंट के अनुरोधों को मार्शल करता है और ऑर्डर बनाए रखता है। पूर्ण ACID लेनदेन प्रबंधन प्रणालियाँ कुछ आईएसएएम क्लाइंट-सर्वर कार्यान्वयन द्वारा प्रदान की जाती है।[5]ये डेटाबेस प्रबंधन प्रणाली (डीबीएमएस) के पीछे की मूल अवधारणाएं है, जो अंतर्निहित डेटा स्टोर पर एक क्लाइंट परत है।

आईएसएएम को IBM में वर्चुअल स्टोरेज एक्सेस विधि (वर्चुअल स्टोरेज एक्सेस मेथड) नामक एक पद्धति से बदल दिया गया था। फिर भी बाद में, IBM ने IBM SQL/DS|SQL/DS और फिर IBM Db2 विकसित किया, जिसे IBM अपने प्राथमिक डेटाबेस प्रबंधन प्रणाली के रूप में प्रचारित करता है। VSAM Db2 में प्रयुक्त भौतिक पहुंच विधि है।

OpenVMS

ओपन VMS ऑपरेटिंग प्रणाली आरएमएस (रिकॉर्ड प्रबंधन सेवाओं) के साथ फाइल-11 फाइल प्रणाली का उपयोग करता है। आरएमएस एप्लिकेशन और डिस्क पर फ़ाइलों के बीच एक अतिरिक्त परत प्रदान करता है जो डेटा संगठन की एक सुसंगत विधि और कई 3जीएल और 4जीएल भाषाओं तक पहुंच प्रदान करता है। आरएमएस डेटा तक पहुंचने के चार अलग-अलग तरीके प्रदान करता है; अनुक्रमिक, सापेक्ष रिकॉर्ड संख्या पहुंच, रिकॉर्ड फ़ाइल पता पहुंच, और अनुक्रमित पहुंच।

डेटा को पढ़ने या लिखने की अनुक्रमित पहुंच विधि केवल वांछित परिणाम प्रदान करती है यदि वास्तव में फ़ाइल उपयुक्त, पहले से परिभाषित कुंजियों के साथ आईएसएएम फ़ाइल के रूप में व्यवस्थित होती है। पहले से परिभाषित कुंजी(कुंजियों) के माध्यम से डेटा तक पहुंच बेहद तेज़ है। हैश तालिकाओं के भीतर एकाधिक कुंजियाँ, ओवरलैपिंग कुंजियाँ और कुंजी संपीड़न समर्थित है। मौजूदा फ़ाइलों में कुंजियों को परिभाषित/पुनः परिभाषित करने की उपयोगिता प्रदान की गई है। रिकॉर्ड्स को हटाया जा सकता है, हालाँकि कचरा संग्रहण एक अलग उपयोगिता के माध्यम से किया जाता है।

डिज़ाइन संबंधी विचार

IBM इंजीनियरों ने न्यूनतम मात्रा में स्मृति का उपयोग करने के लिए आईएसएएम प्रणाली को डिज़ाइन किया था। एक आईएसएएम फ़ाइल में डेटा रिकॉर्ड का संग्रह और सूचकांक के दो या तीन स्तर होते है। ट्रैक इंडेक्स में प्रत्येक ट्रैक (डिस्क ड्राइव) के लिए सिलेंडर-हेड-सेक्टर#सिलेंडर पर उच्चतम कुंजी होती है। सिलेंडर इंडेक्स एक सिलेंडर पर उच्चतम कुंजी और संबंधित ट्रैक इंडेक्स के सिलेंडर-हेड-सेक्टर को संग्रहीत करता है। एक वैकल्पिक मास्टर इंडेक्स, जो आमतौर पर केवल बड़ी फ़ाइलों के लिए उपयोग किया जाता है, में सिलेंडर इंडेक्स ट्रैक पर उच्चतम कुंजी और उस सिलेंडर इंडेक्स का डिस्क पता होता है। एक बार फ़ाइल लोड होने के बाद डेटा रिकॉर्ड स्थानांतरित नहीं होते है; सम्मिलित रिकॉर्ड को एक अलग अतिप्रवाह क्षेत्र में रखा जाता है। कुंजी द्वारा रिकॉर्ड का पता लगाने के लिए डिस्क पर इंडेक्स को एक जटिल Self-modifying_code#Channel प्रोग्राम|self-modifying Channel_I/O#Channel प्रोग्राम द्वारा खोजा जाता है।[7] इससे चैनल, नियंत्रण इकाई और डिस्क का व्यस्त समय बढ़ गया। बाद के प्रणाली में भौतिक और आभासी मेमोरी आकार में वृद्धि के साथ इसे अक्षम के रूप में देखा गया, और वीएसएएम को मेमोरी उपयोग और डिस्क गतिविधि के बीच ट्रेडऑफ़ को बदलने के लिए विकसित किया गया था।

आईएसएएम के स्व-संशोधित चैनल प्रोग्राम के उपयोग ने बाद में OS/360 के CP-67 समर्थन के लिए कठिनाइयों का कारण बना दिया, क्योंकि I/O ऑपरेशन प्रारंभ होने पर CP-67 ने पूरे चैनल प्रोग्राम को निश्चित मेमोरी में कॉपी कर लिया और वर्चुअल एड्रैस को वास्तविक एड्रैस में अनुवादित किया।[8]

आईएसएएम-शैली कार्यान्वयन

यह भी देखें

संदर्भ

  1. Chin, Y.H. (1975). "वीएसएएम के मुक्त-स्थान व्यवहार का विश्लेषण". VLDB '75: Proceedings of the 1st International Conference on Very Large Data Bases: 514–515. doi:10.1145/1282480.1282529. ISBN 9781450318181. S2CID 11082747.
  2. Bogue, Robert L. (2004-02-13). "ISAM और रिलेशनल डेटाबेस के बीच अंतर का अन्वेषण करें". Retrieved 17 October 2014.
  3. Larson, Per-Åke (1981). "अतिप्रवाह श्रृखंला के साथ सूचकांक-अनुक्रमिक फ़ाइलों का विश्लेषण". ACM Transactions on Database Systems. 6 (4): 671–680. doi:10.1145/319628.319665. S2CID 16261748.
  4. Ramakrishnan Raghu, Gehrke Johannes - Database Management Systems, McGraw-Hill Higher Education (2000), 2nd edition (en) page 252
  5. 5.0 5.1 5.2 "सी के लिए फेयरकॉम आईएसएएम एपीआई - डेवलपर्स गाइड".{{cite web}}: CS1 maint: url-status (link)
  6. "सी-आईएसएएम प्रोग्रामर मैनुअल" (PDF).{{cite web}}: CS1 maint: url-status (link)
  7. IBM Corporation (1973). DOS/VS LIOCS Volume 3: DAM and ISAM Logic. pp. 63–72. Retrieved Dec 30, 2018.
  8. IBM Corporation (1972). IBM Virtual Machine Facility /370: Planning Guide (PDF). p. 45. Retrieved Jan 8, 2018.
  9. Graf, Peter. "pblIsamफ़ाइल कार्यान्वयन". mission-base.com. Retrieved Sep 8, 2017.