Hazelcast একটি ডিস্ট্রিবিউটেড ডেটা গ্রিড এবং কম্পিউটিং প্ল্যাটফর্ম হিসেবে মূলত ইন-মেমরি ডেটা প্রোসেসিং ও স্টোরেজ সমর্থন করে, তবে অনেক অ্যাপ্লিকেশন ব্যবহারকারীর জন্য ডেটা পার্সিস্টেন্স (ডেটার স্থায়ী সংরক্ষণ) নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ। Hazelcast-এ ডেটা পার্সিস্টেন্স কনফিগারেশন বিভিন্ন পদ্ধতিতে করা যায় যাতে ডেটা হারিয়ে না যায়, বিশেষত যখন সিস্টেম পুনরায় চালু করা হয় বা নোড ব্যর্থ হয়।
Hazelcast ডেটা পার্সিস্টেন্স কনফিগারেশন করার জন্য দুটি প্রধান পদ্ধতি রয়েছে:
- Hot Restart Persistence
- Data Backup and Recovery
এছাড়াও, Hazelcast মেমরি ক্যাশিং এবং ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচার এর জন্য পার্সিস্টেন্স সমর্থন করে, যাতে ডেটা দ্রুত এবং স্থায়ীভাবে সংরক্ষণ করা যায়।
1. Hot Restart Persistence
Hot Restart Persistence Hazelcast ক্লাস্টারের ডেটাকে ডিস্কে সঞ্চয় করে এবং সিস্টেম বা নোড ব্যর্থ হলে ডেটা পুনরুদ্ধার করতে সাহায্য করে। এই কনফিগারেশনটি নিশ্চিত করে যে ক্লাস্টার পুনরায় চালু করার পরও ডেটা অক্ষত থাকে।
Hot Restart Persistence কনফিগারেশন Steps
Hazelcast এর Hot Restart Persistence কনফিগারেশন করতে হলে hazelcast.xml বা HazelcastInstance কনফিগারেশন ক্লাসের মাধ্যমে এটি নির্ধারণ করা যেতে পারে।
hazelcast.xml কনফিগারেশন
<hazelcast>
<!-- Enable Hot Restart Persistence -->
<persistent-memory>
<enabled>true</enabled>
<base-dir>/path/to/persistent/storage</base-dir>
</persistent-memory>
<!-- Hot Restart Configuration -->
<map name="defaultMap">
<in-memory-format>OBJECT</in-memory-format>
<backup-count>1</backup-count>
<async-backup-count>0</async-backup-count>
<eviction-policy>NONE</eviction-policy>
<max-idle-seconds>600</max-idle-seconds>
<time-to-live-seconds>3600</time-to-live-seconds>
<hot-restart-enabled>true</hot-restart-enabled>
</map>
</hazelcast>
কনফিগারেশন ব্যাখ্যা:
persistent-memory.enabled: এটি ডেটার পার্সিস্টেন্স সক্রিয় বা নিষ্ক্রিয় করে।trueথাকলে ডেটা ডিস্কে সঞ্চয় করা হয়।base-dir: এখানে পার্সিস্টেন্ট ডেটা সংরক্ষণের জন্য ডিরেক্টরি নির্ধারণ করতে হবে।hot-restart-enabled: এই অপশনটিtrueহলে হট রিস্টার্ট পার্সিস্টেন্স সক্রিয় হয়, যার মাধ্যমে নোড বা ক্লাস্টার পুনরায় চালু করা হলে ডেটা পুনরুদ্ধার করা যায়।
2. Data Backup and Recovery
Data Backup এবং Recovery হল ডেটার ফলোআপ কপি তৈরি করে ডেটার স্থায়িত্ব নিশ্চিত করার আরেকটি পদ্ধতি। Hazelcast এর ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারগুলি বিভিন্ন নোডে রেপ্লিকেটেড থাকে, ফলে একটি নোড ব্যর্থ হলেও ডেটা পুনরুদ্ধার করা সম্ভব হয়। এছাড়া, Hot Restart Persistence এর সাথে একত্রে ব্যবহার করে ডেটার দীর্ঘস্থায়ী সংরক্ষণ নিশ্চিত করা যায়।
Backup Configuration in Hazelcast
Hazelcast-এ ডেটা স্ট্রাকচার কনফিগার করার সময় আপনি backup-count এবং async-backup-count এর মাধ্যমে ব্যাকআপ কনফিগার করতে পারেন:
<hazelcast>
<map name="exampleMap">
<backup-count>2</backup-count> <!-- Number of synchronous backups -->
<async-backup-count>1</async-backup-count> <!-- Number of asynchronous backups -->
</map>
</hazelcast>
কনফিগারেশন ব্যাখ্যা:
backup-count: এটি ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারের জন্য কতটি ব্যাকআপ নোড থাকতে হবে তা নির্ধারণ করে।async-backup-count: এটি ডেটার অ্যাসিঙ্ক্রোনাস ব্যাকআপ সংখ্যা নির্ধারণ করে।
Hazelcast ডেটা অটোমেটিক্যালি বিভিন্ন নোডে ব্যাকআপ করে এবং সিস্টেমের ব্যর্থতা বা নোড হারানোর পর ডেটার পুনরুদ্ধার প্রক্রিয়া সহজ করে।
3. Persistent Storage Configuration for Distributed Maps
Hazelcast ডিস্ট্রিবিউটেড ম্যাপ (IMap) এর জন্য পার্সিস্টেন্স কনফিগারেশন করতে পারেন, যেখানে ডেটা মেমরি এবং ডিস্ক উভয় স্থানে সঞ্চিত থাকবে।
<hazelcast>
<map name="persistentMap">
<in-memory-format>OBJECT</in-memory-format>
<backup-count>1</backup-count>
<hot-restart-enabled>true</hot-restart-enabled>
</map>
</hazelcast>
ব্যাখ্যা:
in-memory-format: এটি ডেটা কীভাবে মেমরিতে সংরক্ষণ হবে তা নির্ধারণ করে।OBJECTফর্ম্যাটে ডেটা মেমরিতে সম্পূর্ণ অবজেক্ট হিসেবে রাখা হয়।hot-restart-enabled: যখন এটিtrueথাকে, তখন ডেটা হট রিস্টার্ট পার্সিস্টেন্সের মাধ্যমে সঞ্চিত থাকবে।
4. Persistent Storage for Other Data Structures
Hazelcast অন্যান্য ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচার (যেমন IQueue, IList, ISet) এর জন্যও পার্সিস্টেন্স কনফিগার করতে সহায়ক, যেমন:
<hazelcast>
<queue name="persistentQueue">
<backup-count>2</backup-count>
<hot-restart-enabled>true</hot-restart-enabled>
</queue>
</hazelcast>
এখানে, IQueue স্ট্রাকচারের জন্য ব্যাকআপ কনফিগারেশন করা হয়েছে, এবং hot-restart-enabled সক্রিয় করা হয়েছে, যাতে ডেটা পুনরুদ্ধারযোগ্য থাকে।
5. Recovery and Failover Mechanism
Hazelcast ডেটার failover এবং recovery ব্যবস্থাও সমর্থন করে। যখন কোনো নোড ব্যর্থ হয়, তখন ক্লাস্টারটি ডেটা রেপ্লিকেশন এবং hot restart persistence এর মাধ্যমে ডেটা পুনরুদ্ধার করতে সক্ষম হয়। ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারগুলির কপি অন্যান্য নোডে সঞ্চিত থাকে, যা সিস্টেমের পারফরম্যান্স বজায় রাখতে সহায়ক।
সারাংশ
Hazelcast Data Persistence কনফিগারেশন ডিস্ট্রিবিউটেড ডেটা গ্রিডে ডেটার স্থায়ী সংরক্ষণ নিশ্চিত করতে সহায়ক। এটি Hot Restart Persistence এবং Data Backup কনফিগারেশন সহ ব্যাকআপ এবং রিকভারি প্রক্রিয়ার মাধ্যমে ডেটা অক্ষত রাখতে সাহায্য করে। Hazelcast এর ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারগুলির জন্য পার্সিস্টেন্স কনফিগারেশন ডেটার দ্রুত অ্যাক্সেস এবং দীর্ঘস্থায়ী সঞ্চয় নিশ্চিত করে, যা কোনো নোড ব্যর্থ হলে ডেটা পুনরুদ্ধার সহজ করে তোলে।
Read more