MangoDB: MongoDB-এর একটি ওপেন সোর্স বিকল্প

MongoDB একটি ডকুমেন্ট-ভিত্তিক, NoSQL ডেটাবেস সিস্টেম যা অনেক ডেভেলপারের জন্য যুগান্তকারী পরিবর্তন এনেছে, এবং তাদেরকে রিলেশনাল ডেটাবেসের চেয়ে দ্রুত অ্যাপ্লিকেশন তৈরি করতে সক্ষম করেছে। তবে, MongoDB তার ওপেন-সোর্স পরিচয় ত্যাগ করে SSPL লাইসেন্স গ্রহণ করেছে, যার ফলে এটি অনেক বাণিজ্যিক এবং ওপেন-সোর্স প্রকল্পের জন্য অনুপযোগী হয়ে পড়েছে।

এর জবাবে MangoDB চালু করা হয়, যা MongoDB ডেভেলপমেন্টের অভিজ্ঞতা অর্জনে আগ্রহীদের জন্য একটি চমৎকার সমাধান, কারণ MangoDB, PostgreSQL-এর উপরে ডকুমেন্ট-ভিত্তিক MongoDB প্রোটোকল বাস্তবায়নের একটি স্তর প্রদান করে।

এই প্রকল্পের লক্ষ্য হলো MongoDB অ্যাপ্লিকেশনগুলোকে PostgreSQL-এ মাইগ্রেট করার সুবিধা এবং একটি সম্পূর্ণ ওপেন-সোর্স সফটওয়্যার স্ট্যাক প্রদান করা। কোডটি Go ভাষায় লেখা এবং Apache 2.0 লাইসেন্সের অধীনে বিতরণ করা হয়েছে।

এটা মনে রাখা গুরুত্বপূর্ণ যে MongoDB হলো একটি ডকুমেন্ট-ভিত্তিক ডাটাবেস ম্যানেজমেন্ট সিস্টেম যা যেকোনো সংখ্যক কম্পিউটারে স্থাপন করা যায় এবং এর জন্য কোনো পূর্বনির্ধারিত ডেটা স্কিমার প্রয়োজন হয় না। এর ফলে এটি কোনো পূর্বনির্ধারিত স্কিমা ছাড়াই BSON (বাইনারি JSON) ফরম্যাটে স্ট্রাকচার্ড অবজেক্ট পরিচালনা করতে পারে।

অন্য কথায়, ডাটাবেস পুনরায় কনফিগার না করেই যেকোনো সময় তাৎক্ষণিকভাবে কী (key) যোগ করা যেতে পারে । ডেটা ডকুমেন্টের আকারে থাকে, যা কালেকশনে সংরক্ষিত হয়—একটি কালেকশনে যেকোনো সংখ্যক ডকুমেন্ট থাকতে পারে। কালেকশনগুলো টেবিলের মতো এবং ডকুমেন্টগুলো রিলেশনাল ডাটাবেসের রেকর্ডের মতো।

সার্ভার-সাইড পাবলিক লাইসেন্স (SSPL) হলো MongoDB Inc. দ্বারা তৈরি একটি মালিকানাধীন সফটওয়্যার লাইসেন্স। MongoDB-এর মতে, SSPL লাইসেন্সটি AGPL3 লাইসেন্সের উপর ভিত্তি করে তৈরি, যার সাথে একটি নতুন ধারা যুক্ত করা হয়েছে। এই ধারাটি "লাইসেন্সপ্রাপ্ত প্রোগ্রামটিকে একটি তৃতীয়-পক্ষ পরিষেবা হিসাবে বিতরণের শর্তাবলী স্পষ্টভাবে ও দ্ব্যর্থহীনভাবে নির্ধারণ করে", এবং এর জন্য প্রয়োজন হয় যে, যখন সফটওয়্যারটি কোনো পরিষেবার অংশ হিসাবে জনসাধারণের জন্য উপলব্ধ করা হবে, তখন এর সমস্ত সোর্স কোডও সরবরাহ করতে হবে।

