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

MongoDB एटलस का अवलोकन:भाग एक

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

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

हम भी चीजों को तेजी से चाहते हैं। चुस्त विकास प्रक्रिया अधिक से अधिक लोकप्रिय हो रही है; मुख्य रूप से क्योंकि यह प्रारंभिक व्यावसायिक मूल्य के वितरण को तेज करता है और (निरंतर योजना और प्रतिक्रिया की प्रक्रिया के माध्यम से) यह सुनिश्चित कर सकता है कि आरओआई अधिकतम हो।

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

क्लाउड ऑटोमेशन न केवल समय और धन बचाता है बल्कि आपके संगठन को चुनौतीपूर्ण बाजार में अधिक प्रतिस्पर्धी बनाता है।

इस ब्लॉग में, हम एटलस पर एक नज़र डालेंगे, जो MongoDB का समाधान है जो इन सभी समस्याओं का समाधान करने का प्रयास करता है।

MongoDB एटलस के साथ शुरुआत करना

MongoDB एटलस के साथ शुरू करने के लिए https://cloud.mongodb.com पर जाएं। पंजीकरण फॉर्म में, आपको ईमेल, कंपनी, देश और मोबाइल नंबर जैसी न्यूनतम जानकारी प्रदान करनी होगी।

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

पहले लॉगिन के बाद, आपको अपना पहला क्लस्टर बनाने के लिए कहा जाएगा तीन सबसे महत्वपूर्ण बादलों में से एक। एटलस Amazon AWS, Google Cloud और Microsoft Azure के साथ काम करता है। अपनी पसंद के आधार पर, आप पसंदीदा डेटा सेंटर स्थान का स्थान चुन सकते हैं। उपलब्धता बढ़ाने के लिए, आप बहु-क्षेत्र, कार्यभार अलगाव सेट कर सकते हैं, या विभिन्न प्रतिकृति विकल्प सेट कर सकते हैं। प्रत्येक एटलस प्रोजेक्ट 25 क्लस्टर तक का समर्थन करता है, लेकिन समर्थन से संपर्क करने के बाद, आपको और अधिक होस्ट करने में सक्षम होना चाहिए।

आपको आईओ और भंडारण क्षमता। इस लेख में, हम मुफ्त संस्करण का उपयोग करेंगे। प्रोटोटाइपिंग, प्रारंभिक विकास या सीखने के लिए MongoDB एटलस के साथ शुरुआत करना मुफ़्त है। क्रेडिट कार्ड की आवश्यकता नहीं है, इसलिए आपको छिपी हुई लागतों के बारे में चिंता करने की आवश्यकता नहीं है। M0 Sandbox नाम का मुफ़्त संस्करण इस तक सीमित है:

  • 512MB मेमोरी
  • vCPU साझा
  • रैम साझा
  • 100 अधिकतम कनेक्शन
  • प्रति प्रोजेक्ट एक M0 क्लस्टर की सीमा है।

समर्पित क्लस्टरों के लिए, MongoDB एटलस को आपके द्वारा उपयोग किए जाने वाले खर्च के आधार पर प्रति घंटा बिल किया जाता है। दर कई कारकों पर निर्भर करती है, सबसे महत्वपूर्ण बात यह है कि आपके द्वारा उपयोग किए जाने वाले सर्वरों का आकार और संख्या। कीमत 0.08/hr (M10, 2GB RAM, 10GB स्टोरेज, 1vCPU) से M700 तक 768GB RAM, 4096 GB स्टोरेज, 96vCPU के साथ $33.26/hr से शुरू होती है। जाहिर है, आपको अन्य लागत कारकों को शामिल करना होगा, उदाहरण के लिए, बैकअप की लागत।

MongoDB गणना के अनुसार, AWS एक 3-नोड प्रतिकृति M40s का सेट है और इसे एक महीने के लिए 24/7 चलाने के लिए शामिल 80GB मानक ब्लॉक स्टोरेज का उपयोग करने पर आपको लगभग $947 खर्च होंगे।

मूल सेटअप प्रतिकृति के साथ काम करता है। यदि आपको कम से कम (8GB RAM, 40GB स्टोरेज, 2vCPU, $0.54/hr से कीमत) M30 को तेज करने की आवश्यकता है।

MongoDB एटलस नेटवर्क एक्सेस प्रारंभिक सेटअप

क्लस्टर निर्माण के बाद हमें जो पहला कदम उठाने की जरूरत है, उनमें से एक आईपी श्वेतसूची को सक्षम करना है। हर जगह से पहुंच सक्षम करने के लिए आप श्वेतसूची प्रविष्टि को 0.0.0.0/0 पर सेट कर सकते हैं लेकिन इसकी अनुशंसा नहीं की जाती है। यदि आप अपना आईपी पता नहीं जानते हैं तो एटलस आपको इसे पहचानने में मदद करेगा।

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

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

मौजूदा MongoDB क्लस्टर का MongoDB एटलस में स्थानांतरण

आपके मौजूदा ऑन-प्रिमाइसेस क्लस्टर को Mongo Atlas में माइग्रेट करने की भी संभावना है। यह लाइव माइग्रेशन सर्विस नामक एक समर्पित सेवा के माध्यम से किया जाता है। एटलस लाइव माइग्रेशन प्रक्रिया एक MongoDB-नियंत्रित एप्लिकेशन सर्वर के माध्यम से डेटा स्ट्रीम करती है।

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

