Redis RDB এর পুরো নাম কি? Redis RDB মেমরি ডেটা পারসিসটেন্স অপারেশন মোড

RDB এর পুরো নামRedis database.

  • নাম অনুসারে, RDB হল একটি Redis ডাটাবেস যা ডেটা সঞ্চয় করতে ব্যবহৃত হয়।
  • অতএব, RDB অধ্যবসায়ের মাধ্যমে, রেডিস মেমরিতে সংরক্ষিত ডেটা RDB ফাইলে লেখা হয় এবং অধ্যবসায় অর্জনের জন্য ডিস্কে সংরক্ষণ করা হয়।
  • রেডিসের বৈশিষ্ট্য হল যে এটি ডেটাকে স্থির রাখতে পারে, অর্থাৎ, কোনও ডেটা হারিয়ে না যায় তা নিশ্চিত করার জন্য মেমরি থেকে ডিস্কে ডেটা লিখতে পারে এবং ডিস্ক থেকে মেমরিতে ডেটা লোড করতে পারে।

Redis RDB এর পুরো নাম কি? Redis RDB মেমরি ডেটা পারসিসটেন্স অপারেশন মোড

শুরুতে Redis-এর ক্রিয়াকলাপগুলি সমস্ত মেমরির উপর ভিত্তি করে, তাই কর্মক্ষমতা খুব বেশি, কিন্তু একবার প্রোগ্রামটি বন্ধ হয়ে গেলে, ডেটা হারিয়ে যায়।

অতএব, আমাদের নির্দিষ্ট ব্যবধানে ডিস্কে ইন-মেমরি ডেটা লিখতে হবে, যা জার্গনে স্ন্যাপশট।

পুনরুদ্ধার করার সময়, স্ন্যাপশট ফাইলটি মেমরিতে সরাসরি লেখা হয়।

এটিও রেডিস এবং মেমক্যাচেডের মধ্যে প্রধান পার্থক্যগুলির মধ্যে একটি, কারণ মেমক্যাচেডের কোনও অধ্যবসায়ের ক্ষমতা নেই।

রেডিস মেমরি ডেটার স্থিরতার জন্য, রেডিস আমাদের নিম্নলিখিত পদ্ধতিগুলি সরবরাহ করে:

  • স্ন্যাপশট পদ্ধতি (RDB, Redis DataBase): একটি নির্দিষ্ট মুহূর্তে বাইনারি আকারে ডিস্কে মেমরি ডেটা লিখুন;
  • শুধুমাত্র ফাইল যোগ করুন (AOF, শুধুমাত্র ফাইল যোগ করুন), সমস্ত অপারেশন কমান্ড রেকর্ড করুন এবং টেক্সট আকারে ফাইলে যুক্ত করুন;
  • হাইব্রিড অধ্যবসায়, Redis 4.0 এর পরে একটি নতুন পদ্ধতি, হাইব্রিড অধ্যবসায় RDB এবং AOF এর সুবিধাগুলিকে একত্রিত করে৷লেখার সময়, প্রথমে বর্তমান ডেটাটি ফাইলের শুরুতে RDB আকারে লিখুন এবং তারপরে পরবর্তী অপারেশন কমান্ডগুলি AOF আকারে ফাইলটিতে সংরক্ষণ করুন, যা শুধুমাত্র রেডিস পুনরায় চালু করার গতি নিশ্চিত করতে পারে না, তবে কমাতে পারে। তথ্য হারানোর ঝুঁকি

কারণ প্রতিটি অধ্যবসায় স্কিমের নির্দিষ্ট ব্যবহার পরিস্থিতি রয়েছে।

Redis RDB মেমরি ডেটা পারসিসটেন্স অপারেশন মোড

  • RDB (Redis DataBase) হল একটি মেমরি স্ন্যাপশট (স্ন্যাপশট) একটি নির্দিষ্ট মুহূর্তে বাইনারি আকারে ডিস্কে লেখার প্রক্রিয়া।
  • মেমরি স্ন্যাপশট আমরা উপরে কি বলেছি.এটি একটি নির্দিষ্ট মুহুর্তে মেমরিতে ডেটার স্টেট রেকর্ডকে বোঝায়।
  • এটি একটি ফটো তোলার মতো৷ আপনি যখন কোনও বন্ধুর ছবি তোলেন, তখন একটি ফটো তাত্ক্ষণিকভাবে বন্ধুর সমস্ত ছবি রেকর্ড করতে পারে৷
  • RDB ট্রিগার করার দুটি উপায় আছে: একটি হল ম্যানুয়াল ট্রিগারিং, এবং অন্যটি হল স্বয়ংক্রিয় ট্রিগারিং৷

ম্যানুয়ালি RDB ট্রিগার করুন

