डेटाबेस स्केलेबिलिटी

From Vigyanwiki

डेटाबेस स्केलेबिलिटी संसाधनों को जोड़कर/हटाकर बदलती मांगों को संभालने के लिए डेटाबेस की क्षमता है। डेटाबेस इससे निपटने के लिए कई तकनीकों का उपयोग करता है।[1]

इतिहास

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

एक बार सॉफ़्टवेयर सीमाओं पर ध्यान दिए जाने के बाद, ध्यान हार्डवेयर की ओर गया था। कई क्षेत्रों में नवप्रवर्तन हुआ था। सबसे पहले मल्टीप्रोसेसर को सपोर्ट करना था। इसमें कई प्रोसेसरों को एक-दूसरे को अवरुद्ध किए बिना, साथ डेटाबेस अनुरोधों को संभालने की अनुमति देना सम्मिलित था। यह मल्टी-कोर प्रोसेसर या मल्टी-कोर प्रोसेसर के लिए समर्थन के रूप में विकसित हुआ था।

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

आयाम

डेटाबेस स्केलेबिलिटी के तीन मूलभूत आयाम हैं: डेटा की मात्रा, अनुरोधों की मात्रा और अनुरोधों का आकार या अनुरोध कई आकारों में आते हैं: लेनदेन सामान्यतः डेटा की छोटी मात्रा को प्रभावित करते हैं, किन्तु प्रति सेकंड हजारों तक पहुंच सकते हैं; विश्लेषणात्मक प्रश्न सामान्यतः कम होते हैं, किन्तु अधिक डेटा तक पहुंच सकते हैं। संबंधित अवधारणा लोच है, बदलते कार्यभार को पूरा करने के लिए पारदर्शी रूप से क्षमता जोड़ने और घटाने की सिस्टम की क्षमता का उपयोग किया जाता है।[10]

लंबवत

वर्टिकल डेटाबेस स्केलिंग का तात्पर्य है कि डेटाबेस सिस्टम अधिकतम रूप से कॉन्फ़िगर किए गए सिस्टम का पूरी तरह से लाभ उठा सकता है, जिसमें सामान्यतः बड़ी मेमोरी और विशाल स्टोरेज क्षमता वाले मल्टीप्रोसेसर सम्मिलित हैं। ऐसी सिस्टम्स संचालित करने में अपेक्षाकृत सरल होती हैं, किन्तु कम उपलब्धता प्रदान कर सकती हैं। चूँकि, किसी भी कंप्यूटर में अधिकतम कॉन्फ़िगरेशन होता है। यदि कार्यभार उस सीमा से अधिक बढ़ जाता है, जिससे विकल्प या तो अलग, अभी भी बड़े सिस्टम में स्थानांतरित करना है, या क्षैतिज स्केलेबिलिटी प्राप्त करने के लिए सिस्टम को फिर से व्यवस्थित करना है।[10]

क्षैतिज

क्षैतिज डेटाबेस स्केलिंग में एकल कार्यभार पर कार्य करने के लिए अधिक सर्वर जोड़ना सम्मिलित है। अधिकांश क्षैतिज रूप से स्केलेबल सिस्टम कार्यक्षमता समझौते के साथ आते हैं। यदि किसी एप्लिकेशन को अधिक कार्यक्षमता की आवश्यकता है, जिससे लंबवत स्केल किए गए सिस्टम में माइग्रेशन उत्तम हो सकता है।[10]

तकनीक

हार्डवेयर

डेटाबेस स्मार्टवॉच से लेकर सुपर कंप्यूटर से लेकर कई पारदर्शी रूप से पुन: कॉन्फ़िगर करने योग्य सर्वर फ़ार्म तक की क्षमता वाले व्यक्तिगत हार्डवेयर पर चलते हैं।[2]थ्रेड (कंप्यूटर विज्ञान) या मल्टी-थ्रेडेड कार्यान्वयन का उपयोग करके डेटाबेस को 64-बिट माइक्रोप्रोसेसर, मल्टी-कोर (कंप्यूटिंग) या मल्टी-कोर सीपीयू और बड़े सममित मल्टीप्रोसेसिंग पर चलाने के लिए लंबवत रूप से स्केल किया गया है।

कंटेंट

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

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

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

विभाजन

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

प्रतिकृति

प्रतिकृति डेटाबेस कई कंप्यूटरों पर तालिकाओं या डेटाबेस की प्रतियां बनाए रखते हैं। यह स्केलिंग तकनीक विशेष रूप से संभवतः ही कभी या कभी भी अद्यतन न होने वाले डेटा, जैसे लेनदेन इतिहास या कर तालिकाओं के लिए सुविधाजनक है।[6]

