नोएसक्यूएल

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

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

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

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

इतिहास
गैर-संरचित क्वेरी भाषा शब्द का उपयोग 1998 में कार्लो स्ट्रोज़ी द्वारा अपने सामान्य स्ट्रोज़ी गैर-संरचित क्वेरी भाषा मुक्त स्त्रोत संबंधपरक डेटाबेस के नाम के लिए किया गया था, जो मानक संरचित क्वेरी भाषा (संरचित क्वेरी भाषा) इंटरफ़ेस को प्रकट नहीं करता था, लेकिन फिर भी संबंधपरक था। उनका गैर-संरचित क्वेरी भाषा संबंधपरक डेटाबेस प्रबंधन प्रणाली लगभग 2009 के गैर-संरचित क्वेरी भाषा डेटाबेस की सामान्य अवधारणा से अलग है। स्ट्रोज़ी का सुझाव है कि, क्योंकि वर्तमान गैर-संरचित क्वेरी भाषा गतिविधि संबंधपरक मॉडल से पूरी तरह से अलग हो जाता है, इसलिए इसे" संबंधपरक नहीं "का संदर्भ देते हुए, इसे अधिक उपयुक्त रूप से 'गैर-अधिकारों की अभिव्यक्ति भाषा' कहा जाना चाहिए।

जोहान ऑस्करसन, जो उस समय Last.fm के एक डेवलपर थे, ने 2009 के प्रारंभ में गैर-संरचित क्वेरी भाषा शब्द को फिर से प्रस्तुत किया जब उन्होंने मुक्त स्त्रोत वितरित, गैर-संबंधपरक डेटाबेस पर चर्चा करने के लिए एक प्रोग्राम आयोजित किया। नाम ने गैर-संबंधपरक, वितरित डेटा संग्रहणों की बढ़ती संख्या के प्रदर्शन को लेबल करने का प्रयास किया, जिसमें गूगल के बिगटेबल /मैपरेडस और अमेज़ॅन के अमेज़न डायनेमोडीबी के मुक्त-स्त्रोत क्लोन सम्मिलित हैं।

प्रकार और उदाहरण
गैर-संरचित क्वेरी भाषा डेटाबेस को वर्गीकृत करने के विभिन्न तरीके हैं, विभिन्न श्रेणियों और उपश्रेणियों के साथ, जिनमें से कुछ ओवरलैप (अतिव्याप्त) हैं। उदाहरण के साथ, डेटा मॉडल द्वारा गैर-विस्तृत वर्गीकरण क्या है:

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

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

कुंजी-मान संग्रहण अंतिम स्थिरता से क्रमिकता तक निरंतरता मॉडल का उपयोग कर सकते हैं। कुछ डेटाबेस कुंजियों के क्रम का समर्थन करते हैं। विभिन्न हार्डवेयर कार्यान्वयन हैं, और कुछ उपयोगकर्ता मेमोरी (रेंडम एक्सेस मेमोरी) में डेटा संग्रहण करते हैं, जब अन्य ठोस अवस्था ड्राइव (एसएसडी) या हार्ड डिस्क ड्राइव (उर्फ हार्ड डिस्क ड्राइव (एचडीडी)) पर संग्रहीत किया जाता है।

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

अलग-अलग कार्यान्वयन दस्तावेज़ों को व्यवस्थित करने और/या समूहीकृत करने के अलग-अलग तरीके प्रदान करते हैं:
 * संग्रह
 * टैग
 * गैर-दृश्यमान मेटाडेटा
 * निर्देशिका पदानुक्रम

संबंधपरक डेटाबेस की तुलना में, संग्रह को तालिकाओं और अभिलेखों के अनुरूप दस्तावेज़ के अनुरूप माना जा सकता है। लेकिन वे भिन्न हैं: तालिका में प्रत्येक रिकॉर्ड में क्षेत्र का समान क्रम होता है, जबकि संग्रह में दस्तावेज़ों में क्षेत्र पूरी तरह से अलग हो सकते हैं।

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


 * ग्राफ़ डेटाबेस और उनकी क्वेरी भाषा

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

बेन स्कोफिल्ड ने गैर-संरचित क्वेरी भाषा डेटाबेस की विभिन्न श्रेणियों का मूल्यांकन इस प्रकार किया है:

प्रदर्शन और मापनीयता की तुलना सामान्य रूप से वाईसीएसबी बेंचमार्क का उपयोग करके की जाती है।

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

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

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

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

एसीआईडी ​​​​और समर्थन में शामिल हों
एक डेटाबेस को एसीआईडी ​​​​गुणों (परमाणुता, संगति, अलगाव, स्थायित्व) या जॉइन (एसक्यूएल) संचालन का समर्थन करने के रूप में चिह्नित किया जाता है यदि डेटाबेस के लिए प्रलेखन यह दावा करता है। हालाँकि, इसका मतलब यह नहीं है कि क्षमता अधिकांश SQL डेटाबेस के समान तरीके से पूरी तरह से समर्थित है। {| class="wikitable" ! Database !! ACID !! Joins
 * Aerospike || Yes || No
 * Apache Ignite || Yes || Yes
 * ArangoDB || Yes || Yes
 * Amazon DynamoDB || Yes || No
 * Couchbase || Yes || Yes
 * CouchDB || Yes || Yes
 * IBM Db2 || Yes || Yes
 * InfinityDB || Yes || No
 * LMDB || Yes || No
 * MarkLogic || Yes || Yes{{refn|name=MarkLogicJoins|group=nb|Joins do not necessarily apply to document databases, but MarkLogic can do joins using semantics.
 * CouchDB || Yes || Yes
 * IBM Db2 || Yes || Yes
 * InfinityDB || Yes || No
 * LMDB || Yes || No
 * MarkLogic || Yes || Yes{{refn|name=MarkLogicJoins|group=nb|Joins do not necessarily apply to document databases, but MarkLogic can do joins using semantics.
 * InfinityDB || Yes || No
 * LMDB || Yes || No
 * MarkLogic || Yes || Yes{{refn|name=MarkLogicJoins|group=nb|Joins do not necessarily apply to document databases, but MarkLogic can do joins using semantics.
 * MarkLogic || Yes || Yes{{refn|name=MarkLogicJoins|group=nb|Joins do not necessarily apply to document databases, but MarkLogic can do joins using semantics.
 * MarkLogic || Yes || Yes{{refn|name=MarkLogicJoins|group=nb|Joins do not necessarily apply to document databases, but MarkLogic can do joins using semantics.

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

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

यह भी देखें

 * कैप प्रमेय
 * वस्तु डेटाबेस प्रबंधन प्रणालियों की तुलना
 * संरचित भंडारण सॉफ्टवेयर की तुलना
 * C ++
 * डेटाबेस स्केलेबिलिटी
 * वितरित कैश
 * स्वरूप खोज
 * मल्टीवैल्यू डेटाबेस
 * बहु-मॉडल डेटाबेस
 * ट्रिपलसंग्रहण
 * स्कीमा-एग्नोस्टिक डेटाबेस