কম্পিউটার টিউটোরিয়াল

মেটেরিয়ালাইজড ভিউর টাইপ কী কী?


মেটেরিয়ালাইজড ভিউ ক্রিয়েশন স্টেটমেন্টের SELECT ক্লজ রিপ্রেজেন্ট করে যে ডেটা মেটেরিয়ালাইজড ভিউতে থাকবে। কিছু রেস্ট্রিকশন আছে যা লিমিট করে কী ডিফাইন করা যাবে এবং একাধিক টেবিল একসাথে জয়েন করা যাবে। কিছু এলিমেন্ট যেমন ভিউ, ইনলাইন ভিউ (SELECT স্টেটমেন্টের FROM ক্লজে সাবকোয়েরি), সাবকোয়েরি, এবং মেটেরিয়ালাইজড ভিউ যেগুলো SELECT ক্লজে সব একসাথে জয়েন বা ইনপুট করা যাবে।

মেটেরিয়ালাইজড ভিউর çeşitli টাইপ নিচে দেওয়া হলো:

অ্যাগ্রিগেটসহ মেটেরিয়ালাইজড ভিউ (Materialized Views with Aggregates) − ডেটা ওয়ারহাউসে, মেটেরিয়ালাইজড ভিউ সাধারণত অ্যাগ্রিগেট অন্তর্ভুক্ত করে। ফাস্ট রিফ্রেশ সম্ভব बनाने জন্য, SELECT লিস্টে সব GROUP BY কলাম থাকতে হবে (যদি থাকে), এবং কিছু অ্যাগ্রিগেটেড কলামে COUNT(*) এবং COUNT(column) থাকতে হবে।

মেটেরিয়ালাইজড ভিউ লগস কোয়েরির রেফারেন্স করা সকল টেবিলে থাকতে হবে যা মেটেরিয়ালাইজড ভিউ রিপ্রেজেন্ট করে। আসল অ্যাগ্রিগেট ফাংশনগুলো হলো SUM, COUNT(x), COUNT(*), AVG, VARIANCE, STDDEV, MIN, এবং MAX, এবং অগ্রিগেট করা এক্সপ্রেশন যেকোনো SQL ভ্যালু এক্সপ্রেশন হতে পারে।

শুধু জয়েনসহ মেটেরিয়ালাইজড ভিউ (Materialized Views containing only Joins) − কিছু মেটেরিয়ালাইজড ভিউ শুধু জয়েন ধারণ করে এবং কোনো অ্যাগ্রিগেট নয় যেখানে একটি মেটেরিয়ালাইজড ভিউ তৈরি করা হয় সেলস টেবিলকে টাইমস এবং কাস্টমার টেবিলের সাথে জয়েন করে। এই টাইপের মেটেরিয়ালাইজড ভিউ তৈরি করার সুবিধা হলো কষ্টসাধ্য জয়েনগুলো প্রি-কম্পিউটেড হবে।

শুধু জয়েন ধারণকারী মেটেরিয়ালাইজড ভিউর জন্য ফাস্ট রিফ্রেশ অ্যাপ্লাই করা হয় যেকোনো টাইপের DML-এর পর বেস টেবিলে (ডাইরেক্ট-পাথ বা কনভেনশনাল INSERT, UPDATE, বা DELETE)। শুধু জয়েন ধারণকারী মেটেরিয়ালাইজড ভিউকে ON COMMIT বা ON DEMAND রিফ্রেশ করা হয় বলে রিপ্রেজেন্ট করা যেতে পারে। যদি ON COMMIT হয়, রিফ্রেশ ট্রানজেকশনের কমিট টাইমে ইমপ্লিমেন্ট করা হয় যা মেটেরিয়ালাইজড ভিউর বেস টেবিলে DML করে।

যদি মেটেরিয়ালাইজড ভিউ শুধু জয়েন ধারণ করে, প্রতিটি টেবিলের ROWID কলাম (এবং একটি টেবিল যা FROM লিস্টে একাধিকবার আসে তার প্রতিটি উদাহরণ) মেটেরিয়ালাইজড ভিউর SELECT লিস্টে উপস্থিত থাকতে হবে।

যদি মেটেরিয়ালাইজড ভিউতে FROM ক্লজে রিমোট টেবিল থাকে, FROM ক্লজে সকল টেবিল সেই সাইটে রাখা উচিত। בנוסף, রিমোট টেবিলসহ মেটেরিয়ালাইজড ভিউর জন্য ON COMMIT রিফ্রেশ সাপোর্ট করা নয়। মেটেরিয়ালাইজড ভিউ লগস রিমোট সাইটে প্রতিটি ডিটেইল টেবিলের জন্য থাকতে হবে এবং ROWID কলাম মেটেরিয়ালাইজড ভিউর SELECT লিস্টে থাকতে হবে।

নেস্টেড মেটেরিয়ালাইজড ভিউ (Nested Materialized Views) − একটি নেস্টেড মেটেরিয়ালাইজড ভিউ হলো একটি মেটেরিয়ালাইজড ভিউ যার বর্ণনা অন্য একটি মেটেরিয়ালাইজড ভিউর ওপর ভিত্তি করে। একটি নেস্টেড মেটেরিয়ালাইজড ভিউ ডেটাবেসে বিভিন্ন রিলেশন রেফারেন্স করতে পারে যার মধ্যে মেটেরিয়ালাইজড ভিউ রেফারেন্স করা থাকে।

একটি ডেটা ওয়ারহাউসে, সাধারণত কিছু অ্যাগ্রিগেট ভিউ তৈরি করা হয় একক জয়েনে (উদাহরণস্বরূপ, একাধিক ডাইমেনশনে রোলআপ)। এটি ইনক্রিমেন্টালি এই ডISTINCT মেটেরিয়ালাইজড অ্যাগ্রিগেট ভিউ সাপোর্ট করতে uzun সময় লাগতে পারে, কারণ বেসিক জয়েন একাধিকবার ইমপ্লিমেন্ট করতে হয়।

  1. তথ্য নিরাপত্তাতে ডিক্রিপশনের প্রকারভেদ কী কী?

  2. MySQL ভিউ ব্যবহারের লিমিটেশনসমূহ

  3. JSTL ট্যাগের প্রকারভেদ কী কী?

  4. OS-এ Kernel কী? Kernel-এর প্রকারভেদ কী কী?