Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> SQL

NoSQL क्या है और क्या यह डेटाबेस में अगला बड़ा ट्रेंड है?


NoSQL क्या है?

आधिकारिक विकी परिभाषा के अनुसार: "एक NoSQL (मूल रूप से "नॉन SQL" या "नॉन रिलेशनल" को संदर्भित करता है) डेटाबेस डेटा के भंडारण और पुनर्प्राप्ति के लिए एक तंत्र प्रदान करता है जिसे रिलेशनल डेटाबेस (RDBMS) में उपयोग किए जाने वाले सारणीबद्ध संबंधों के अलावा अन्य साधनों में मॉडल किया जाता है। इसमें विभिन्न डेटाबेस तकनीकों की एक विस्तृत विविधता शामिल है जो उपयोगकर्ताओं, वस्तुओं और उत्पादों के बारे में संग्रहीत डेटा की मात्रा में वृद्धि, इस डेटा तक पहुंच की आवृत्ति, और प्रदर्शन और प्रसंस्करण आवश्यकताओं के जवाब में विकसित की गई थीं। आमतौर पर, NoSQL डेटाबेस की-वैल्यू पेयर, ग्राफ डेटाबेस, डॉक्यूमेंट-ओरिएंटेड या कॉलम-ओरिएंटेड संरचना में संरचित होते हैं।

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

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

RDBMS की चुनौतियां

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

RDBMS पर NoSQL के लाभ

स्कीमा-लेस - NoSQL डेटाबेस स्कीमा-लेस होने के कारण कोई सख्त डेटा संरचना परिभाषित नहीं करते।

डायनामिक और फुर्तीला - NoSQL डेटाबेस में बदलती आवश्यकताओं के साथ गतिशील रूप से बढ़ने की अच्छी प्रवृत्ति होती है। यह संरचित, अर्ध-संरचित और असंरचित डेटा को संभाल सकता है।

क्षैतिज स्केलिंग - SQL डेटाबेस के विपरीत जो वर्टिकली स्केल करते हैं, NoSQL अधिक सर्वर जोड़कर और शार्डिंग और रेप्लिकेशन की अवधारणाओं का उपयोग करके क्षैतिज रूप से स्केल करता है। NoSQL का यह व्यवहार अमेज़ॅन वेब सर्विसेज (AWS) जैसी क्लाउड कंप्यूटिंग सेवाओं के अनुकूल है जो आपको वर्चुअल सर्वर को संभालने की अनुमति देता है जिसे मांग पर क्षैतिज रूप से विस्तारित किया जा सकता है।

बेहतर प्रदर्शन - सभी NoSQL डेटाबेस पारंपरिक RDBMS कार्यान्वयन की तुलना में बेहतर और तेज़ प्रदर्शन देने का दावा करते हैं।

सीमाओं के बारे में बात करते हुए, चूंकि NoSQL डेटाबेस का एक पूरा सेट है (और एक सिंगल डेटाबेस नहीं), सीमाएं डेटाबेस से डेटाबेस में भिन्न होती हैं। इनमें से कुछ डेटाबेस ACID ट्रांजैक्शन का समर्थन नहीं करते जबकि उनमें से कुछ विश्वसनीयता में कमी हो सकती है। लेकिन उनमें से प्रत्येक की अपनी ताकत होती है जिसके कारण वे विशिष्ट आवश्यकताओं के लिए उपयुक्त होते हैं।

NoSQL डेटाबेस के प्रकार

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

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

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

की-वैल्यू डेटाबेस - एक कुंजी/मान जोड़े की कुंजी सेट में एक अद्वितीय मान है और डेटा तक पहुंचने के लिए आसानी से लुकअप किया जा सकता है। कुंजी/मान जोड़े विविध प्रकार के होते हैं: कुछ डेटा को मेमोरी में रखते हैं और कुछ डेटा को डिस्क पर बनाए रखने की क्षमता प्रदान करते हैं। एक सरल, फिर भी शक्तिशाली, की/वैल्यू स्टोर Oracle का Berkeley DB है।

लोकप्रिय NoSQL डेटाबेस

  • डॉक्यूमेंट-ओरिएंटेड: MongoDB, HBase, Cassandra, Amazon SimpleDB, Hypertable, आदि।
  • ग्राफ-आधारित: Neo4j, OrientDB, Facebook Open Graph, FlockDB, आदि।
  • कॉलम-आधारित: CouchDB, OrientDB, आदि।
  • की-वैल्यू: Membase, Redis, MemcacheDB, आदि।

निष्कर्ष

इस लेख में, हमने सीखा कि NoSQL डेटाबेस तकनीक क्या है और यह मुख्य रूप से RDBMS कार्यान्वयन से कैसे भिन्न है। फिर हमने विभिन्न प्रकार के NoSQL डेटाबेस, उनके अनुप्रयोगों और प्रत्येक प्रकार के कुछ सबसे लोकप्रिय डेटाबेस का पता लगाया।

आज बहुत सारे संगठन अपने विशाल डेटासेट और उच्च-स्केल एप्लिकेशन के लिए ऐसे डेटाबेस को अपना रहे हैं। यह दर्शाता है कि NoSQL निश्चित रूप से वेब और डेटाबेस प्रौद्योगिकियों में अगली बड़ी चीज होने जा रहा है जिसमें RDBMS की वर्षों लंबी विरासत को तोड़ने की क्षमता है।

  1. स्पूलर सबसिस्टम ऐप क्या है और क्या यह सुरक्षित है? स्पूलर सबसिस्टम ऐप क्या है और क्या यह सुरक्षित है?

    विंडोज ऑपरेटिंग सिस्टम पर लगभग सभी सिस्टम प्रोसेस, ऐप्स, और सेवाओं की अपनी एक्जीक्यूटेबल (.exe) फाइलें होती हैं। उदाहरण के लिए, SMSS.exe माइक्रोसॉफ्ट मैनेजमेंट कंसोल को शक्ति देता है, MMC.exe माइक्रोसॉफ्ट मैनेजमेंट कंसोल को शक्ति देता है, और इसी तरह। आमतौर पर, विंडोज को आपके पीसी पर आवश्यक कार्यों

  1. Windows Registry क्या है और मैं इसे कैसे संपादित करूं? Windows Registry क्या है और मैं इसे कैसे संपादित करूं?

    Windows Registry पहली नज़र में एक डरावनी जगह है। यह एक ऐसी जगह है जहां पावर यूजर्स Windows सेटिंग्स बदल सकते हैं जो कहीं और उजागर नहीं होतीं। जब आप Windows में कुछ बदलने का तरीका खोजते हैं, तो आप अक्सर रजिस्ट्री संपादित करने के लिए कहने वाले लेख पाते हैं। यदि आपको रजिस्ट्री संपादित करने की आवश्यकता

  1. गोपनीयता और सुरक्षा को 5 आसान नए साल के संकल्पों से सुधारें गोपनीयता और सुरक्षा को 5 आसान नए साल के संकल्पों से सुधारें

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