क्लस्टर्ड कंप्यूटर

एक ही कंप्यूटर की सीमा से आगे बढ़ने के लिए विभिन्न प्रकार के विधियों का उपयोग किया जाता है। इस प्रकार हेवलेट पैकार्ड एंटरप्राइज का नॉनस्टॉप एसक्यूएल साझा नथिंग आर्किटेक्चर का उपयोग करता है जिसमें न तो डेटा और न ही मेमोरी सर्वर सीमाओं के पार साझा की जाती है। इस प्रकार समन्वयक डेटाबेस अनुरोधों को सही सर्वर पर रूट करता है। यह आर्किटेक्चर निकट-रेखीय स्केलेबिलिटी प्रदान करता है।

व्यापक रूप से समर्थित एक्स/ओपन एक्सए मानक अर्ध-स्वायत्त एक्सए-अनुपालक लेनदेन संसाधनों के बीच वितरित लेनदेन को समन्वयित करने के लिए वैश्विक लेनदेन मॉनिटर को नियोजित करता है।

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

कुछ शोधकर्ता संबंधित डेटाबेस प्रबंधन सिस्टम की अंतर्निहित सीमाओं पर सवाल उठाते हैं। उदाहरण के लिए, गीगास्पेसेस का तर्क है कि प्रदर्शन और स्केलेबिलिटी प्राप्त करने के लिए अंतरिक्ष-आधारित आर्किटेक्चर की आवश्यकता है। इस प्रकार बेस वन मुख्यधारा संबंधित डेटाबेस तकनीक के अन्दर अत्यधिक स्केलेबिलिटी का स्थिति बनाते है।[14]

यह भी देखें

संदर्भ

  1. Bondi, André B. (2000). स्केलेबिलिटी की विशेषताएं और प्रदर्शन पर उनका प्रभाव. Proceedings of the second international workshop on Software and performance – WOSP '00. p. 195. doi:10.1145/350391.350432. ISBN 158113195X.
  2. 2.0 2.1 Chopra, Rajiv (2010). डेटाबेस प्रबंधन प्रणाली (डीबीएमएस) एक व्यावहारिक दृष्टिकोण (in English). S. Chand Publishing. p. 33. ISBN 9788121932455.
  3. 3.0 3.1 "Oracle में रो लॉक बनाम टेबल लॉक". www.dba-oracle.com. Retrieved 2019-04-11.
  4. "वास्तव में गैर-विघटनकारी उन्नयन के लिए साझा नथिंग आर्किटेक्चर के लाभ". solidfire.com. 2014-09-17. Archived from the original on 2015-04-24. Retrieved 2015-04-21.
  5. "वास्तविक अनुप्रयोग क्लस्टर प्रशासन और परिनियोजन मार्गदर्शिका". docs.oracle.com (in English). Retrieved 2019-04-11.
  6. 6.0 6.1 "डेटाबेस प्रतिकृति पर एक प्राइमर". www.brianstorti.com. Retrieved 2019-04-11.
  7. Martin Zapletal (2015-06-11). "टाइपसेफ रिएक्टिव प्लेटफॉर्म पर बड़ी मात्रा में डेटा विश्लेषण". {{cite journal}}: Cite journal requires |journal= (help)
  8. "Overview of Cloud Bigtable | Cloud Bigtable Documentation". Google Cloud (in English). Retrieved 2019-04-11.
  9. Aslett, Matthew (2011). "How Will The Database Incumbents Respond To NoSQL And NewSQL?" (PDF). 451 Group (published 2011-04-04). Retrieved 2012-07-06.
  10. 10.0 10.1 10.2 Branson, Tony (2016-12-06). "डेटाबेस स्केलेबिलिटी के दो मुख्य दृष्टिकोण". Infosecurity Magazine. Retrieved 2019-04-11.
  11. "क्लोजर - संदर्भ और लेनदेन". clojure.org. Retrieved 2019-04-12.
  12. "Introduction To Reverse Key Indexes: Part I". Richard Foote's Oracle Blog (in English). 2008-01-14. Retrieved 2019-04-13.
  13. "क्लस्टरिंग" (PDF). Oracle.com. Retrieved 2012-11-07.
  14. Base One (2007). "डेटाबेस स्केलेबिलिटी - डेटाबेस-केंद्रित वास्तुकला की सीमाओं के बारे में मिथकों को दूर करना". Retrieved May 23, 2007.

बाहरी संबंध