ইন-মেমরি ডেটাবেস কী?
ইন-মেমরি ডেটাবেস হলো একটি ডেটাবেস ম্যানেজমেন্ট সিস্টেম যা কম্পিউটার ডেটা স্টোরেজের জন্য প্রাথমিকভাবে মেইন মেমরিতে নির্ভর করে। ইন-মেমরি ডেটাবেস ডিস্ক-অপ্টিমাইজড ডেটাবেস চেয়ে দ্রুত কারণ ডিস্ক অ্যাক্সেস মেমরি অ্যাক্সেস চেয়ে ধীর। মেমরিতে ডেটা অ্যাক্সেস করার সময় সিক টাইম (seek time)’éliminate হয়, যা ডিস্কের চেয়ে দ্রুত এবং আরও প্রেডিক্টেবল পারফরম্যান্স প্রদান করে। বিভিন্ন লাইসেন্সের সাথে অনেক ইন-মেমরি ডেটাবেস উপলব্ধ। এই নিবন্ধে আমরা রেডিস নিয়ে আলোচনা করব যা জনপ্রিয় এবং ওপেন সোর্স ইন-মেমরি ডেটাবেস। রেডিস নিয়ে যাওয়ার আগে, ইন-মেমরি ডেটাবেস ব্যবহারের কিছু প্রধান সুবিধা দেখি।
ইন-মেমরি ডেটাবেসের সুবিধা
- ইন-মেমরি ডেটাবেস বড় ডেটা ম্যানেজমেন্টে সাহায্য করে
- এটি রিয়েল-টাইম আপডেট সক্ষম করে যা ব্যবসায়ের তাদের ডেটা ঘটনাওয় সময়ে অ্যাক্সেস করতে দেয়
- এটি খুব দ্রুত ডেটা অ্যাক্সেস, স্টোরেজ এবং ম্যানিপুলেশন অনুমোদনকারী অ্যাপ্লিকেশনের সাথে ব্যবহৃত হয়
- ইন-মেমরি ডেটাবেস শুধু দ্রুত কোয়েরি রেসপন্স টাইমই নয়, একই সাথে ডেটা ইনডেক্সিং এবং OLAP কিউব বা অ্যাগ্রিগেট টেবিলে প্রি-অ্যাগ্রিগেটেড ডেটা সংরক্ষণের প্রয়োজনীয়তাও কমিয়ে দেয় বা সম্পূর্ণ অপসারণ করে
রেডিস (Redis)
রেডিস একটি ওপেন-सোর্স ইন-মেমরি ডেটাবেস প্রজেক্ট যা একটি ডিস্ট্রিবিউটেড, ইন-মেমরি কী-ভ্যালু স্টোর বাস্তবায়ন করে অপশনাল ডিউরাবিলিটির সাথে। রেডিস বিভিন্ন ধরনের অ্যাবস্ট্রাক্ট ডেটা স্ট্রাকচার সাপোর্ট করে, যেমন স্ট্রিংস, লিস্টস, ম্যাপস, সেটস, সোর্টেড সেটস, হাইপারলগ, বিটম্যাপস এবং স্পেশাল ইনডেক্সেস। আরও জানতে Redis In-Memory Database দেখুন।
আমাদের অ্যাপ্লিকেশনে রেডিস ইন-মেমরি ডেটাবেস ব্যবহার করার জন্য প্রথমে রেডিস ডেটাবেস ইনস্টল করতে হবে। এখান থেকে ডাউনলোড করুন: Download latest version of Redis In-Memory Database। ইনস্টলেশন হয়ে গেলে, একটি সিম্পল কনসোল অ্যাপ্লিকেশন তৈরি করি দেখতে এটি কীভাবে কাজ করে।
ধাপ ১। ভিজুয়াল স্টুডিও খুলুন — এখানে আমি Microsoft Visual Studio 2015 Community Edition ব্যবহার করছি। File - New - Project-এ ক্লিক করুন। ডেমো উদ্দেশ্যে আমি একটি কনসোল অ্যাপ্লিকেশন তৈরি করছি।

ধাপ ২। রেডিসের সাথে সংযোগের জন্য প্রথমে NuGet Package থেকে রেডিস ক্লায়েন্ট ডাউনলোড করতে হবে। Solution Explorer-এ References-এ রাইট ক্লিক করুন এবং Manage NuGet Packages-এ ক্লিক করুন। NuGet Package Manager খুলবে, সেখানে ServiceStack.Redis.Complete সার্চ করুন এবং ইনস্টল করুন।

ধাপ ৩। এখন রেডিস এনভায়রনমেন্ট রেডি, কিছু কোড লিখি। এখানে আমরা দুটি স্ট্যাটিক ফাংশন তৈরি করব, একটি রেডিস ডিবিতে ভ্যালু ইনসার্ট করার জন্য এবং দ্বিতীয়টি ডিবি থেকে পড়ার জন্য।
রেডিস ডেটাবেসে ডেটা সংরক্ষণের জন্য নিচের কোড ব্যবহার করছি।
///<summary>
///ToSaveKeyValuePairinRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<paramname="value">Valueasstring</param>
///<returns></returns>
privatestaticboolSave(stringhost,stringkey,stringvalue) {
using(varobjRedisClient=newRedisClient(host)) {
if(objRedisClient.Get<string>(key)==null) {
returnobjRedisClient.Set<String>(key,value);
} else {
returnfalse;
}
}
}
///<summary>
///TogetvaluefromRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<returns></returns>
privatestaticstringGet(stringhost,stringkey) {
using(varobjRedisClient=newRedisClient(host)) {
returnobjRedisClient.Get<String>(key);
}
}
এই দুটি ফাংশন কল করে টেস্ট করব:
staticvoidMain(string[]args) {
Save("localhost","Key1","Value1");
varresult=Get("localhost","Key1");
}
এই কোড ডিবাগ করার সময় ফলাফল:

উপসংহার
এই নিবন্ধে আমরা রেডিস ইন-মেমরি ডেটাবেসের বেসিক বাস্তবায়ন দেখেছি। আপনি এই নিবন্ধের সাথে আট্যাচড স্যাম্পল অ্যাপ্লিকেশন সোর্স কোড ডাউনলোড করতে পারেন। আশা করি আপনি এই নিবন্ধ পড়ে উপভোগ করেছেন। পড়তে থাকুন এবং আপনার মূল্যবান ফিডব্যাক পোস্ট করতে ভুলবেন না।