MongoDB ওয়ার্ল্ডে গত মাসে MongoDB এর প্রতিষ্ঠাতা এবং CTO এলিয়ট হোরোভিটজ 2.8 রিলিজের জন্য নির্ধারিত প্লাগেবল স্টোরেজ ইঞ্জিনগুলির জন্য সমর্থন ঘোষণা করেছেন। এটি উত্তেজনাপূর্ণ বিষয় কারণ এর অর্থ হল মঙ্গো ব্যবহারকারীরা এখন একটি স্টোরেজ ইঞ্জিন বেছে নিতে সক্ষম হবেন যা তাদের কাজের চাপের জন্য সবচেয়ে উপযুক্ত এবং API এর সাথে সমস্ত MongoDB বৈশিষ্ট্যগুলির সম্পূর্ণ সমর্থন পাওয়ার পরিকল্পনা করা হয়েছে, যদিও তারা বর্তমান কার্যকারিতাগুলিকে ছেড়ে দিতে হবে না। উপভোগ শুধু তাই নয়, একই রেপ্লিকা সেটের নোডগুলি বিভিন্ন স্টোরেজ ইঞ্জিন ব্যবহার করতে সক্ষম হবে, বিভিন্ন প্রয়োজনের জন্য সমস্ত ধরণের আকর্ষণীয় কনফিগারেশন সক্ষম করবে৷
MongoDB সম্পূর্ণরূপে ওপেন সোর্স হওয়ার বিষয়ে দুর্দান্ত জিনিসটি হল যে এই অত্যন্ত পরীক্ষামূলক বৈশিষ্ট্যগুলির সাথে খেলার জন্য 2.8 প্রকৃতপক্ষে প্রকাশিত না হওয়া পর্যন্ত আমাদের অপেক্ষা করতে হবে না। MongoDB সোর্স কোডের সম্পূর্ণটি GitHub থেকে ক্লোন করা যেতে পারে এবং বর্তমানে কাজ করা যেকোন পরীক্ষামূলক বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করার জন্য কম্পাইল করা যেতে পারে৷
নীচের উদাহরণে আমি আপনাকে দেখাব কিভাবে MongoDB ওয়ার্ল্ডে উপস্থাপিত rocksdb উদাহরণ স্টোরেজ ইঞ্জিনের সাহায্যে মঙ্গো তৈরি করা যায়।
একটি নতুনভাবে ইনস্টল করা CentOS 6.5 ক্লাউড ইন্সট্যান্স থেকে শুরু করে, আমরা মৌলিক নির্ভরতাগুলি ধরব:
$ yum groupinstall 'Development Tools'
$ yum install git glibc-devel scons`
পরবর্তী GitHub থেকে MongoDB সোর্স কোড পাবেন:
$ git clone https://github.com/mongodb/mongo.git
এখন যা বাকি আছে তা হল RocksDB সমর্থন সক্ষম করে উৎস সংকলন করা:
$ scons --rocksdb=ROCKSDB mongo mongod
অথবা ব্যবহার করার জন্য সমান্তরাল কাজের সংখ্যা নির্দিষ্ট করার জন্য -j বিকল্পটি ব্যবহার করে গতি বাড়ান, যদি আপনি আপনার কম্পাইলিং সিস্টেমটি উৎসর্গ করার পরিকল্পনা করেন তবে একটি ভাল নির্দেশক হচ্ছে আপনার মেশিনে কোরের সংখ্যা +1, আমার দেখা যেমন:
$ scons -j 17 --rocksdb=ROCKSDB mongo mongod
এটি লক্ষণীয় যে প্লাগেবল স্টোরেজ ইঞ্জিন সমর্থন এবং রকসডিবি ইঞ্জিন এই সময়ে সম্পূর্ণ পরীক্ষামূলক তাই আপনি ত্রুটির সম্মুখীন হবেন এবং মাস্টার থেকে কম্পাইল করতে অক্ষম হওয়ার একটি ভাল সুযোগ রয়েছে, এটি এই পর্যায়ে প্রত্যাশিত। আপনি যদি মঙ্গোডিবি ডেভ মেলিং লিস্টটি শুরু করার জন্য একটি ভাল জায়গা।
কম্পাইল শেষ হয়ে গেলে আপনি নতুন –storageEngine প্যারামিটার ব্যবহার করে একটি মঙ্গোড প্রক্রিয়া শুরু করতে চাইবেন:
$ ./mongod --storageEngine rocksExperiment
এবং অবশেষে আপনি একটি সাধারণ নথি সংযুক্ত করে এবং তারপর db.stats() ব্যবহার করে সবকিছু পরীক্ষা করতে পারেন। যদি সবকিছু পরিকল্পনা মতো হয়ে থাকে তাহলে আপনার কাছে RocksDB পরিসংখ্যান ফিরে আসা উচিত।
আপনি দেখতে পাচ্ছেন যে পরীক্ষামূলক বৈশিষ্ট্যগুলি সক্ষম করে উঠতে এবং চালানো মোটামুটি সহজ। প্লাগেবল স্টোরেজ ইঞ্জিন কোডের অগ্রগতি দেখে এবং 2.8 রিলিজের কাছাকাছি আসার সাথে সাথে ঘোষণা করা আরও নতুন ইঞ্জিন দেখতে পেয়ে আমি খুবই উত্তেজিত।