In-memory caching হল এমন একটি প্রযুক্তি যেখানে ডেটা সরাসরি সিস্টেমের মেমরি (RAM)-এ সংরক্ষিত থাকে, ডিস্কের তুলনায় যা অনেক দ্রুত। এই প্রযুক্তি ডেটার দ্রুত অ্যাক্সেস নিশ্চিত করে, কারণ মেমরি অ্যাক্সেস ডিস্কের তুলনায় অনেক দ্রুত। H2 ডেটাবেজ এবং অন্যান্য ডেটাবেজে In-memory caching ব্যবহার করে বারবার ব্যবহৃত ডেটাকে মেমরিতে রাখা হয়, যা ডিস্ক থেকে পুনরায় রিট্রিভ করার পরিবর্তে সরাসরি মেমরি থেকে দ্রুত পাওয়া যায়।
এই টিউটোরিয়ালে আমরা In-memory caching এর বিভিন্ন প্রযুক্তি এবং H2 ডেটাবেজে এর প্রয়োগ নিয়ে আলোচনা করব।
H2 ডেটাবেজে In-memory caching বাস্তবায়ন করার জন্য কিছু বিশেষ ধরনের ক্যাশিং পদ্ধতি রয়েছে, যেগুলি নিম্নলিখিতভাবে কাজ করে:
Row-level caching এর মাধ্যমে একটি ডেটাবেজ টেবিলের নির্দিষ্ট রো মেমরিতে সংরক্ষণ করা হয়। এই পদ্ধতি তখনই কার্যকরী হয় যখন কিছু নির্দিষ্ট রো বারবার অ্যাক্সেস করা হয়, এবং এর ফলে ডেটা দ্রুত মেমরি থেকে ফিরে আসে।
CACHE_SIZE
ব্যবহার করা হয়, যা রো ক্যাশিংয়ের কার্যকারিতা উন্নত করে।jdbc:h2:mem:test;CACHE_SIZE=1024;
এটি 1024KB মেমরি রো ক্যাশিং জন্য ব্যবহার করবে।
Query result caching হল যখন একটি কুয়েরি বারবার এক্সিকিউট করা হয় এবং প্রথমবার এর ফলাফল মেমরিতে ক্যাশ করা হয়। পরবর্তী সময়ে একই কুয়েরি চালানো হলে, ডেটা মেমরি থেকে সরাসরি ফিরে আসে এবং ডিস্কের পরিবর্তে ক্যাশ থেকে পাওয়া যায়।
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;CACHE_SIZE=1024;
এটি পুরো ডেটাবেজ ইন-মেমরি চালাবে এবং ক্যাশিং সক্ষম করবে।
Page-level caching একটি পদ্ধতি যেখানে ডেটাবেজের পেজগুলো মেমরিতে ক্যাশ করা হয়। একটি পেজ সাধারণত একাধিক রো ধারণ করে, তাই এটি বড় আকারের ডেটা রিট্রিভালের জন্য কার্যকরী।
jdbc:h2:mem:test;CACHE_SIZE=8192;
এটি 8192KB (8MB) মেমরি দিয়ে পেজ ক্যাশিংকে সক্রিয় করবে।
In-memory database হল এমন একটি ডেটাবেজ যেখানে পুরো ডেটাবেজ মেমরিতে সংরক্ষিত থাকে, এবং এটি কোনো ডিস্ক স্টোরেজ ব্যবহার করে না। এই পদ্ধতিতে ডেটাবেজের সমস্ত ডেটা RAM-এ থাকে, যা এক্সেসের জন্য অত্যন্ত দ্রুত।
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;
এটি পুরো ডেটাবেজকে ইন-মেমরি চালাবে এবং এটি অ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত মেমরিতে থাকবে।
Hybrid caching একটি কৌশল যেখানে একাধিক ক্যাশিং টেকনিক একসাথে ব্যবহৃত হয়। যেমন, আপনি রো ক্যাশিং এবং কুয়েরি ক্যাশিং একত্রে ব্যবহার করতে পারেন, যেখানে ডেটার নির্দিষ্ট অংশের জন্য ভিন্ন ক্যাশিং পদ্ধতি ব্যবহার করা হয়।
jdbc:h2:mem:test;CACHE_SIZE=2048;DB_CLOSE_DELAY=-1;
এটি ইন-মেমরি ডেটাবেজে 2048KB ক্যাশিং ব্যবহার করবে।
In-memory caching একটি শক্তিশালী প্রযুক্তি যা ডেটার দ্রুত অ্যাক্সেস নিশ্চিত করে এবং পারফরম্যান্স উন্নত করতে সহায়তা করে। H2 ডেটাবেজে In-memory caching এর মাধ্যমে আপনি বিভিন্ন ক্যাশিং প্রযুক্তি যেমন রো ক্যাশিং, কুয়েরি ক্যাশিং, পেজ ক্যাশিং, এবং ইন-মেমরি ডেটাবেজ ব্যবহার করে অ্যাপ্লিকেশন এবং ডেটাবেজের কর্মক্ষমতা উন্নত করতে পারেন।
common.read_more