শীর্ষ MongoDB ইন্টারভিউ প্রশ্ন

Sirsa Mongodb Intarabhi U Prasna



MongoDB হল একটি ওপেন সোর্স NoSQL ডাটাবেস ম্যানেজমেন্ট সিস্টেম; এটি কেবল অসংগঠিত ডেটা সংরক্ষণে সহজ করে না বরং এটি পরিচালনাও করে। যখনই প্রশ্ন ওঠে কিভাবে অসংগঠিত ডেটার লক্ষ লক্ষ সারি পরিচালনা করা যায়, মঙ্গোডিবি সুপারিশ করা হয়।

MongoDB এর প্রথম সংস্করণ ফেব্রুয়ারি 2007 সালে প্রকাশিত হয়েছিল 10 জন সফ্টওয়্যার কোম্পানি, পরে 2013 সালে, 10gen কোম্পানির নাম পরিবর্তন করে MongoDB Inc.

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







অন্যান্য রিলেশনাল এবং NoSQL ডাটাবেসের তুলনায় MongoDB এত জনপ্রিয় হওয়ার অনেক কারণ রয়েছে, তার মধ্যে কয়েকটি হল:



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

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



MongoDB ইন্টারভিউ প্রশ্ন

সর্বাধিক প্রায়শই জিজ্ঞাসিত প্রশ্নগুলি তিনটি স্তরে বিভক্ত: মৌলিক স্তর, মধ্যবর্তী স্তর এবং বিশেষজ্ঞ স্তর।





মৌলিক স্তর

এই প্রশ্নগুলি মঙ্গোডিবি-র মৌলিক ধারণা এবং পরিভাষাগুলির সাথে সম্পর্কিত, এবং একটি সাক্ষাত্কারে, প্রতিটি প্রার্থীর এই প্রশ্নের উত্তর দেওয়া উচিত বলে আশা করা হচ্ছে।

প্রশ্ন 1: আপনি NoSQL ডাটাবেস এবং তাদের প্রকার সম্পর্কে কী জানেন?
NoSQL ডাটাবেস হল সেই ডাটাবেসগুলি যেগুলি টেবিলে ডেটা সঞ্চয় করে না যেমন SQL ডাটাবেস করে তার পরিবর্তে তারা ডকুমেন্ট এবং কী-ভ্যালু ফর্মের মতো অন্যান্য ফর্মগুলিতে ডেটা সঞ্চয় করে।



চারটি গুরুত্বপূর্ণ ধরনের NoSQL ডাটাবেস রয়েছে:

  • নথি ডাটাবেস: এই ডাটাবেসগুলি JSON নথির আকারে ডেটা সঞ্চয় করে, এই নথিগুলি একত্রিত হয়ে সংগ্রহ গঠন করে এবং এই সংগ্রহগুলি একত্রিত হয়ে একটি ডাটাবেস তৈরি করে।
  • মূল-মান ডাটাবেস: এই ডাটাবেসগুলি কী-মানের আকারে ডেটা সংরক্ষণ করে, উদাহরণস্বরূপ, 'নাম = জন', এই উদাহরণে 'নাম' হল কী, এবং 'জন' হল মান।
  • ওয়াইড-কলাম স্টোর: এই ডাটাবেসগুলি গতিশীল টেবিলের আকারে ডেটা সঞ্চয় করে, রিলেশনাল ডাটাবেসের বিপরীতে, এই টেবিলগুলি কাঠামোগত নয়।
  • গ্রাফ ডাটাবেস: এই ডাটাবেসে প্রান্ত এবং নোড রয়েছে; নোডগুলি তথ্য সঞ্চয় করতে ব্যবহৃত হয় যেখানে প্রান্তগুলি নোডগুলির মধ্যে সম্পর্ক দেখাতে ব্যবহৃত হয়।

প্রশ্ন 2: কোন ধরনের NoSQL ডাটাবেস MongoDB?
MongoDB ডাটাবেস ডকুমেন্ট ডাটাবেসের অন্তর্গত, যার মানে এটি JSON নথি অনুযায়ী ডেটা সঞ্চয় করে। এটি কোনো স্কিমা অনুসরণ করে না এবং এতে যেকোনো ধরনের ডেটা সন্নিবেশ করার অনুমতি দেয়।

প্রশ্ন 3: মঙ্গোডিবি এবং এসকিউএল ডাটাবেসের মধ্যে কোনটি ভাল?
মঙ্গোডিবি এসকিউএল ডাটাবেসের চেয়ে এমনভাবে ভাল যে এটি অসংগঠিত ডেটা পরিচালনা করতে পারে যেখানে এসকিউএল ডাটাবেসগুলি কেবল স্ট্রাকচার্ড ডেটা পরিচালনা করে এবং রিলেশনাল ডাটাবেসের বিপরীতে কোনও সীমাবদ্ধতা ছাড়াই এটি সংরক্ষণ করে। স্কিমলেস বৈশিষ্ট্যের কারণে, এসকিউএল ডাটাবেসের তুলনায় মঙ্গোডিবি-তে কোয়েরিগুলি দ্রুত পরিচালনা করা হয় কারণ ডেটা টেবিলের আকারে এবং তার পরিবর্তে অনেকগুলি টেবিলে রাখা হয় না, ডেটা একই জায়গায় স্থাপন করা হয় তাই এটি কোয়েরির জন্য ডেটা অ্যাক্সেস করা সহজ, এবং MongoDB এর ডেটা অন্যান্য প্রোগ্রামিং ভাষায় ম্যাপ করার অনুমতি দেয় যা এর ব্যবহারকারীদের এটিতে কাজ করতে সহজ করে।

প্রশ্ন 4: মঙ্গোডিবি-তে একটি নথি এবং সংগ্রহ কী?
তথ্য মঙ্গোডিবি-তে নথি আকারে সংরক্ষণ করা হয়, তারপর এই নথিগুলি একত্রিত হয়ে একটি সংগ্রহ তৈরি করে এবং অনেকগুলি সংগ্রহ একত্রিত হয়ে একটি ডাটাবেস তৈরি করে। এটি বোঝার জন্য, স্কুল_ডেটার একটি ডাটাবেসের উদাহরণ বিবেচনা করুন, স্কুল_ডেটার একটি ডাটাবেসে ক্লাস_ডেটা আছে এমন সংগ্রহ রয়েছে এবং আরও, এই নথিগুলিতে (শ্রেণীর_ডেটা) নথি আকারে ছাত্রদের ডেটা (ছাত্রের_ডেটা) রয়েছে।

প্রশ্ন 5: MongoDB ডেটা প্রকারগুলি কী কী?
মঙ্গোডিবি সমর্থন করে এমন অনেক ডেটা প্রকার রয়েছে:

স্ট্রিং স্ট্রিং ডেটা টাইপ বর্ণমালা/অক্ষর আকারে ডেটা সংরক্ষণ করে এবং এটি অবশ্যই 8 বাইটের হতে হবে এবং UTF-8 এর অন্তর্গত, উদাহরণস্বরূপ, জোন৷
পূর্ণসংখ্যা এটি 64 বিট পর্যন্ত সংখ্যা সঞ্চয় করে কিন্তু সার্ভারের উপর নির্ভর করে আকার পরিবর্তিত হতে পারে, উদাহরণস্বরূপ, 1,54।
বুলিয়ান এটি বুলিয়ান মান সংরক্ষণ করতে ব্যবহৃত হয় যা 0 বা 1 হতে পারে, উদাহরণস্বরূপ, জন ক্লাসে আছে? এর উত্তর হয় হ্যাঁ বা না।
ডাবল এটি 22.8 এর মত ভাসমান সংখ্যা সঞ্চয় করে।
সর্বনিম্ন/সর্বোচ্চ কী এটি সর্বনিম্ন এবং সর্বোচ্চ মান তুলনা করতে ব্যবহৃত হয়।
অ্যারে এটি একটি কীতে অ্যারে বা একাধিক মান সংরক্ষণ করতে ব্যবহৃত হয়।
টাইমস্ট্যাম্প যখন কোন নথি পরিবর্তন করা হয় তখন এটি পরিবর্তনের রেকর্ড রাখতে পারে।
অবজেক্ট এটি এমবেডেড নথি সংরক্ষণ করে
শূন্য এটা নাল মান সঞ্চয়.
প্রতীক এটি স্ট্রিং এর ধরন এবং চিহ্নগুলির সাথে সম্পর্কিত ভাষাগুলি সংরক্ষণ করতে পারে
তারিখ বর্তমান সময় এবং তারিখ এই ধরনের তথ্য সংরক্ষণ করা যেতে পারে
অবজেক্ট আইডি নথিতে অনন্য আইডি থাকে, এই আইডিগুলি এই ডেটা টাইপে সংরক্ষণ করা যেতে পারে
বাইনারি ডেটা বাইনারি ডেটা যা মেশিন ল্যাঙ্গুয়েজ নামেও পরিচিত এটিতে সংরক্ষণ করা হয়।
কোড জাভাস্ক্রিপ্ট কোড এই ডেটা টাইপের সাহায্যে নথিতে সংরক্ষণ করা হয়
নিয়মিত অভিব্যক্তি এই ডাটা টাইপে যেকোন এক্সপ্রেশন সংরক্ষণ করা যায়

প্রশ্ন 6: MongoDB এর বিকল্প কি কি?
MongoDB হল এক প্রকার NoSQL ডাটাবেস, যার সাহায্যে BSON নথিতে বৃহৎ বিতরণকৃত ডেটা সংরক্ষণ করা হয়। MongoDB এর বিকল্প হতে পারে Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis এবং Cassandra।

উচ্চমাধ্যমিক স্তর

এই প্রশ্নগুলি মৌলিক বিষয়গুলির চেয়ে উন্নত ধারণাগুলির সাথে আরও বেশি সম্পর্কিত এবং একটি সাক্ষাত্কারে, এটি আশা করা হয় যে একজন গড় প্রার্থীর এই প্রশ্নের উত্তর দেওয়া উচিত।

প্রশ্ন 7: কিভাবে আমরা উচ্চ স্তরে MongoDB এবং SQL তুলনা করতে পারি?
এসকিউএল ডাটাবেস হল রিলেশনাল ডাটাবেস যা সারি এবং কলামের আকারে একটি সুগঠিত এবং সংগঠিত উপায়ে ডেটা সংরক্ষণ করে যা টেবিল তৈরি করে, অন্যদিকে, MongoDB ডাটাবেস হল NoSQL ডাটাবেস, যা নথিতে ডেটা সংরক্ষণ করে, এই নথিগুলি সম্মিলিতভাবে সংগ্রহ হিসাবে পরিচিত, এবং এই সংগ্রহগুলি একত্রিত হয়ে একটি ডাটাবেস গঠন করে।

প্রশ্ন 8: মঙ্গোডিবি-তে ACID লেনদেন পরিচালনা এবং লক করার মতো কোনো কার্যকারিতা আছে কি?
না, ডিফল্টরূপে MongoDB মাল্টি-ডকুমেন্টে কোনো ACID লেনদেন প্রদান করে না, তবে, এটি একটি একক নথিতে ACID লেনদেনের সমর্থন প্রদান করতে পারে।

প্রশ্ন 9: মঙ্গোডিবিতে ইন্ডেক্সিং কি?
MongoDB-তে, সূচক হল একটি বিশেষ ডেটা কাঠামো যা ডাটাবেসের কিছু ক্ষেত্র দখল করে এবং একটি সূচক তৈরি করার জন্য কিছু ডেটা ধারণ করে। সূচকটি ডাটাবেসের অনুসন্ধান ক্ষমতাকে উন্নত করে, অনেক নথি থেকে একটি নির্দিষ্ট জিনিস অনুসন্ধান করার পরিবর্তে, একজন ব্যবহারকারী সরাসরি সূচীকরণের সাহায্যে নির্দিষ্ট নথিতে যেতে পারেন।

{
শিক্ষার্থী আইডি = 1
শিক্ষার্থীর নাম = 'পল'
দেশ = 'যুক্তরাষ্ট্র'
}

উপরের উদাহরণে, 'Student_id =1' হল একটি সূচক, তাই যদি কেউ Student_id বা 1 দ্বারা অনুসন্ধান করে, নিম্নলিখিত নথিটি খোলা হবে।

প্রশ্ন 10: MongoDB-তে, একটি অ্যারে ক্ষেত্রে একটি সূচক তৈরি করা যেতে পারে?

হ্যাঁ, আমরা MongoDB-তে অ্যারের ক্ষেত্রে একটি সূচক তৈরি করতে পারি এবং এটি অ্যারের প্রতিটি মানকে সূচী করে। আসলে, মঙ্গোডিবি নিজেই মাল্টিকি সূচক তৈরি করে এবং কোনও সূচক ক্ষেত্র যদি অ্যারে হয় তবে আপনাকে এটি নির্দিষ্ট করতে হবে না।