ম্যানুয়ালি অধ্যবসায় ট্রিগার করার জন্য দুটি অপারেশন আছে:savebgsave.

তাদের মধ্যে প্রধান পার্থক্য হল Redis প্রধান থ্রেডের মৃত্যুদন্ড কার্যকর করা বা না করা।

1. কমান্ড সংরক্ষণ করুন

ক্লায়েন্ট সাইডে সেভ কমান্ড কার্যকর করা Redis-এর স্থিরতাকে ট্রিগার করবে, কিন্তু এটি Redisকে একটি ব্লকিং অবস্থায় তৈরি করবে। এটি RDB অব্যাহত না থাকা পর্যন্ত অন্যান্য ক্লায়েন্টদের পাঠানো কমান্ডের প্রতি সাড়া দেবে না, তাই এটি সতর্কতার সাথে ব্যবহার করা আবশ্যক। উত্পাদন পরিবেশ।

127.0.0.1:6379> save
OK
127.0.0.1:6379>

কমান্ড কার্যকর করার প্রক্রিয়া চিত্রে দেখানো হয়েছে 

2. bgsave কমান্ড

  • bgsave (ব্যাকগ্রাউন্ড সেভ) একটি ব্যাকগ্রাউন্ড সেভ।
  • এটি এবং save কমান্ডের মধ্যে সবচেয়ে বড় পার্থক্য হল bgsave একটি শিশু প্রক্রিয়াকে স্থিরতা সঞ্চালনের জন্য ফর্ক করবে।
  • পুরো প্রক্রিয়াটি তখনই ঘটে যখন শিশু প্রক্রিয়াটি কাঁটাচামচ হয়।শুধুমাত্র একটি সংক্ষিপ্ত অবরোধ আছে।
  • শিশু প্রক্রিয়া তৈরি হওয়ার পরে, রেডিসের প্রধান প্রক্রিয়া অন্যান্য ক্লায়েন্টদের অনুরোধের প্রতিক্রিয়া জানাতে পারে।

পুরো প্রক্রিয়া অবরুদ্ধ করেsaveকমান্ডের তুলনায়bgsaveকমান্ড আমাদের ব্যবহারের জন্য স্পষ্টতই আরও উপযুক্ত।

127.0.0.1:6379> bgsave
Background Saving started # 提示开始后台保存 
127.0.0.1:6379>

স্বয়ংক্রিয়ভাবে RDB ট্রিগার করুন

ম্যানুয়াল ট্রিগারিং সম্পর্কে কথা বলার পরে, আসুন স্বয়ংক্রিয় ট্রিগারিংয়ের দিকে তাকাই।আমরা কনফিগারেশন ফাইলে স্বয়ংক্রিয় ট্রিগারিংয়ের শর্তগুলি কনফিগার করতে পারি।

1. mn সংরক্ষণ করুন

  • সেভ mn মানে হল m সেকেন্ডের মধ্যে, যদি n কী পরিবর্তন হয়, তাহলে অধ্যবসায় স্বয়ংক্রিয়ভাবে ট্রিগার হয়।পরামিতি m এবং n রেডিস কনফিগারেশন ফাইলে পাওয়া যাবে।
  • উদাহরণস্বরূপ, 60 1 সংরক্ষণের অর্থ হল 60 সেকেন্ডের মধ্যে, যতক্ষণ না একটি কী পরিবর্তন হবে, ততক্ষণ RDB স্থিরতা ট্রিগার হবে।
  • স্বয়ংক্রিয়ভাবে ট্রিগার করার অধ্যবসায়ের সারমর্ম হল যে যদি সেট ট্রিগার শর্ত পূরণ করা হয়, Redis স্বয়ংক্রিয়ভাবে একবার bgsave কমান্ডটি চালাবে।

দ্রষ্টব্য: যখন একাধিক save mn কমান্ড সেট করা হয়, যে কোনো একটি শর্ত অধ্যবসায় ট্রিগার করবে।

উদাহরণস্বরূপ, আমরা নিম্নলিখিত দুটি save mn কমান্ড সেট করি:

save 60 10
save 600 20
  • Redis কী মান 60 এর মধ্যে 10 বার পরিবর্তিত হলে, অধ্যবসায় ট্রিগার হবে;
  • যদি Redis কী 60-এর মধ্যে পরিবর্তিত হয়, এবং যদি মান 10 বারের কম পরিবর্তিত হয়, Redis নির্ধারণ করবে যে Redis কীটি 600-এর মধ্যে অন্তত 20 বার পরিবর্তিত হয়েছে কিনা, এবং যদি তাই হয়, তাহলে স্থিরতা ট্রিগার করুন।

2. ফ্লাশাল

  • Redis ডাটাবেস ফ্লাশ করতে flushall কমান্ড ব্যবহার করা হয়।
  • এটি একটি উত্পাদন পরিবেশে সতর্কতার সাথে ব্যবহার করা আবশ্যক।
  • Redis যখন flushall কমান্ডটি কার্যকর করে, তখন এটি স্বয়ংক্রিয় অধ্যবসায় ট্রিগার করে এবং RDB ফাইলটি সাফ করে।

3. মাস্টার-স্লেভ সিঙ্ক্রোনাইজেশন ট্রিগার

রেডিস মাস্টার-স্লেভ রেপ্লিকেশনে, যখন স্লেভ নোড একটি সম্পূর্ণ রেপ্লিকেশন অপারেশন সম্পাদন করে, তখন মাস্টার নোড RDB ফাইলটিকে স্লেভ নোডে পাঠানোর জন্য bgsave কমান্ড চালাবে৷ এই প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে Redis অধ্যবসায়কে ট্রিগার করে৷

Redis কমান্ডের মাধ্যমে বর্তমান কনফিগারেশন পরামিতি অনুসন্ধান করতে পারে।

ক্যোয়ারী কমান্ডের বিন্যাস হল:config get xxx

উদাহরণস্বরূপ, আপনি যদি একটি RDB ফাইলের স্টোরেজ নাম সেটিং পেতে চান, আপনি ব্যবহার করতে পারেন config get dbfilename .

কার্যকরী প্রভাব নিম্নরূপ:

127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"

যেহেতু RDB ফাইল লোড করার সময় Redis সার্ভার ব্লক করবে যতক্ষণ না লোডিং সম্পূর্ণ হয়, এটি একটি দীর্ঘ সময় হতে পারে এবং ওয়েবসাইট অ্যাক্সেস করা যাবে না।

আপনি যদি Redis এর RDB ক্যাশে ফাইল dump.rdb ম্যানুয়ালি মুছতে চান, তাহলে আপনি dump.rdb ফাইলের স্টোরেজ পাথ খুঁজে পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন▼

find / -name dump.rdb
  • তারপর, SSH এর মাধ্যমে dump.rdb ক্যাশে ফাইলটি ম্যানুয়ালি মুছুন।

Redis RDB এর কনফিগারেশন সেট করে

RDB এর কনফিগারেশন সেট করার বিষয়ে, আপনি নিম্নলিখিত দুটি উপায় ব্যবহার করতে পারেন:

  1. Redis কনফিগারেশন ফাইলটি ম্যানুয়ালি পরিবর্তন করুন
  2. কমান্ড লাইন সেটিংস ব্যবহার করুন, config সেট dir "/usr/data" হল RDB ফাইল পরিবর্তন করার জন্য স্টোরেজ কমান্ড

দ্রষ্টব্য: redis.conf-এ কনফিগারেশনটি config get xxx এর মাধ্যমে প্রাপ্ত করা যেতে পারে এবং কনফিগার সেট xxx মানের মাধ্যমে সংশোধন করা যেতে পারে, এবং Redis কনফিগারেশন ফাইলটিকে ম্যানুয়ালি পরিবর্তন করার পদ্ধতি বিশ্বব্যাপী কার্যকর, অর্থাৎ, Redis সার্ভার পুনরায় চালু করার মাধ্যমে সেট করা প্যারামিটারগুলি হবে না। হারিয়ে যাবে, কিন্তু কমান্ড ব্যবহার করে পরিবর্তিত হবে, Redis পুনরায় আরম্ভ করার পরে এটি হারিয়ে যাবে।

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

RDB ফাইল পুনরুদ্ধার

Redis সার্ভার শুরু হলে, যদি RDB ফাইল dump.rdb Redis রুট ডিরেক্টরিতে বিদ্যমান থাকে, তাহলে Redis স্বয়ংক্রিয়ভাবে RDB ফাইলটিকে স্থায়ী ডেটা পুনরুদ্ধার করতে লোড করবে।

যদি রুট ডিরেক্টরিতে কোনো dump.rdb ফাইল না থাকে, অনুগ্রহ করে dump.rdb ফাইলটিকে প্রথমে Redis-এর রুট ডিরেক্টরিতে নিয়ে যান।

অবশ্যই, রেডিস শুরু হলে লগ ইনফরমেশন থাকে, যা দেখাবে RDB ফাইল লোড হয়েছে কিনা।

লোডিং সম্পূর্ণ না হওয়া পর্যন্ত RDB ফাইল লোড করার সময় Redis সার্ভার ব্লক করে।

এখন আমরা জানি যে RDB দৃঢ়তা দুটি উপায়ে বিভক্ত: ম্যানুয়াল ট্রিগারিং এবং স্বয়ংক্রিয় ট্রিগারিং:

  1. এর সুবিধা হল স্টোরেজ ফাইলটি ছোট এবং রেডিস চালু হলে ডেটা পুনরুদ্ধার দ্রুত হয়।
  2. নেতিবাচক দিক হল যে ডেটা হারানোর ঝুঁকি রয়েছে।

