पिछले महीने MongoDB वर्ल्ड में MongoDB के संस्थापक और CTO एलियट होरोविट्ज़ ने 2.8 रिलीज़ के लिए निर्धारित प्लगेबल स्टोरेज इंजन के लिए समर्थन की घोषणा की। यह रोमांचक सामान है क्योंकि इसका मतलब है कि मोंगो उपयोगकर्ता अब एक स्टोरेज इंजन चुनने में सक्षम होंगे जो उनके वर्कलोड के लिए सबसे उपयुक्त है और एपीआई के साथ सभी मोंगोडीबी सुविधाओं का पूर्ण समर्थन करने की योजना है, जबकि उन्हें किसी भी मौजूदा कार्यक्षमता को छोड़ना नहीं है। का आनंद लें। इतना ही नहीं, बल्कि एक ही प्रतिकृति सेट में नोड्स अलग-अलग स्टोरेज इंजनों का उपयोग करने में सक्षम होंगे, जिससे अलग-अलग जरूरतों के लिए सभी प्रकार के दिलचस्प कॉन्फ़िगरेशन को सक्षम किया जा सकेगा।
MongoDB के पूरी तरह से खुला स्रोत होने के बारे में सबसे अच्छी बात यह है कि हमें इन प्रायोगिक सुविधाओं के साथ खेलने के लिए 2.8 वास्तव में रिलीज़ होने तक प्रतीक्षा करने की आवश्यकता नहीं है। MongoDB स्रोत कोड की संपूर्णता को GitHub से क्लोन किया जा सकता है और किसी भी प्रयोगात्मक सुविधाओं को शामिल करने के लिए संकलित किया जा सकता है जिस पर वर्तमान में काम किया जा रहा है।
नीचे दिए गए उदाहरण में मैं आपको दिखाऊंगा कि मोंगोडीबी दुनिया में प्रस्तुत रॉक्सडीबी उदाहरण स्टोरेज इंजन के साथ मोंगो कैसे बनाया जाता है।
हाल ही में स्थापित CentOS 6.5 क्लाउड इंस्टेंस से शुरू करते हुए, हम बुनियादी निर्भरता को पकड़ लेंगे:
$ yum groupinstall 'Development Tools'
$ yum install git glibc-devel scons`
इसके बाद GitHub से MongoDB सोर्स कोड प्राप्त होगा:
$ git clone https://github.com/mongodb/mongo.git
अब केवल रॉक्सडीबी समर्थन सक्षम के साथ स्रोत को संकलित करना बाकी है:
$ scons --rocksdb=ROCKSDB mongo mongod
या उपयोग करने के लिए समानांतर नौकरियों की संख्या निर्दिष्ट करने के लिए -j विकल्प का उपयोग करके इसे गति दें, यदि आप उस सिस्टम को समर्पित करने की योजना बना रहे हैं जिस पर आपका संकलन एक अच्छा संकेतक है, तो आपकी मशीन +1 में कोर की संख्या है, मेरा देखा जैसे:
$ scons -j 17 --rocksdb=ROCKSDB mongo mongod
यह ध्यान देने योग्य है कि प्लग करने योग्य भंडारण इंजन समर्थन और रॉक्सडीबी इंजन इस बिंदु पर पूरी तरह से प्रयोगात्मक हैं, इसलिए एक अच्छा मौका है कि आप त्रुटियों का सामना करेंगे और मास्टर से संकलन करने में असमर्थ होंगे, जिसकी इस स्तर पर उम्मीद की जा सकती है। यदि आप इस पर नज़र रखना चाहते हैं कि चीजें कैसे आगे बढ़ रही हैं तो MongoDB देव मेलिंग सूची शुरू करने के लिए एक अच्छी जगह है।
एक बार संकलन समाप्त हो जाने के बाद आप नए -storageEngine पैरामीटर का उपयोग करके एक मोंगॉड प्रक्रिया शुरू करना चाहेंगे:
$ ./mongod --storageEngine rocksExperiment
और अंत में आप एक साधारण दस्तावेज़ को जोड़कर और फिर db.stats() का उपयोग करके सब कुछ का परीक्षण कर सकते हैं। यदि सब कुछ योजना के अनुसार चला तो आपको RocksDB के आँकड़े आपके पास वापस आते हुए देखने चाहिए।
जैसा कि आप देख सकते हैं कि प्रायोगिक सुविधाओं के साथ उठना और चलना काफी सरल है। प्लग करने योग्य स्टोरेज इंजन कोड की प्रगति को देखकर और 2.8 रिलीज के करीब आते ही और नए इंजनों की घोषणा को देखकर मैं बहुत उत्साहित हूं।