संक्षिप्त नाम NoSQL 1998 में गढ़ा गया था। बहुत से लोग सोचते हैं कि NoSQL SQL पर पोक करने के लिए बनाया गया एक अपमानजनक शब्द है। वास्तव में, शब्द का अर्थ केवल SQL नहीं है। विचार यह है कि दोनों प्रौद्योगिकियां सह-अस्तित्व में आ सकती हैं और प्रत्येक का अपना स्थान है। NoSQL आंदोलन पिछले कुछ वर्षों में चर्चा में रहा है क्योंकि वेब 2.0 के कई नेताओं ने NoSQL तकनीक को अपनाया है। Facebook, Twitter, Digg, Amazon, LinkedIn और Google जैसी कंपनियां सभी किसी न किसी तरह से NoSQL का उपयोग करती हैं। आइए NoSQL को तोड़ते हैं ताकि आप इसे अपने CIO या अपने सहकर्मियों को भी समझा सकें।
NoSQL एक आवश्यकता से उभरा
डेटा संग्रहण: दुनिया के संग्रहीत डिजिटल डेटा को एक्साबाइट्स में मापा जाता है। एक एक्साबाइट एक अरब गीगाबाइट (जीबी) डेटा के बराबर होता है। Internet.com के अनुसार, 2006 में जोड़े गए संग्रहीत डेटा की मात्रा 161 एक्साबाइट थी। ठीक 4 साल बाद 2010 में, संग्रहीत डेटा की मात्रा लगभग 1,000 ExaBytes होगी जो कि 500% से अधिक की वृद्धि है। दूसरे शब्दों में, दुनिया में बहुत सारा डेटा संग्रहीत किया जा रहा है और यह लगातार बढ़ता ही जा रहा है।
इंटरकनेक्टेड डेटा: डेटा अधिक जुड़ा होना जारी है। वेब के निर्माण को हाइपरलिंक्स में बढ़ावा दिया गया है, ब्लॉग में पिंगबैक हैं और हर प्रमुख सोशल नेटवर्क सिस्टम में टैग हैं जो चीजों को एक साथ जोड़ते हैं। प्रमुख प्रणालियों को आपस में जोड़ने के लिए बनाया गया है।
जटिल डेटा संरचना: NoSQL पदानुक्रमित नेस्टेड डेटा संरचनाओं को आसानी से संभाल सकता है। SQL में एक ही चीज़ को पूरा करने के लिए, आपको सभी प्रकार की कुंजियों के साथ कई रिलेशनल टेबल की आवश्यकता होगी। इसके अलावा, प्रदर्शन और डेटा जटिलता के बीच एक संबंध है। पारंपरिक आरडीबीएमएस में प्रदर्शन खराब हो सकता है क्योंकि हम सोशल नेटवर्किंग अनुप्रयोगों और सिमेंटिक वेब में आवश्यक बड़ी मात्रा में डेटा संग्रहीत करते हैं।
NoSQL क्या है?
मुझे लगता है कि नोएसक्यूएल को परिभाषित करने का एक तरीका यह है कि यह क्या नहीं है। यह SQL नहीं है और यह संबंधपरक नहीं है। जैसा कि नाम से पता चलता है, यह RDBMS का प्रतिस्थापन नहीं है बल्कि इसकी तारीफ करता है। NoSQL को बहुत बड़े पैमाने पर डेटा की जरूरतों के लिए वितरित डेटा स्टोर के लिए डिज़ाइन किया गया है। 500,000,000 उपयोगकर्ताओं के साथ फेसबुक के बारे में सोचें या ट्विटर जो हर दिन टेराबिट डेटा जमा करता है।
नोएसक्यूएल डेटाबेस में, कोई निश्चित स्कीमा नहीं है और कोई जुड़ता नहीं है। एक RDBMS तेज़ और तेज़ हार्डवेयर प्राप्त करके और मेमोरी जोड़कर "स्केल अप" करता है। दूसरी ओर, NoSQL "स्केलिंग आउट" का लाभ उठा सकता है। स्केलिंग आउट का अर्थ है कई कमोडिटी सिस्टम पर लोड फैलाना। यह NoSQL का घटक है जो इसे बड़े डेटासेट के लिए एक सस्ता समाधान बनाता है।
NoSQL श्रेणियाँ
वर्तमान नोएसक्यूएल दुनिया 4 बुनियादी श्रेणियों में फिट बैठती है।
- की-वैल्यू स्टोर मुख्य रूप से अमेज़ॅन के डायनमो पेपर पर आधारित हैं जो 2007 में लिखा गया था। मुख्य विचार एक हैश टेबल का अस्तित्व है जहां डेटा की एक विशेष वस्तु के लिए एक अद्वितीय कुंजी और एक सूचक होता है। ये मैपिंग आमतौर पर प्रदर्शन को अधिकतम करने के लिए कैश तंत्र के साथ होती हैं।
- स्तंभ परिवार स्टोर कई मशीनों पर वितरित बहुत बड़ी मात्रा में डेटा को संग्रहीत और संसाधित करने के लिए बनाए गए थे। अभी भी कुंजियाँ हैं लेकिन वे कई स्तंभों की ओर इशारा करती हैं। BigTable (Google का Column Family NoSQL मॉडल) के मामले में, पंक्तियों को एक पंक्ति कुंजी द्वारा पहचाना जाता है और इस कुंजी द्वारा डेटा को सॉर्ट और संग्रहीत किया जाता है। स्तंभों को स्तंभ परिवार द्वारा व्यवस्थित किया जाता है।
- दस्तावेज़ डेटाबेस लोटस नोट्स से प्रेरित थे और की-वैल्यू स्टोर के समान हैं। मॉडल मूल रूप से संस्करणित दस्तावेज़ हैं जो अन्य कुंजी-मूल्य संग्रहों के संग्रह हैं। अर्ध-संरचित दस्तावेज़ JSON जैसे स्वरूपों में संग्रहीत किए जाते हैं।
- ग्राफ़ डेटाबेस s नोड्स के साथ निर्मित होते हैं, नोट्स के बीच संबंध और नोड्स के गुण। पंक्तियों और स्तंभों की तालिका और SQL की कठोर संरचना के बजाय, एक लचीले ग्राफ़ मॉडल का उपयोग किया जाता है जो कई मशीनों में स्केल कर सकता है।
प्रमुख NoSQL खिलाड़ी
NoSQL में प्रमुख खिलाड़ी मुख्य रूप से उन संगठनों के कारण उभरे हैं जिन्होंने उन्हें अपनाया है। कुछ सबसे बड़ी NoSQL तकनीकों में शामिल हैं:
- डायनेमो: डायनेमो Amazon.com द्वारा बनाया गया था और यह सबसे प्रमुख की-वैल्यू NoSQL डेटाबेस है। अमेज़ॅन को अपने ई-कॉमर्स व्यवसायों के लिए अत्यधिक स्केलेबल वितरित मंच की आवश्यकता थी इसलिए उन्होंने डायनेमो विकसित किया। Amazon S3 डायनेमो को स्टोरेज मैकेनिज्म के रूप में इस्तेमाल करता है।
- कैसंड्रा: Cassandra को Facebook द्वारा ओपन सोर्स किया गया था और यह एक कॉलम-ओरिएंटेड NoSQL डेटाबेस है।
- बिगटेबल: बिगटेबल गूगल का मालिकाना कॉलम ओरिएंटेड डेटाबेस है। Google BigTable के उपयोग की अनुमति देता है लेकिन केवल Google App Engine के लिए।
- SimpleDB: SimpleDB एक और Amazon डेटाबेस है। Amazon EC2 और S3 के लिए उपयोग किया जाता है, यह Amazon वेब सेवाओं का हिस्सा है जो उपयोग के आधार पर शुल्क लेता है।
- काउचडीबी: मोंगोडीबी के साथ कॉच डीबी ओपन सोर्स दस्तावेज़-उन्मुख नोएसक्यूएल डेटाबेस हैं।
- नियो4जे: Neo4j एक ओपन सोर्स ग्राफ डेटाबेस है।
NoSQL क्वेरी करना
नोएसक्यूएल डेटाबेस को क्वेरी करने का प्रश्न अधिकांश डेवलपर्स में रुचि रखते हैं। आखिरकार, एक विशाल डेटाबेस में संग्रहीत डेटा किसी का भी भला नहीं करता है यदि आप इसे पुनः प्राप्त नहीं कर सकते हैं और इसे अंतिम उपयोगकर्ताओं या वेब सेवाओं को दिखा सकते हैं। NoSQL डेटाबेस SQL जैसी उच्च-स्तरीय घोषणात्मक क्वेरी भाषा प्रदान नहीं करते हैं। इसके बजाय, इन डेटाबेस को क्वेरी करना डेटा-मॉडल विशिष्ट है।
कई नोएसक्यूएल प्लेटफॉर्म डेटा के लिए रीस्टफुल इंटरफेस की अनुमति देते हैं। अन्य ऑफ़र क्वेरी API. कुछ ऐसे क्वेरी टूल हैं जिन्हें विकसित किया गया है जो कई NoSQL डेटाबेस को क्वेरी करने का प्रयास करते हैं। ये उपकरण आम तौर पर एक एकल NoSQL श्रेणी में काम करते हैं। एक उदाहरण SPARQL है। SPARQL एक घोषणात्मक क्वेरी विनिर्देश है जिसे ग्राफ़ डेटाबेस के लिए डिज़ाइन किया गया है। यहां एक SPARQL क्वेरी का एक उदाहरण दिया गया है जो किसी विशेष ब्लॉगर का URL प्राप्त करता है (IBM के सौजन्य से):
PREFIX Foaf:
चुनें ?url
FROM
कहां से {
?contributor foaf:name "Jon Foobar" .
?contributor foaf:weblog ?url .
}
NoSQL का भविष्य
बड़े पैमाने पर डेटा भंडारण की जरूरत वाले संगठन NoSQL पर गंभीरता से विचार कर रहे हैं। जाहिर है, इस अवधारणा को छोटे संगठनों में उतना कर्षण नहीं मिल रहा है। सूचना सप्ताह द्वारा किए गए एक सर्वेक्षण में, 44% व्यावसायिक आईटी पेशेवरों ने NoSQL के बारे में नहीं सुना है। इसके अलावा, केवल 1% उत्तरदाताओं ने बताया कि नोएसक्यूएल उनकी रणनीतिक दिशा का एक हिस्सा है। स्पष्ट रूप से, नोएसक्यूएल का हमारी कनेक्टेड दुनिया में अपना स्थान है, लेकिन बड़े पैमाने पर अपील प्राप्त करने के लिए इसे विकसित करना जारी रखना होगा जो कई लोग सोचते हैं।