Azure SQL DB-এর জন্য রিসোর্স খরচের উপর সবচেয়ে বড় প্রভাবগুলির মধ্যে একটি হল অ্যাপ্লিকেশন স্তর দ্বারা বারবার ডেটা টান। সেই প্রশ্নগুলি যত দ্রুতই একই পদ্ধতিতে কল করা বা একই SQL স্টেটমেন্ট দিনে শত শত, হাজার বা মিলিয়ন বার জারি করা হোক না কেন তা ডাটাবেসের কর্মক্ষমতাকে ধ্বংস করতে পারে। হাজার কাটের মাধ্যমে মৃত্যু সহজেই একটি সিস্টেমকে তার হাঁটুতে নিয়ে যেতে পারে। কখনও কখনও ডিবিএ-এর পক্ষে এগুলি সক্রিয়ভাবে সমাধান করা কঠিন কারণ বিবৃতিগুলি এত দ্রুত কার্যকর হয় যে তারা sp_whoisactive-এর মতো সরঞ্জামগুলিতেও দেখায় না। যতক্ষণ না আপনি কোয়েরি পারফরম্যান্স ইনসাইটস বা কোয়েরি স্টোরের মতো জিনিসগুলিতে ডুব দিতে শুরু করেন ততক্ষণ আপনি আসল সমস্যাটি দেখতে শুরু করবেন না৷
আজিউর পোর্টাল


এসএসএমএস ক্যোয়ারী স্টোর এক্সিকিউশন কাউন্ট মেট্রিক সহ টপ কনজিউমিং কোয়েরি


প্রশ্ন হল আপনি কিভাবে এই সমস্যা মোকাবেলা করবেন? কোডটি সূক্ষ্ম সুর করা হয়েছে এবং সর্বোত্তম কর্মক্ষমতাতে চলে, এটি কেবলমাত্র অ্যাপ্লিকেশন কলের পরিমাণ যা সমস্যার সৃষ্টি করছে। একটি উত্তর হল রেডিসের জন্য Azure ক্যাশে৷
৷Redis এর জন্য Azure ক্যাশে কি?
সহজভাবে, এটি একটি ডেডিকেটেড মেমরি ক্যাশে ডেটা স্টোর যা ওপেন সোর্স Redis-এর উপর ভিত্তি করে Azure-এর ভিতরে বা বাইরে অ্যাপ্লিকেশনগুলি দ্বারা অ্যাক্সেস করা যেতে পারে। এটি আপনাকে ইন-মেমরি ডেটা স্টোরে ডেটা লোড করতে, সেখান থেকে সরাসরি পড়তে এবং আপনার ডাটাবেসে কলের সংখ্যা কমাতে সক্ষম করে। এই ক্যাশে স্তরে ডেটা স্থাপন করা অ্যাপ্লিকেশনটিকে বারবার পুনরাবৃত্তিযোগ্য ডেটা কল করতে বাধা দেয়। এটি নাটকীয়ভাবে ডাটাবেসের কর্মক্ষমতা উন্নত করতে পারে, লেটেন্সি কমাতে পারে এবং অন্যান্য ডেটা অনুরোধের জন্য সংস্থানগুলিকে ক্যাশে এবং ডাটাবেস স্তর থেকে দূরে সরিয়ে কর্মক্ষমতা লোডকে মুক্ত করতে পারে। এটি আপনার অ্যাপ্লিকেশন কোড পরিবর্তন প্রয়োজন হবে; যাইহোক, এটি সম্ভাব্য সত্যিই ডাটাবেস কর্মক্ষমতা বৃদ্ধি করতে পারে. আপনি এখানে Microsoft ডক্সে একটি মোটামুটি জটিল অ্যাপের উদাহরণ দেখতে পারেন।
এটি শুধুমাত্র একটি পারফরম্যান্স লাভ নয় কিন্তু একটি আর্থিক লাভও হতে পারে। ফলাফল প্রকৃতপক্ষে আপনার Azure SQL ডেটাবেসগুলিকে স্কেল করার অনুমতি দিতে পারে কারণ আপনার সম্পদ খরচ হ্রাস পাবে৷
শুরু করা
একটি রিসোর্স তৈরি করুন, ডাটাবেসের অধীনে Redis এর জন্য Azure ক্যাশে নির্বাচন করুন

ক্যাশে টাইপ বিকল্পগুলিতে মনোযোগ দিন। মূল্যের স্তরের লিঙ্কে ক্লিক করতে ভুলবেন না যাতে আপনি আপনার পরিবেশের জন্য সঠিকটি বেছে নিতে পারেন। এই ক্ষেত্রে আমি সবচেয়ে সস্তা একটি বেছে নিচ্ছি, বেসিক C0, যা আমাকে শুধুমাত্র 250 MB ক্যাশে পায় কিন্তু প্রতি মাসে $16 অনুমান করা হয়, বড়গুলি একটু দামি হতে পারে৷

নেটওয়ার্কিং এর জন্য আপনাকে পাবলিক বা প্রাইভেট এন্ডপয়েন্ট বেছে নিতে হবে পরবর্তী
বেছে নিন

এখন আপনি কোন Redis সংস্করণ চান তা চয়ন করুন। নোট করুন প্রিভিউতে একটি সংস্করণ 6 রয়েছে। পরবর্তী আপনাকে ট্যাগ বিকল্পগুলিতে নিয়ে যাবে, যা আমি এড়িয়ে যাই, কারণ আমার সম্পদ ট্যাগ করার দরকার নেই। অবশেষে, আমরা রিভিউ করি এবং রিসোর্স তৈরি করি। এখন যেহেতু আমাদের একটি রেডিস ক্যাশে রিসোর্স তৈরি হয়েছে, এটি ব্যবহার করতে, এতে ডেটা সঞ্চয় করতে এবং আপনার অ্যাপ্লিকেশনগুলির মাধ্যমে এটি অ্যাক্সেস করতে সক্ষম হতে আরও অনেক পদক্ষেপ নিতে হবে৷ আমি সেই পদক্ষেপগুলি আপনার উপর ছেড়ে দেব, এই পোস্টে আমি আপনাকে পোর্টালে এটি কোথায় পাওয়া যাবে এবং কীভাবে এটি তৈরি করতে হবে তা দেখাতে চেয়েছিলাম৷
সারাংশ
আপনি যদি এমন একটি পরিবেশের মধ্যে কাজ করেন যেখানে প্রতি ঘন্টায় হাজার হাজার বার বার বার ডেটা কল হয়, তাহলে এটি আপনার জন্য সত্যিই একটি দুর্দান্ত সম্পদ হতে পারে। আমি আপনাকে আপনার পারফরম্যান্স টিউনিং টুল কিটে রেডিসের জন্য Azure ক্যাশে যোগ করার পরামর্শ দিচ্ছি। প্রক্রিয়াটি চালিয়ে যাওয়ার জন্য আপনার প্রয়োজনীয় সমস্ত তথ্য আপনি এখানে পেতে পারেন। বিবেচনা করার জন্য সমস্ত নিরাপত্তা বিষয়গুলিও পড়তে ভুলবেন না। মাইক্রোসফ্ট ডক্সের মধ্যে প্রচুর দরকারী ডকুমেন্টেশন রয়েছে যা এখানেও পাওয়া যাবে৷
৷