এই পরিবর্তনটি ২০১৮ সালের অক্টোবরে কার্যকর করা হয়েছিল, যার পরে ডেবিয়ান, রেড হ্যাট এন্টারপ্রাইজ লিনাক্স এবং ফেডোরা ডিস্ট্রিবিউশনগুলো এসএসপিএল (SSPL) সম্পর্কিত উদ্বেগের কথা উল্লেখ করে মঙ্গোডিবি (MongoDB) ব্যবহার করা বন্ধ করে দেয়। অ্যামাজন ডকুমেন্টডিবি (DocumentDB) নামে একটি সামঞ্জস্যপূর্ণ কিন্তু মালিকানাধীন পরিষেবা চালু করে এবং মনে হচ্ছিল যে এসএসপিএল মঙ্গোডিবি-র ক্লাউড রাজস্ব বাড়াতে ব্যর্থ হয়েছে। বেশিরভাগ মঙ্গোডিবি ব্যবহারকারীর এর দেওয়া অনেক উন্নত বৈশিষ্ট্যের প্রয়োজন হয় না, কিন্তু তাদের একটি ওপেন-সোর্স ডেটাবেস সমাধানের প্রয়োজন আছে, এবং এখানেই মঙ্গোডিবি-র ভূমিকা শুরু হয়।

আমাদের সমাধানের মূল হল একটি স্টেটলেস প্রক্সি, যা MongoDB প্রোটোকল প্রশ্নগুলিকে SQL-এ রূপান্তর করে এবং PostgreSQL কে ডাটাবেস ইঞ্জিন হিসাবে ব্যবহার করে। এটি MongoDB ড্রাইভারের সাথে সামঞ্জস্যপূর্ণ হবে এবং অনেক ক্ষেত্রে এটি MongoDB-এর সরাসরি প্রতিস্থাপন হিসাবে কাজ করবে।

MangoDB-এর লক্ষ্য হলো MongoDB-এর কার্যত প্রধান ওপেন-সোর্স বিকল্প হয়ে ওঠা। MangoDB একটি ওপেন-সোর্স প্রক্সি যা MongoDB-এর হার্ডওয়্যারযুক্ত প্রোটোকল কোয়েরিগুলোকে SQL-এ অনুবাদ করে এবং এর ডাটাবেস ইঞ্জিন হিসেবে PostgreSQL ব্যবহার করে। MangoDB, MongoDB ড্রাইভারগুলোর সাথে সামঞ্জস্যপূর্ণ হবে এবং অনেক ক্ষেত্রে MongoDB-এর সরাসরি প্রতিস্থাপন হিসেবে কাজ করবে।

প্রোগ্রামটি একটি প্রক্সি হিসেবে কাজ করে, যা MongoDB-তে করা কলগুলোকে PostgreSQL-এর জন্য SQL কোয়েরিতে অনুবাদ করে এবং এক্ষেত্রে PostgreSQL-কে প্রকৃত স্টোরেজ হিসেবে ব্যবহার করে। প্রজেক্টটি MongoDB ড্রাইভার সমর্থন করে, কিন্তু এটি এখনও প্রোটোটাইপ পর্যায়ে রয়েছে এবং উন্নত MongoDB প্রোটোকল ফিচারগুলো সমর্থন করে না, যদিও এটি সাধারণ অ্যাপ্লিকেশন অনুবাদের জন্য ইতোমধ্যেই উপযুক্ত।

ডিবিএমএস মঙ্গোডিবি-এর ব্যবহার এড়ানোর প্রয়োজন দেখা দিতে পারে প্রকল্পটি একটি নন-ফ্রি SSPL লাইসেন্সে রূপান্তরিত হওয়ার কারণে, যা AGPLv3 লাইসেন্সের উপর ভিত্তি করে, কিন্তু উন্মুক্ত নয়, কারণ এতে SSPL-এর অধীনে সরবরাহ করার জন্য একটি বৈষম্যমূলক প্রয়োজনীয়তা রয়েছে। শুধুমাত্র অ্যাপ্লিকেশনের কোডই নয়, ক্লাউড পরিষেবার বিধানের সাথে জড়িত সমস্ত উপাদানের উত্স কোডও।

অবশেষে, আপনি যদি MangoDB সম্পর্কে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেয়ে যাবেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন