কম্পিউটার টিউটোরিয়াল

MongoDB শার্ডিং দিয়ে স্কেল করুন: একটি রোবাস্ট, স্কেলেবল আর্কিটেকচার বানান

MongoDB শার্ডিং দিয়ে স্কেল করুন: একটি রোবাস্ট, স্কেলেবল আর্কিটেকচার বানান

একটি gầnের ব্লগ পোস্টে, আমি আলোচনা করেছি কখন MongoDB স্কেল করার প্রয়োজন। এই পোস্টে ফোকাস হল কীভাবে MongoDB স্কেল করবেন।

MongoDB ভার্সন ৩.০ WiredTiger-কে ডিফল্ট স্টোরেজ ইঞ্জিন হিসেবে পরিচয় করিয়েছিল। MongoDB তখন থেকে স্কেলেবিলিটির জন্য দুটি পদ্ধতি প্রদান করতে সক্ষম হয়েছে। Mongo এখন ভার্টিক্যালি এবং হরিজেন্টালি দুটোই এক্সপ্যান্ড করতে পারে। উভয় পদ্ধতিটি নিকটে দৃষ্টি নিবেশ করা উচিত।

MongoDB শার্ডিং দিয়ে স্কেল করুন: একটি রোবাস্ট, স্কেলেবল আর্কিটেকচার বানান

ভার্টিক্যাল স্কেলিং

ভার্টিক্যাল স্কেলিং কম্পিউটিং রিসোর্স বাড়ায়, যেমন CPU সংখ্যা এবং ধরন, বা RAM বা ডিস্ক স্পেসের পরিমাণ। এই কথা মনে রাখে, WiredTiger-এ ভার্টিক্যাল স্কেলিং করলে, আপনাকে চিহ্নিত করতে হবে কোন রিসোর্স বোতলনেকের কারণ (CPU/RAM/ডিস্ক স্পেস বা তাদের কিছু কম্বিনেশন)।

WiredTiger RAM-এ নোট
যদি অ্যালোকেটেড RAM ১GB-এর কম হয়, WiredTiger সাধারণত ২৫৬MB বা উপলব্ধ RAM-এর ৫০ শতাংশ ডিফল্ট করে। ফলস্বরূপ, আরও RAM অ্যালোকেট করলে WiredTiger ক্যাশ রিসাইজ করতে হবে।

হরিজেন্টাল স্কেলিং

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

শার্ডিং ইনফ্রাস্ট্রাকচার সেটআপ করা

শার্ডিং কনফিগারেশনের জন্য জড়িত ফিজিক্যাল কম্পোনেন্টগুলো নিচের আইটেমগুলো প্রয়োজন:

  • Mongos কোয়ারি রাউটার হিসেবে কাজ করে।
  • Config servers শার্ডিং মেটাডেটা ধারণ করে।
  • Data nodes আসল ডেটা ধারণ করে।

ফিজিক্যাল কম্পোনেন্ট সম্পর্কে আরও জানতে আমাদের MongoDB ওভারভিউ দেখুন।

শার্ড কি ডিফাইন করা

ফিজিক্যাল শার্ডিং ইনফ্রাস্ট্রাকচার সেটআপ করার পর, শার্ডিং-এর লজিক্যাল দিকের ওপর ফোকাস করুন। শার্ড কি একটি কালেকশনের ভিতরে বিভিন্ন ফিল্ডকে রিপ্রেজেন্ট করে যা MongoDB ডেটা পার্টিশন করতে ব্যবহার করে। সুবিধাজনকভাবে, Mongo আপনাকে এই কি ডিফাইন করতে দেয়।

শার্ড কি ইমপ্লিমেন্ট করতে জড়িত ফিল্ডগুলো চিহ্নিত করতে:

  1. শার্ড করার কালেকশন চিহ্নিত করুন। ২০০MB-এর চেয়ে বড় কালেকশন এবং যাদের ডেটা সমানভাবে বিতরণ করা যায় সেগুলো শার্ডিং-এর জন্য ভালো ক্যান্ডিডেট।
  2. উপযুক্ত শার্ড কি জেনারেট বা ডিজাইন করুন। শার্ড কি তৈরি করার সময় নিচের সুপারিশ এবং প্রশ্নগুলো বিবেচনা করুন:
  • অ্যাপ্লিকেশন ডাটাবেসের সাথে কীভাবে ইন্টারঅ্যাক্ট করে সেটি সম্পর্কে কিছু ইনসাইট পান।
  • বিবেচনা করুন অ্যাপ্লিকেশন বেশি রিড-হেভি কিনা, রাইট-হেভি কিনা, অথবা সমানভাবে ব্যালেন্সড।
  • ডাটাবেসের বিপরীত সবচেয়ে গুরুত্বপূর্ণ অ্যাক্টিভিটি কী? উদাহরণস্বরূপ, অ্যাপ্লিকেশন ডাটাবেসে বড় পরিমাণ ডেটা লিখতে পারে, কিন্তু সবচেয়ে গুরুত্বপূর্ণ অ্যাক্টিভিটি হতে পারে ১০০ ms-এ কম সময়ে ডেটা রিটার্ন করা কোয়ারি।
  • সাপ্তাহিক এবং মাসিক ডেটা গ্রোথ প্যাটার্ন কী আশা করা হচ্ছে?
  • কোনো পেইন বা সমস্যা এলাকা সমাধান করতে আছে কিনা, যেমন স্লো কোয়ারি?
  • দিন, সপ্তাহ, মাস, বা বছরের নির্দিষ্ট ঘণ্টায় অ্যাপ্লিকেশন ব্যস্ত কিনা? সারাদিন ব্যস্ত কিনা?

এই ইস্যুগুলো পরীক্ষা করার পর, আপনি একটি আরও বিস্তারিত অ্যানালাইসিস শুরু করতে পারেন। আমাদের পরবর্তী ব্লগ পোস্টে সঠিক শার্ড কি খুঁজে বের করার পদ্ধতি আলোচনা করা হবে।

  1. মmongodb ব্যবহার করার শীর্ষ Кейস উন্নত কাস্টমার এক্সপেরিয়েন্সের জন্য

  2. MongoDB স্কেলিংে পারদর্শিতা: বিশাল বৃদ্ধির জন্য একটি সম্পূর্ণ গাইড

  3. MongoDB স্পেস ম্যানেজমেন্ট 습득: অ্যালোকেশন, ড্যাশবোর্ড, এবং স্কেলিং টিপস

  4. RoboMongo ObjectRocket-এ ইন্টিগ্রেট করা: আপনার MongoDB ডেটাবেস ভিজ্যুয়ালাইজ করুন