यहाँ महत्वपूर्ण बात यह है कि यह सेवा निःशुल्क है।

यदि आपको ऑनलाइन माइग्रेशन की आवश्यकता नहीं है, तो आप mongoimport का भी उपयोग कर सकते हैं। 3.2.7 न्यूनतम संस्करण के साथ मोंगो खोल का प्रयोग करें हमेशा एसएसएल का प्रयोग करें। आप यहां से परीक्षण डेटा प्राप्त कर सकते हैं।

​mongoimport --host TestCluster-shard-0/testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-****.azure.mongodb.net:27017,testcluster-shard-******.azure.mongodb.net:27017 --ssl --username admin --authenticationDatabase admin  --type JSON --file city_inspections.json

2019-08-15T21:53:09.921+0200 WARNING: ignoring unsupported URI parameter 'replicaset'

2019-08-15T21:53:09.922+0200 no collection specified

2019-08-15T21:53:09.922+0200 using filename 'city_inspections' as collection

Enter password:



2019-08-15T21:53:14.288+0200 connected to: mongodb://testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-*****.azure.mongodb.net:27017/?replicaSet=TestCluster-shard-0

2019-08-15T21:53:17.289+0200 [........................] test.city_inspections 589KB/23.2MB (2.5%)

2019-08-15T21:53:20.290+0200 [#.......................] test.city_inspections 1.43MB/23.2MB (6.2%)

2019-08-15T21:53:23.292+0200 [##......................] test.city_inspections 2.01MB/23.2MB (8.6%)

...

2019-08-15T21:55:09.140+0200 [########################] test.city_inspections 23.2MB/23.2MB (100.0%)

2019-08-15T21:55:09.140+0200 81047 document(s) imported successfully. 0 document(s) failed to import.

डेटा जांचने के लिए, मोंगो शेल के साथ लॉगिन करें।

mongo "mongodb+srv://testcluster-*****.azure.mongodb.net/test" --username admin

MongoDB shell version v4.2.0

Enter password:

connecting to: mongodb://testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017/test?authSource=admin&compressors=disabled&gssapiServiceName=mongodb&replicaSet=TestCluster-shard-0&ssl=true

2019-08-15T22:15:58.068+0200 I  NETWORK [js] Starting new replica set monitor for TestCluster-shard-0/testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.069+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-01-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.070+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-00-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.070+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-02-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.801+0200 I  NETWORK [ReplicaSetMonitor-TaskExecutor] Confirmed replica set for TestCluster-shard-0 is TestCluster-shard-0/testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017

Implicit session: session { "id" : UUID("6a5d1ee6-064b-4ba8-881a-71aa4aef4983") }

MongoDB server version: 4.0.12

WARNING: shell and server versions do not match

MongoDB Enterprise TestCluster-shard-0:PRIMARY> show collections;

city_inspections

MongoDB Enterprise TestCluster-shard-0:PRIMARY> db.city_inspections.find();

{ "_id" : ObjectId("56d61033a378eccde8a83557"), "id" : "10284-2015-ENFO", "certificate_number" : 9287088, "business_name" : "VYACHESLAV KANDZHANOV", "date" : "Feb 25 2015", "result" : "No Violation Issued", "sector" : "Misc Non-Food Retail - 817", "address" : { "city" : "NEW YORK", "zip" : 10030, "street" : "FREDRCK D BLVD", "number" : 2655 } }

{ "_id" : ObjectId("56d61033a378eccde8a83559"), "id" : "10302-2015-ENFO", "certificate_number" : 9287089, "business_name" : "NYC CANDY STORE SHOP CORP", "date" : "Feb 25 2015", "result" : "No Violation Issued", "sector" : "Cigarette Retail Dealer - 127", "address" : { "city" : "NEW YORK", "zip" : 10030, "street" : "FREDRCK D BLVD", "number" : 2653 } }

...

{ "_id" : ObjectId("56d61033a378eccde8a8355e"), "id" : "10391-2015-ENFO", "certificate_number" : 3019415, "business_name" : "WILFREDO DELIVERY SERVICE INC", "date" : "Feb 26 2015", "result" : "Fail", "sector" : "Fuel Oil Dealer - 814", "address" : { "city" : "WADING RIVER", "zip" : 11792, "street" : "WADING RIVER MANOR RD", "number" : 1607 } }

Type "it" for more

MongoDB Enterprise TestCluster-shard-0:PRIMARY>

निष्कर्ष

भाग एक के लिए बस इतना ही। अगले लेख में, हम निगरानी, ​​​​बैकअप, दिन-प्रतिदिन के प्रशासन और डेटा झीलों के निर्माण के लिए MongoDB की नई सेवा को कवर करने जा रहे हैं। बने रहें!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $ मौजूद ऑपरेटर के साथ फ़ील्ड के अस्तित्व की जांच करते समय मोंगोडीबी इंडेक्स का उपयोग कर सकता है?

  2. जावा एपीआई का उपयोग करके "पसंद" के साथ मोंगोडब से कैसे पूछें?

  3. mongo.lock फ़ाइल का क्या उपयोग है?

  4. क्या मोंगोडीबी एकत्रीकरण ढांचा $ समूह मूल्यों की एक सरणी लौटा सकता है?

  5. MongoDB और जुड़ता है