संक्षिप्त नाम 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 श्रेणियाँ
वर्तमान NoSQL दुनिया 4 बुनियादी श्रेणियों में फिट बैठती है।
- की-वैल्यू स्टोर मुख्य रूप से अमेज़ॅन के डायनमो पेपर पर आधारित हैं जो 2007 में लिखा गया था।मुख्य विचार एक हैश तालिका का अस्तित्व है जहां डेटा के किसी विशेष आइटम के लिए एक अद्वितीय कुंजी और सूचक होता है। ये मैपिंग आमतौर पर प्रदर्शन को अधिकतम करने के लिए कैश मैकेनिज्म के साथ होती हैं।
- दस्तावेज़ डेटाबेस लोटस नोट्स से प्रेरित थे और की-वैल्यू स्टोर के समान हैं। मॉडल मूल रूप से संस्करणित दस्तावेज़ हैं जो अन्य कुंजी-मूल्य संग्रहों के संग्रह हैं। अर्ध-संरचित दस्तावेज़ JSON जैसे स्वरूपों में संग्रहीत हैं।
- ग्राफ डेटाबेसs नोड्स, नोट्स के बीच संबंध और नोड्स के गुणों के साथ बनाए गए हैं। पंक्तियों और स्तंभों की तालिका और SQL की कठोर संरचना के बजाय, एक लचीले ग्राफ मॉडल का उपयोग किया जाता है जो कई मशीनों में स्केल कर सकता है।
कॉलम फ़ैमिली स्टोर कई मशीनों पर वितरित बहुत बड़ी मात्रा में डेटा को संग्रहीत और संसाधित करने के लिए बनाए गए थे। अभी भी कुंजियाँ हैं लेकिन वे कई स्तंभों की ओर इशारा करती हैं। BigTable (Google का Column Family NoSQL मॉडल) के मामले में, पंक्तियों को एक पंक्ति कुंजी द्वारा पहचाना जाता है और इस कुंजी द्वारा डेटा को सॉर्ट और संग्रहीत किया जाता है। स्तंभों को स्तंभ परिवार द्वारा व्यवस्थित किया जाता है।
प्रमुख NoSQL खिलाड़ी
नोएसक्यूएल में प्रमुख खिलाड़ी मुख्य रूप से उन संगठनों के कारण उभरे हैं जिन्होंने उन्हें अपनाया है। कुछ सबसे बड़ी NoSQL तकनीकों में शामिल हैं:
- डायनेमो: डायनमो Amazon.com द्वारा बनाया गया था और यह सबसे प्रमुख की-वैल्यू NoSQL डेटाबेस है। अमेज़ॅन को अपने ई-कॉमर्स व्यवसायों के लिए अत्यधिक स्केलेबल वितरित मंच की आवश्यकता थी इसलिए उन्होंने डायनेमो विकसित किया। Amazon S3 डायनेमो को स्टोरेज मैकेनिज्म के रूप में इस्तेमाल करता है।
- Cassandra: Cassandra को Facebook द्वारा ओपन सोर्स किया गया था और यह एक कॉलम-ओरिएंटेड NoSQL डेटाबेस है।
- बिगटेबल: बिगटेबल गूगल का मालिकाना कॉलम ओरिएंटेड डेटाबेस है। Google BigTable के उपयोग की अनुमति देता है लेकिन केवल Google App Engine के लिए।
- SimpleDB: SimpleDB एक और Amazon डेटाबेस है। Amazon EC2 और S3 के लिए उपयोग किया जाता है, यह Amazon वेब सेवाओं का हिस्सा है जो उपयोग के आधार पर शुल्क लेता है।
- CouchDB: MongoDB के साथ CouchDB ओपन सोर्स दस्तावेज़-उन्मुख NoSQL डेटाबेस हैं।
- Neo4J: Neo4j एक ओपन सोर्स ग्राफ डेटाबेस है।
NoSQL क्वेरी करना
नोएसक्यूएल डेटाबेस को क्वेरी कैसे करें, यह सवाल अधिकांश डेवलपर्स में रुचि रखते हैं। आखिरकार, एक विशाल डेटाबेस में संग्रहीत डेटा किसी का भी भला नहीं करता है यदि आप इसे पुनः प्राप्त नहीं कर सकते हैं और इसे अंतिम उपयोगकर्ताओं को दिखा सकते हैं या वेब सेवाएं। NoSQL डेटाबेस SQL जैसी उच्च-स्तरीय घोषणात्मक क्वेरी भाषा प्रदान नहीं करते हैं। इसके बजाय, इन डेटाबेस को क्वेरी करना है> PREFIX foaf:
SELECT ?url
FROM
WHERE {
?contributor foaf:name "Jon Foobar" ।
?योगदानकर्ता फोफ:वेबलॉग?यूआरएल।
}
नोएसक्यूएल का भविष्य
ऐसे संगठन जिन्हें बड़े पैमाने पर डेटा भंडारण की जरूरत है, वे NoSQL पर गंभीरता से विचार कर रहे हैं। जाहिर है, छोटे संगठनों में इस अवधारणा को उतना कर्षण नहीं मिल रहा है। सूचना सप्ताह द्वारा किए गए एक सर्वेक्षण में, 44% व्यावसायिक आईटी पेशेवरों ने NoSQL के बारे में नहीं सुना है।इसके अलावा, केवल 1% उत्तरदाताओं ने बताया कि नोएसक्यूएल उनकी रणनीतिक दिशा का एक हिस्सा है। स्पष्ट रूप से, नोएसक्यूएल का हमारी कनेक्टेड दुनिया में अपना स्थान है, लेकिन बड़े पैमाने पर अपील पाने के लिए इसे विकसित करना जारी रखना होगा जो कई लोग सोचते हैं कि यह हो सकता है।