MangoDB আধুনিক করা হয়েছে এবং এখন ফেরেটডিবিতে পরিবর্তিত হয়েছে

সম্প্রতিএস দিনে প্রকল্প চালুর খবর ঘোষণা করা হয় FerretDB, (পূর্বে MangoDB), যা আপনাকে আপনার অ্যাপ্লিকেশন কোডে কোনো পরিবর্তন না করেই MongoDB-এর নথি-ভিত্তিক DBMS-কে PostgreSQL-এর সাথে প্রতিস্থাপন করতে দেয়।

ফেরেটডিবি একটি প্রক্সি সার্ভার হিসাবে প্রয়োগ করা হয়েছে যা মঙ্গোডিবি-তে কলগুলিকে এসকিউএল কোয়েরিতে PostgreSQL-এ অনুবাদ করে, আপনাকে প্রকৃত সঞ্চয়স্থান হিসাবে PostgreSQL ব্যবহার করতে দেয়।

ফেরেটডিবি (পূর্বে ম্যাঙ্গোডিবি) মঙ্গোডিবি-র জন্য ডি ফ্যাক্টো ওপেন সোর্স প্রতিস্থাপনের জন্য প্রতিষ্ঠিত হয়েছিল। FerretDB হল একটি ওপেন সোর্স প্রক্সি যা ডাটাবেস ইঞ্জিন হিসাবে PostgreSQL ব্যবহার করে MongoDB ওয়্যার প্রোটোকল প্রশ্নগুলিকে SQL-এ রূপান্তর করে।

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

FerretDB-এর লক্ষ্য শ্রোতা হল সেইসব ব্যবহারকারী যারা MongoDB-এর উন্নত বৈশিষ্ট্যগুলি ব্যবহার করেন না তাদের অ্যাপ্লিকেশনে, কিন্তু একটি সম্পূর্ণ খোলা সফ্টওয়্যার স্ট্যাক ব্যবহার করতে চান।

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

এটা মনে রাখা উচিত মঙ্গোডিবি দ্রুত এবং মাপযোগ্য সিস্টেমগুলির মধ্যে একটি বিশেষ স্থান দখল করে যেগুলি কী/মান বিন্যাসে ডেটাতে কাজ করে এবং রিলেশনাল ডিবিএমএস, কার্যকরী এবং কোয়েরি তৈরিতে সুবিধাজনক।

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

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

FerretDB 0.1.0 এর রিলিজে এটি উল্লেখ করা হয়েছে যে PostgreSQL ডেটা পুনরুদ্ধার করার উপায় সম্পূর্ণরূপে পুনরায় ডিজাইন করা হয়েছে. পূর্বে, প্রতিটি আগত MongoDB অনুরোধের জন্য, একটি SQL থেকে PostgreSQL কোয়েরি তৈরি করা হয়েছিল, JSON ফর্ম্যাটের সাথে কাজ করার জন্য ফাংশন ব্যবহার করে এবং PostgreSQL পাশে ফলাফলগুলি ফিল্টার করে।

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

বর্ধিত সামঞ্জস্যের মূল্য একটি কর্মক্ষমতা শাস্তি ছিল, যা ভবিষ্যত রিলিজগুলিতে ফেরেটডিবি পক্ষের নির্বাচনী ফিল্টারিং দ্বারা অফসেট হবে বলে আশা করা হচ্ছে শুধুমাত্র সেই প্রশ্নের জন্য যার জন্য আচরণগত ভিন্নতা রয়েছে।

উদাহরণস্বরূপ, "db.collection.find({_id: 'some-id-value'})" কোয়েরিটি PostgreSQL-এ সম্পূর্ণরূপে প্রক্রিয়া করা যেতে পারে। উন্নয়নের এই পর্যায়ে প্রকল্পের মূল লক্ষ্য হল MongoDB-এর সাথে সামঞ্জস্য অর্জন করা, এবং কর্মক্ষমতা এখনও পটভূমিতে নিবদ্ধ।

নতুন সংস্করণে কার্যকরী পরিবর্তনগুলির মধ্যে, সমস্ত বিটওয়াইজ অপারেটর, "$e" তুলনা অপারেটর, সেইসাথে "$elemMatch" এবং "$bitsAllClear" অপারেটরগুলির জন্য সমর্থন রয়েছে।

পরিশেষে যারা এটি সম্পর্কে আরও জানতে আগ্রহী তাদের জন্য, তাদের জানা উচিত যে কোডটি Go-তে লেখা আছে এবং Apache 2.0 লাইসেন্সের অধীনে বিতরণ করা হয়েছে এবং আপনি নিম্নলিখিত লিঙ্কে এর কোড চেক করতে পারেন।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।