MongoDB এবং অন্যান্য RDBMS-এর সাথে তুলনা করার সময় আমি ব্যক্তিগতভাবে যে সুবিধা এবং অসুবিধাগুলি অনুভব করেছি
নমস্কার, আমি অদক্ষ।
আমি দ্রুত কিছু গবেষণা করেছি এবং আমার চিন্তাভাবনাগুলি এখানে সংক্ষেপে তুলে ধরছি।
যদি কাঠামোটি শুরু থেকেই নির্ধারিত না হয়, তবে কি এটি ডেভেলপার-বান্ধব এবং নমনীয় প্রতিক্রিয়া প্রদান করতে পারে?
উদাহরণস্বরূপ, যদি MariaDB-এর মতো একটি টেবিলে 'password' নামের একটি ফিল্ড থাকে, তবে ভুল করে 'passw"a"rd' হিসাবে ব্যবহার করার চেষ্টা করলে ডেটা অখণ্ডতা নষ্ট হবে এবং একটি ত্রুটি দেখা দেবে।
অর্থাৎ, একটি RDBMS হিসাবে, এটি স্কিমা অনুযায়ী ডেটা পরিচালনা করার বৈশিষ্ট্যের উপর নির্ভর করে।
এর বিপরীতে, MongoDB, একটি "NoSQL" এবং ডকুমেন্ট-ভিত্তিক ডাটাবেস হওয়ায়, এমনকি ভুল টাইপ করা 'passw"a"rd' হলেও তা সংরক্ষণ করবে। কারণ এটির জন্য নির্ভুলতার প্রয়োজন হয় না।
গতিশীল ডেটা পরিচালনা করা বা ডেভেলপারদের দৃষ্টিকোণ থেকে স্কেল আপ করা সহজ বলা যেতে পারে, তাই না? অবশ্যই, ডেটা সংরক্ষণের সময় ডেটা অখণ্ডতার অভাব একটি ডাটাবেস হিসাবে কতটা উপযুক্ত, তা নিয়ে প্রশ্ন উঠতে পারে, তবে MongoDB থেকে অন্যান্য RDBMS-এ রূপান্তর করা সম্ভব, এবং যদি এর বহুমুখিতা থাকে তবে এটি সম্পূর্ণরূপে ব্যবহার করা উচিত নয় এমনটা মনে হয় না।
MongoDB-তে যা পরিপক্ক হয়েছে তার জন্য, যদি পরে প্রয়োজন হয় তবে অন্য RDBMS-এ স্থানান্তরিত করা যেতে পারে, তবে যদি শুরু থেকেই একটি নির্দিষ্ট ডাটাবেস কাঠামো নির্ধারিত থাকে তবে এটি ব্যবহার করার প্রয়োজন নাও হতে পারে।
যাই হোক না কেন, একজন ডেভেলপারের দৃষ্টিকোণ থেকে একটি ডাটাবেস হিসাবে ব্যবহারের সহজতার ক্ষেত্রে MongoDB-এর কিছু সুবিধা রয়েছে বলে মনে হয়।
যখন আপনি কোনো ডেটা বাদ না দিয়ে DB-তে সংরক্ষণ করতে চান তখনও এটি কার্যকর হতে পারে।
উদাহরণস্বরূপ, যখন একাধিক সাইটের ডেটা পরিচালনা করা হয়, তখন আপনি ব্যবহারকারী বা ব্যবহারকারী আইডি যাই হোক না কেন, সবকিছু MongoDB-তে ফেলে দিতে পারেন এবং পরে একসাথে সম্পাদনা করতে পারেন। একই সংগ্রহে সবকিছু সংরক্ষণ করা একটি সুবিধা কারণ এটি পরে সম্পাদনা করা যেতে পারে। আমি আসলে সহজেই প্রতিস্থাপন করতে পেরেছিলাম।
যখন আপনি লগ হিসাবে DB-তে সংরক্ষণ করতে চান, তখন আপনি কোনো কিছু বাদ না দিয়ে সবকিছু সংরক্ষণ করতে পারেন, তাই আপনি ডেটা বাদ না দিয়ে প্রায় সবকিছু কভার করতে সক্ষম হতে পারেন।
আমি দেখেছি যে এটি বেশ সমালোচিত হয়েছে এবং এমনকি বলা হয়েছে যে এটি ব্যবহার করার কোনো মানে নেই, তবে বাস্তবে এটি ব্যবহার করার সময় আমি এটিকে পরিচালনা করা বেশ সহজ বলে মনে করেছি, তাই আমি ভবিষ্যতে এটি ব্যবহার করতেও পারি বা নাও করতে পারি।
তাহলে।
আবার দেখা হবে।