NoSQL क्या है?
आधिकारिक विकी परिभाषा के अनुसार:"ए NoSQL (मूल रूप से "नॉन एसक्यूएल" या "नॉन रिलेशनल" का जिक्र करते हुए) डेटाबेस डेटा के भंडारण और पुनर्प्राप्ति के लिए एक तंत्र प्रदान करता है जो संबंध डेटाबेस (आरडीबीएमएस) में उपयोग किए जाने वाले सारणीबद्ध संबंधों के अलावा अन्य तरीकों से तैयार किया जाता है। इसमें विभिन्न डेटाबेस प्रौद्योगिकियों की एक विस्तृत विविधता शामिल है जो उपयोगकर्ताओं, वस्तुओं और उत्पादों के बारे में संग्रहीत डेटा की मात्रा में वृद्धि, इस डेटा तक पहुंचने की आवृत्ति, और प्रदर्शन और प्रसंस्करण आवश्यकताओं के जवाब में विकसित की गई थी। आम तौर पर, NoSQL डेटाबेस एक की-वैल्यू पेयर, ग्राफ़ डेटाबेस, दस्तावेज़-ओरिएंटेड या कॉलम-ओरिएंटेड स्ट्रक्चर में संरचित होते हैं।
सॉफ्टवेयर विकास के दशकों और दशकों से, हम SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) के रूप में डेटाबेस का उपयोग कर रहे हैं जहाँ हम अपने डेटा को रिलेशनल टेबल में स्टोर करते हैं। हालाँकि, हाल के वर्षों में इंटरनेट और वेब 2.0 अनुप्रयोगों के उपयोग में जबरदस्त वृद्धि के साथ, डेटाबेस हजारों और हजारों टेराबाइट्स में विकसित हो गए हैं। फेसबुक, गूगल, अमेज़ॅन, वाट्सएप, आदि जैसे अनुप्रयोगों ने डेटाबेस प्रबंधन के एक पूरे नए युग को जन्म दिया, जो पारंपरिक डेटाबेस की तुलना में सरल डिजाइन, गति और तेज स्केलिंग के दृष्टिकोण का अनुसरण करता है। ऐसे डेटाबेस का उपयोग बड़े डेटा, बड़े पैमाने पर रीयल टाइम एप्लिकेशन और विश्लेषण में किया जाता है।
एक उदाहरण के रूप में, मान लें कि आपके पास एक ब्लॉगिंग एप्लिकेशन है जो उपयोगकर्ता ब्लॉगों को संग्रहीत करता है। अब मान लीजिए कि आपको अपने एप्लिकेशन में कुछ नई सुविधाओं को शामिल करना है जैसे कि उपयोगकर्ता इन ब्लॉग पोस्ट को पसंद करते हैं या उन पर टिप्पणी करते हैं या इन टिप्पणियों को पसंद करते हैं। एक विशिष्ट RDBMS कार्यान्वयन के साथ, इसके लिए आपके मौजूदा डेटाबेस डिज़ाइन में पूर्ण परिवर्तन की आवश्यकता होगी। हालाँकि, यदि आप ऐसे परिदृश्यों में NoSQL का उपयोग करते हैं, तो आप इन चुस्त आवश्यकताओं से मेल खाने के लिए अपनी डेटा संरचना को आसानी से संशोधित कर सकते हैं। नोएसक्यूएल के साथ आप बिना किसी नए पूर्व-परिभाषित कॉलम या पूर्व-परिभाषित संरचना बनाए बिना इस नए डेटा को सीधे अपनी मौजूदा संरचना में सम्मिलित करना शुरू कर सकते हैं।
आरडीबीएमएस की चुनौतियां
-
RDBMS डेटा की एक अच्छी तरह से परिभाषित संरचना को मानता है और मानता है कि डेटा काफी हद तक एक समान है।
-
इसे एप्लिकेशन बनाने से पहले आपके एप्लिकेशन और उसके गुणों (कॉलम, प्रकार, आदि) की स्कीमा को पहले से परिभाषित करने की आवश्यकता है। यह अत्यधिक गतिशील अनुप्रयोगों के लिए चुस्त विकास दृष्टिकोणों से अच्छी तरह मेल नहीं खाता है।
-
जैसे-जैसे डेटा बड़ा होना शुरू होता है, आपको अपने डेटाबेस को लंबवत रूप से स्केल करना होगा, यानी मौजूदा सर्वर में अधिक क्षमता जोड़ना।
RDBMS पर NoSQL के लाभ
कम स्कीमा -
NoSQL डेटाबेस स्कीमा-रहित होने के कारण किसी सख्त डेटा संरचना को परिभाषित नहीं करते हैं।
गतिशील और चुस्त -
NoSQL डेटाबेस में बदलती आवश्यकताओं के साथ गतिशील रूप से बढ़ने की अच्छी प्रवृत्ति होती है। यह संरचित, अर्ध-संरचित और असंरचित डेटा को संभाल सकता है।
क्षैतिज पैमाने -
SQL डेटाबेस के विपरीत, जो लंबवत रूप से स्केल करते हैं, NoSQL अधिक सर्वर जोड़कर और शार्पनिंग और प्रतिकृति की अवधारणाओं का उपयोग करके क्षैतिज रूप से स्केल करता है। NoSQL का यह व्यवहार Amazon Web Services (AWS) जैसी क्लाउड कंप्यूटिंग सेवाओं के साथ फिट बैठता है जो आपको वर्चुअल सर्वर को संभालने की अनुमति देता है जिसे मांग पर क्षैतिज रूप से विस्तारित किया जा सकता है।
बेहतर प्रदर्शन -
सभी NoSQL डेटाबेस पारंपरिक RDBMS कार्यान्वयन की तुलना में बेहतर और तेज़ प्रदर्शन देने का दावा करते हैं।
सीमाओं के बारे में बात करते हुए, चूंकि नोएसक्यूएल डेटाबेस का एक पूरा सेट है (और एक डेटाबेस नहीं), सीमाएं डेटाबेस से डेटाबेस में भिन्न होती हैं। इनमें से कुछ डेटाबेस एसीआईडी लेनदेन का समर्थन नहीं करते हैं, जबकि उनमें से कुछ में विश्वसनीयता की कमी हो सकती है। लेकिन उनमें से प्रत्येक की अपनी ताकत है जिसके कारण वे विशिष्ट आवश्यकताओं के लिए उपयुक्त हैं।
नोएसक्यूएल डेटाबेस के प्रकार
दस्तावेज़ उन्मुख डेटाबेस -
दस्तावेज़ उन्मुख डेटाबेस एक दस्तावेज़ को संपूर्ण मानते हैं और दस्तावेज़ को उसके घटक नाम/मूल्य जोड़े में विभाजित करने से बचते हैं। संग्रह स्तर पर, यह दस्तावेज़ों के विविध सेट को एक संग्रह में एक साथ रखने की अनुमति देता है। दस्तावेज़ डेटाबेस न केवल इसकी प्राथमिक पहचानकर्ता बल्कि इसके गुणों के आधार पर दस्तावेज़ों के अनुक्रमण की अनुमति देता है। विभिन्न ओपन-सोर्स दस्तावेज़ डेटाबेस आज उपलब्ध हैं लेकिन उपलब्ध विकल्पों में सबसे प्रमुख हैं MongoDB और CouchDB। वास्तव में, MongoDB सबसे लोकप्रिय NoSQL डेटाबेस में से एक बन गया है।
ग्राफ़ आधारित डेटाबेस -
एक ग्राफ़ डेटाबेस डेटा को दर्शाने और संग्रहीत करने के लिए नोड्स, किनारों और गुणों के साथ ग्राफ़ संरचनाओं का उपयोग करता है। परिभाषा के अनुसार, एक ग्राफ डेटाबेस कोई भी स्टोरेज सिस्टम है जो इंडेक्स-फ्री आसन्नता प्रदान करता है। इसका मतलब यह है कि प्रत्येक तत्व में उसके आसन्न तत्व के लिए एक सीधा सूचक होता है और कोई अनुक्रमणिका लुकअप आवश्यक नहीं है। सामान्य ग्राफ़ डेटाबेस जो किसी भी ग्राफ़ को स्टोर कर सकते हैं, विशेष ग्राफ़ डेटाबेस जैसे ट्रिपल-स्टोर और नेटवर्क डेटाबेस से अलग होते हैं। इंडेक्स का उपयोग ग्राफ़ को ट्रेस करने के लिए किया जाता है।
कॉलम आधारित डेटाबेस -
कॉलम-ओरिएंटेड स्टोरेज डेटा को प्रभावी ढंग से स्टोर करने की अनुमति देता है। जब उस कॉलम के लिए कोई मान मौजूद नहीं होता है, तो केवल एक कॉलम को स्टोर न करके नल को स्टोर करते समय यह अंतरिक्ष की खपत से बचता है। डेटा की प्रत्येक इकाई को कुंजी/मूल्य जोड़े के एक सेट के रूप में माना जा सकता है, जहां इकाई को प्राथमिक पहचानकर्ता की सहायता से पहचाना जाता है, जिसे अक्सर प्राथमिक कुंजी कहा जाता है। बिगटेबल और उसके क्लोन इस प्राथमिक कुंजी को रो-की कहते हैं।
प्रमुख मूल्य डेटाबेस -
कुंजी/मान युग्म की कुंजी सेट में एक अद्वितीय मान है और डेटा तक पहुंचने के लिए इसे आसानी से देखा जा सकता है। की/वैल्यू पेयर विभिन्न प्रकार के होते हैं:कुछ डेटा को मेमोरी में रखते हैं और कुछ डेटा को डिस्क पर बनाए रखने की क्षमता प्रदान करते हैं। Oracle का बर्कले DB एक सरल, फिर भी शक्तिशाली, कुंजी/मूल्य स्टोर है।
लोकप्रिय NoSQL डेटाबेस
आइए हम कुछ लोकप्रिय NoSQL डेटाबेस को संक्षेप में प्रस्तुत करते हैं जो क्रमशः उपरोक्त श्रेणियों में आते हैं।
- दस्तावेज़ उन्मुख डेटाबेस - MongoDB, HBase, Cassandra, Amazon SimpleDB, Hypertable, आदि।
- ग्राफ़ आधारित डेटाबेस − Neo4j, OrientDB, Facebook Open Graph, FlockDB, आदि
- स्तंभ आधारित डेटाबेस - काउचडीबी, ओरिएंटडीबी, आदि।
- प्रमुख मूल्य डेटाबेस - मेम्बेस, रेडिस, मेमकेचेडीबी, आदि।
नोएसक्यूएल डेटाबेस। छवि स्रोत:getfilecloud.com
निष्कर्ष
इस लेख में, हमने सीखा कि NoSQL डेटाबेस तकनीक क्या है और यह मुख्य रूप से RDBMS कार्यान्वयन से कैसे भिन्न है। फिर हमने विभिन्न प्रकार के NoSQL डेटाबेस, उनके अनुप्रयोगों और प्रत्येक प्रकार के कुछ सबसे लोकप्रिय डेटाबेस की खोज की।
आज बहुत सारे संगठन अपने विशाल डेटासेट और उच्च-स्तरीय अनुप्रयोगों के लिए ऐसे डेटाबेस को अपना रहे हैं। इससे पता चलता है कि NoSQL निश्चित रूप से वेब और डेटाबेस प्रौद्योगिकियों में अगली बड़ी चीज होने जा रही है, जिसमें RDBMS की वर्षों पुरानी विरासत को तोड़ने की क्षमता है।