MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

बड़े डेटा अनुप्रयोगों के लिए MongoDB चुनते समय विचार करने वाले कारक

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

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

उदाहरण के लिए, ऑनलाइन बाजार क्लाइंट वेब क्लिक्स, क्रय शक्ति का निरीक्षण करते हैं और फिर व्युत्पन्न डेटा का उपयोग विज्ञापन के तरीके के रूप में अन्य वस्तुओं का सुझाव देने या मूल्य निर्धारण में डेटा का उपयोग करने के लिए करते हैं। रोबोट मशीन लर्निंग के माध्यम से सीखते हैं और इस प्रक्रिया में स्पष्ट रूप से बहुत सारा डेटा एकत्र किया जाता है क्योंकि रोबोट को बाद में उपयोग के लिए जो कुछ उसने सीखा है उसे मेमोरी में रखना होगा। इस तरह के जटिल डेटा को पारंपरिक डेटाबेस सॉफ्टवेयर के साथ रखना अव्यावहारिक माना जाता है।

बिग डेटा की विशेषताएं

सॉफ़्टवेयर सिस्टम में, हम आकार, पहुंच की गति और शामिल डेटा प्रकारों के संदर्भ में बड़े डेटा पर विचार करते हैं। इसे अपेक्षाकृत कम करके 3 मापदंडों में विभाजित किया जा सकता है: 

  1. वॉल्यूम
  2. वेग
  3. किस्म

वॉल्यूम

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

वेग

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

किस्म

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

MongoDB को कई सर्वरों से भी चलाया जा सकता है, जो इसे पारंपरिक डेटाबेस के विपरीत सस्ता और अनंत बनाता है जो केवल एक सर्वर पर चलने के लिए डिज़ाइन किए गए हैं।

बड़े डेटा के लिए MongoDB चुनते समय विचार करने योग्य कारक

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

  • गतिशील क्वेरी के लिए एक समृद्ध क्वेरी भाषा
  • डेटा एम्बेड करना
  • उच्च उपलब्धता
  • अनुक्रमण और मापनीयता
  • कुशल स्टोरेज इंजन और मेमोरी हैंडलिंग
  • डेटा एकरूपता और अखंडता

डायनामिक क्वेरी के लिए रिच क्वेरी लैंग्वेज

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

आइए डेटा के साथ एक स्थान संग्रह करें

{ name: "KE",loc: { type: "Point", coordinates: [ -73.97, 40.77 ] }, category: "Parks"}

{ name: "UG",loc: { type: "Point", coordinates: [ -45.97, 40.57 ] }, category: "Parks"}

{ name: "TZ",loc: { type: "Point", coordinates: [ -73.27, 34.43 ] }, category: "Parks"}

{ name: "SA",loc: { type: "Point", coordinates: [ -67.97, 40.77 ] }, category: "Parks"}

फिर हम उन स्थानों के लिए डेटा ढूंढ सकते हैं जो एकत्रीकरण ढांचे का उपयोग करके [-73.00, 40.00] के पास हैं और नीचे दिए गए प्रश्न के साथ 1KM की दूरी के भीतर हैं:

db.places.aggregate( [

   {

      $geoNear: {

         near: { type: "Point", coordinates: [ -73.00, 40.00 ] },

         spherical: true,

         query: { category: "Parks" },

         distanceField: "calcDistance",

   maxDistance: 10000

      }

   }

]

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

डेटा एम्बेड करना

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

उच्च उपलब्धता

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

अनुक्रमण और मापनीयता

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

कुशल स्टोरेज इंजन और मेमोरी हैंडलिंग

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

डेटा संगतता और अखंडता

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

निष्कर्ष

MongoDB सबसे कुशल तरीके से रीयल-टाइम डेटा विश्लेषण को संभालता है इसलिए बिग डेटा के लिए उपयुक्त है। उदाहरण के लिए, भू-स्थानिक अनुक्रमण वास्तविक समय में GPS डेटा के विश्लेषण को सक्षम बनाता है।

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला अद्यतन/अपर्ट?

  2. MongoDB में श्रेणी प्रश्नों का उपयोग करके पृष्ठ पर अंक लगाना कैसे करें?

  3. MongoDB में दिनांक को स्ट्रिंग में बदलने के 3 तरीके

  4. एक प्रकाशन दूसरे प्रकाशन से नेस्टेड फ़ील्ड छुपा रहा है

  5. BsonSerializationException एक शब्दकोश को क्रमबद्ध करते समय <डेटटाइम, टी> बीएसओएन को