MongoDB তে Primary এবং Secondary Nodes দুটি গুরুত্বপূর্ণ কম্পোনেন্ট যা Replica Set ব্যবস্থায় ব্যবহৃত হয়। Replica Set হলো MongoDB এর একটি ফিচার যা ডেটাবেসের ডেটার হাই অ্যাভেইলেবিলিটি এবং রেডানডেন্সি নিশ্চিত করে। এটি MongoDB ডেটাবেস ক্লাস্টারে একাধিক সার্ভারের মধ্যে ডেটার কপি তৈরি করে, যাতে সার্ভার বা নোড ব্যর্থ হলেও ডেটা পুনরুদ্ধার করা যায় এবং সিস্টেমের কার্যক্রম চালু থাকে।
Replica Set-এ তিনটি বা তার বেশি MongoDB সার্ভার থাকতে পারে, যেখানে Primary এবং Secondary Nodes গুরুত্বপূর্ণ ভূমিকা পালন করে।
Primary Node
Primary Node হল MongoDB Replica Set-এ প্রধান সার্ভার, যা সমস্ত লেখা (write) অপারেশন পরিচালনা করে। যখন ডেটা ইনসার্ট, আপডেট বা ডিলিট করা হয়, তখন এই পরিবর্তনগুলি Primary Node এ ঘটে। Primary Node-এ সমস্ত লেখার কাজ হওয়ার পর, তা স্বয়ংক্রিয়ভাবে Secondary Nodes-এ কপি হয়।
- লেখা অপারেশন (Write Operations): সমস্ত লেখা অপারেশন (যেমন ডেটা ইনসার্ট, আপডেট, ডিলিট) Primary Node-এ হয় এবং এই পরিবর্তনগুলি Secondary Nodes-এ রিপ্লিকেট (কপি) করা হয়।
- একটি Replica Set-এ একটি Primary Node থাকে: Replica Set-এ এক সময়ে শুধুমাত্র একটি Primary Node থাকবে, তবে সেটি অন্য নোডের সাথে সিঙ্ক্রোনাইজ থাকে।
- নির্বাচন (Election): যদি কখনও Primary Node নষ্ট হয়ে যায়, Replica Set নির্বাচন প্রক্রিয়া (Election Process) শুরু করবে এবং একটি নতুন Primary Node নির্বাচন করা হবে।
Secondary Node
Secondary Nodes হল Replica Set-এ সেই সার্ভারগুলো যা Primary Node-এর কপি ধারণ করে এবং শুধুমাত্র read অপারেশন পরিচালনা করতে ব্যবহৃত হয়। Secondary Nodes মূলত Primary Node থেকে ডেটা কপি করে এবং সেগুলির মধ্যে সিঙ্ক্রোনাইজেশন বজায় রাখে।
- পঠন অপারেশন (Read Operations): Secondary Nodes-এ শুধুমাত্র পঠন (read) অপারেশন করা যায়। এটি মূলত ব্যবহারকারীদের সিস্টেমের অতিরিক্ত লোড কমাতে সহায়তা করে।
- ডেটা রিপ্লিকেশন: Primary Node-এ হওয়া সমস্ত পরিবর্তন (লেখার অপারেশন) স্বয়ংক্রিয়ভাবে Secondary Nodes-এ কপি হয়ে যায়। এই প্রক্রিয়াটি সিঙ্ক্রোনাইজেশন নামে পরিচিত।
- ডেটা রিড-এ নির্ভরতা: MongoDB তে, যদি Primary Node ব্যর্থ হয়, তবে এক বা একাধিক Secondary Nodes নির্বাচিত হয়ে Primary হিসেবে কাজ করতে পারে। এটি Replica Set এর হাই অ্যাভেইলেবিলিটি নিশ্চিত করে।
Primary এবং Secondary Nodes এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Primary Node | Secondary Node |
|---|---|---|
| ভূমিকা | লেখার অপারেশন পরিচালনা করে | পঠন (read) অপারেশন পরিচালনা করে |
| ডেটা পরিবর্তন | সমস্ত ডেটা পরিবর্তন (insert, update, delete) এখানে হয় | শুধুমাত্র ডেটা কপি/রিপ্লিকেট হয় |
| রিপ্লিকেশন | Secondary Nodes-এ ডেটা কপি/রিপ্লিকেট করে | Primary Node-এর পরিবর্তন কপি করে |
| অপারেশন | লেখার অপারেশন (write operations) | পড়ার অপারেশন (read operations) |
| হাই অ্যাভেইলেবিলিটি | Replica Set-এ একটি থাকে, নির্বাচন (election) প্রক্রিয়া থেকে নতুন Primary নির্বাচিত হয় | একাধিক থাকতে পারে এবং নির্বাচিত Primary থেকে ডেটা সিঙ্ক্রোনাইজ হয় |
Replica Set এবং Primary-Secondary Relationship
- Replica Set MongoDB এর একটি ফিচার, যা ডেটা রেডানডেন্সি এবং হাই অ্যাভেইলেবিলিটি নিশ্চিত করে। এক Replica Set-এ একাধিক Primary এবং Secondary Nodes থাকতে পারে, তবে একই সময়ে শুধুমাত্র একটি Primary Node থাকে।
- Primary Node সমস্ত লেখার কার্যক্রম পরিচালনা করে এবং Secondary Nodes স্বয়ংক্রিয়ভাবে Primary Node থেকে ডেটা কপি করে সিঙ্ক্রোনাইজ হয়।
- Replica Set এ যদি Primary Node নষ্ট হয়, তবে Secondary Nodes নির্বাচিত হয়ে Primary Node হিসেবে কাজ শুরু করতে পারে, যা সিস্টেমের আপটাইম এবং ডেটা অ্যাভেইলেবিলিটি নিশ্চিত করে।
সারাংশ
MongoDB তে Primary এবং Secondary Nodes Replica Set এর মধ্যে ডেটার রেডানডেন্সি এবং হাই অ্যাভেইলেবিলিটি নিশ্চিত করে। Primary Node সমস্ত লেখার কাজ পরিচালনা করে, এবং Secondary Nodes শুধুমাত্র পঠন (read) অপারেশন পরিচালনা করে, সেগুলি Primary Node থেকে ডেটা কপি করে সিঙ্ক্রোনাইজ থাকে। এই ব্যবস্থাটি MongoDB কে ডিস্ট্রিবিউটেড এবং স্কেলেবল ডেটাবেস হিসেবে তৈরি করে, যা বড় পরিসরের ডেটাবেসে কার্যকরীভাবে কাজ করে।
Read more