RDB ফাইলগুলির পুনরুদ্ধারও খুব সহজ৷ Redis এর রুট ডিরেক্টরিতে RDB ফাইলগুলি রাখুন, এবং Redis যখন এটি শুরু হবে তখন স্বয়ংক্রিয়ভাবে ডেটা লোড এবং পুনরুদ্ধার করবে৷

RDB এর সুবিধা এবং অসুবিধা

1) RDB সুবিধা

RDB বিষয়বস্তু হল বাইনারি ডেটা, কম মেমরি দখল করে, আরও কমপ্যাক্ট, এবং ব্যাকআপ ফাইল হিসাবে আরও উপযুক্ত;

RDB দুর্যোগ পুনরুদ্ধারের জন্য খুব দরকারী, এটি একটি সংকুচিত ফাইল যা রেডিস পরিষেবা পুনরুদ্ধারের জন্য দ্রুত একটি দূরবর্তী সার্ভারে স্থানান্তর করা যেতে পারে;

RDB রেডিসের গতিকে ব্যাপকভাবে উন্নত করতে পারে, কারণ মূল রেডিস প্রক্রিয়াটি ডিস্কে ডেটা বজায় রাখার জন্য একটি চাইল্ড প্রক্রিয়াকে ফর্ক করবে।

Redis প্রধান প্রক্রিয়া ডিস্ক I/O এর মতো ক্রিয়াকলাপ সম্পাদন করে না;

AOF ফর্ম্যাট ফাইলের সাথে তুলনা করে, RDB ফাইলগুলি দ্রুত পুনরায় চালু হয়।

2) RDB এর অসুবিধা

কারণ RDB শুধুমাত্র একটি নির্দিষ্ট সময়ের ব্যবধানে ডেটা সংরক্ষণ করতে পারে, যদি Redis পরিষেবাটি ভুলবশত মাঝখানে বন্ধ হয়ে যায়, তাহলে Redis ডেটা নির্দিষ্ট সময়ের জন্য হারিয়ে যাবে;

একটি প্রক্রিয়া যাতে সাবেন্ট্রি ব্যবহার করে ডিস্কে রাখার জন্য RDB-কে ঘন ঘন কাঁটাচামচের প্রয়োজন হয়।

যদি ডেটাসেট বড় হয়, কাঁটাচামচ সময়সাপেক্ষ হতে পারে, এবং ডেটাসেট বড় হলে, CPU কর্মক্ষমতা দুর্বল, যার কারণে Redis কয়েক মিলিসেকেন্ড বা এমনকি এক সেকেন্ডের জন্য ক্লায়েন্টদের পরিষেবা দিতে অক্ষম হতে পারে।

অবশ্যই, আমরা Redis-এর সম্পাদন দক্ষতা উন্নত করার জন্য অধ্যবসায় অক্ষম করতে পারি।

আপনি ডেটা হারানোর প্রতি সংবেদনশীল না হলে, ক্লায়েন্ট সংযোগ করলে আপনি এটি করতে পারেন config set save "" Redis-এর জন্য অধ্যবসায় নিষ্ক্রিয় করার আদেশ।

redis.conf, যদি মধ্যেsaveশুরুতে সমস্ত কনফিগারেশন মন্তব্য করুন, এবং অধ্যবসায় অক্ষম করা হবে, কিন্তু এটি সাধারণত করা হয় না।

হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ ) শেয়ার করেছেন "Redis RDB এর পুরো নাম কি? Redis RDB ইন-মেমরি ডেটা পারসিসটেন্স অপারেশন মোড", আপনাকে সাহায্য করবে।

এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-26677.html

সর্বশেষ আপডেট পেতে চেন ওয়েইলিয়াং এর ব্লগের টেলিগ্রাম চ্যানেলে স্বাগতম!

🔔 চ্যানেলের শীর্ষ ডিরেক্টরিতে মূল্যবান "ChatGPT সামগ্রী বিপণন AI টুল ব্যবহারের নির্দেশিকা" পেতে প্রথম হন! 🌟
📚 এই গাইডটিতে বিশাল মূল্য রয়েছে, 🌟এটি একটি বিরল সুযোগ, এটি মিস করবেন না! ⏰⌛💨
ভালো লাগলে শেয়ার এবং লাইক করুন!
আপনার শেয়ার এবং লাইক আমাদের ক্রমাগত অনুপ্রেরণা!

 

发表 评论

আপনার ইমেইল ঠিকানা প্রচার করা হবে না. 必填 项 已 用 * 标注

উপরে যান