প্রশ্ন 11: একক MongoDB উদাহরণে একাধিক জাভাস্ক্রিপ্ট অপারেশন চালানো কি সম্ভব?
একক মঙ্গোড ইন্সট্যান্সে একাধিক জাভাস্ক্রিপ্ট অপারেশন চালানো সম্ভব কারণ 2.4 সংস্করণে MongoDB V8 জাভাস্ক্রিপ্ট ইঞ্জিন যোগ করা হয়েছে।

প্রশ্ন 12: MongoDB-তে জার্নালিং কি?
মঙ্গোডিবি-তে জার্নালিং সক্ষম করা হলে, এটি এর ডিরেক্টরির মধ্যে জার্নালের একটি সাবডিরেক্টরি তৈরি করে /ডেটা/ডিবি , যা ডিফল্টরূপে dbPath দ্বারা সংজ্ঞায়িত পথ। জার্নালিং চলাকালীন, MongoDB মেমরিতে এবং ডিস্কে ডেটা সম্পাদনা করে এবং সংরক্ষণ করে, ডেটা পরিবর্তনগুলি ডিস্কে স্থানান্তরিত হওয়ার আগে। এটি খুব সহায়ক যদি কোনো ত্রুটি ঘটে থাকে যার কারণে ডেটার পরিবর্তনগুলি সংরক্ষণ করা হয়নি, MongoDB জার্নাল ফাইল থেকে পরিবর্তনগুলি পুনরুদ্ধার করতে পারে এবং ফাইলগুলির স্থায়িত্ব নিশ্চিত করতে পারে।

এক্সপার্ট লেভেল

এই প্রশ্নগুলি MongoDB-এর আরও উন্নত ধারণাগুলির সাথে সম্পর্কিত, এটি প্রত্যাশিত যে একজন বিশেষজ্ঞ প্রার্থীর এই প্রশ্নের উত্তর দেওয়া উচিত।

প্রশ্ন 13: MongoDB শার্ডিং প্রক্রিয়া কি?
MongoDB-তে, শার্ডিং হল অনেক MongoDB সার্ভারের মধ্যে একটি বিশাল ডাটাবেসের ডেটা বিতরণ করার প্রক্রিয়া। সুতরাং ডেটা পরিচালনা করা সহজ এবং উচ্চ গতির সাথে প্রশ্নের উত্তর দিতে পারে। MongoDB শার্ডিংয়ের মাধ্যমে অনুভূমিক স্কেলিং সমর্থন করে।

MongoDB ক্লাস্টার তিনটি অংশ নিয়ে গঠিত যা হল shards ; এটি প্রতিরূপ হিসাবেও পরিচিত এবং প্রতিটি সার্ভারে উপলব্ধ, আম ; তারা সার্ভার এবং শার্ডের মধ্যে দোভাষী হিসাবে কাজ করে, এবং কনফিগার সার্ভার ; তারা ক্লাস্টার এবং মেটাডেটার কনফিগারেশন সেটিংস সংরক্ষণ করে।

প্রশ্ন 14: স্কেল-আউট কী এবং মঙ্গোডিবিতে এটি কীভাবে ঘটে?
যখন একটি একক নোডে প্রচুর ডেটা থাকে, তখন একাধিক নোড লোড করা নোডের কাছাকাছি নিয়ে আসে, এর লোড বিতরণ করতে। একটি একক নোডের লোড বিভিন্ন নোডে ভাগ করার এই প্রক্রিয়াটিকে স্কেল-আউট বলা হয় এবং এটি অনুভূমিক স্কেলিং নামেও পরিচিত।

প্রশ্ন 15: কিভাবে আমরা MongoDB ক্যোয়ারী ভাষা ব্যবহার করে ক্যোয়ারী পরিকল্পনা সম্পর্কে তথ্য পেতে পারি?
দ্য ব্যাখ্যা করা() কমান্ড ব্যবহার করা হয় এবং এটি মোডগুলিকে সমর্থন করে যা 'allPlansExecution, executionStats, এবং queryPlanner'। উদাহরণ স্বরূপ:

ডিবি . রেস্টুরেন্ট . ব্যাখ্যা করা ( 'নির্বাহের পরিসংখ্যান' ) . অনুসন্ধান (
{ 'রন্ধনপ্রণালী' : 1 , 'বরো' : 'ব্রুকলিন' }
) ;

উপরের উদাহরণে, রেস্টুরেন্টের ডেটা ব্যাখ্যা() কমান্ড থেকে পুনরুদ্ধার করা হয়েছে।

প্রশ্ন 16: MongoDB একত্রীকরণ ফ্রেমওয়ার্ক ব্যাখ্যা করুন।
MongoDB-তে, বিভিন্ন সংগ্রহ থেকে ডেটা আনা এবং গণনার পর একটি সম্মিলিত ফলাফল ফেরত দেওয়া যা অ্যাগ্রিগেশন নামে পরিচিত। এটির তিনটি ধাপ রয়েছে, প্রথমত, এটি ইনপুট নেবে এবং $match() ব্যবহার করে নথিগুলি থেকে আমাদের প্রয়োজনীয় নথিগুলিকে ফিল্টার করবে, তারপর আমরা $group() ব্যবহার করে ফিল্টার করা তথ্যের একত্রিতকরণ কাজ করি এবং অবশেষে, আমরা বাছাই করি $sort() ব্যবহার করে আমাদের ফলাফল।

প্রশ্ন 17: MongoDB অপারেশন ব্যবহার করে একাধিক ডাটাবেস লক করা কি সম্ভব?
হ্যাঁ, MongoDB একাধিক ডাটাবেস লক করতে পারে, একাধিক ডাটাবেস তাৎক্ষণিকভাবে লক করতে, আমরা MongoDB অপারেশন ব্যবহার করি db.copyDatabase() , যেখানে অপারেশন, db.repairDatabase() ডাটাবেস সম্পাদনা করার জন্য একটি গ্লোবাল লক প্রয়োগ করুন এবং এটি অপসারণ না হওয়া পর্যন্ত অন্যান্য ক্রিয়াকলাপগুলিকে প্রয়োগ করতে সীমাবদ্ধ করুন।

প্রশ্ন 18: মঙ্গোডিবিতে গ্রিডএফএস কী?
16 MB-এর বেশি বড় ফাইল যেমন ছবি, ভিডিও ফাইল এবং অডিও ফাইলগুলি MongoDB-এ GridFS ব্যবহার করে পরিচালিত হয় এবং একটি একক নথির পরিবর্তে ফাইলের অংশ এবং খণ্ডগুলিতে সংরক্ষণ করা হয়, ডিফল্টরূপে MongoDB শুধুমাত্র দুটি ফর্ম্যাট সমর্থন করে যা fs। ফাইল এবং fs.chunks খণ্ড এবং ফাইলের মেটাডেটা সংরক্ষণ করতে।

প্রশ্ন 19: আপনি কিভাবে MongoDB-তে প্রতিলিপি ঘটনা বর্ণনা করতে পারেন?
প্রতিলিপি হল অনেক সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজ করার প্রক্রিয়া, যেখানে MongoDB ডেটা অনুলিপি করে এবং বিভিন্ন সার্ভারে প্রতিলিপি করে, তাই সার্ভার ক্র্যাশের ক্ষেত্রে, ডেটা অন্য কোনও সার্ভার থেকে পুনরুদ্ধার করা যেতে পারে যা ডেটার নিরাপত্তা নিশ্চিত করে।

প্রশ্ন 20: মঙ্গো শেল কি?
একটি মঙ্গো শেল হল একটি জাভাস্ক্রিপ্ট প্ল্যাটফর্ম, যার মাধ্যমে আমরা MongoDB এর সাথে যোগাযোগ করতে পারি এবং প্রশ্নগুলি ব্যবহার করে ডেটাতে পরিবর্তনও করতে পারি। এটি ডাটাবেস দৃষ্টান্তগুলি বজায় রাখার মতো প্রশাসনিক উদ্দেশ্যেও ব্যবহৃত হয়। ডিফল্টরূপে, মঙ্গো শেল ইনস্টলেশন ফাইলে অন্তর্ভুক্ত থাকে তবে এটি ইনস্টল না হলে, আপনি এটি মঙ্গোডিবি সার্ভার থেকে ইনস্টল করতে পারেন।

উপসংহার

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