কিউব কম্পিউটেশনের কৌশল (Strategies for Cube Computation)
ডেটা কিউবের দক্ষ কম্পিউটেশনের জন্য নিম্নলিখিত সাধারণ অপ্টিমাইজেশন টেকনিকগুলো রয়েছে:
সর্টিং, হ্যাশিং এবং গ্রুপিং (Sorting, hashing, and grouping) − ডাইমেনশন অ্যাট্রিবিউটে সর্টিং, হ্যাশিং এবং গ্রুপিং অপারেশন প্রয়োগ করা উচিত যাতে সম্পর্কিত টাপলগুলো রি-অর্ডার এবং ক্লাস্টার করা যায়। কিউব কম্পিউটেশনে, এগ্রিগেশন বাস্তবায়ন করা হয় টাপল (বা সেল) ওপরে যাদের ডাইমেনশন ভ্যালুর একই সেট থাকে। তাই এগ্রিগেশন কম্পিউটেশন প্রোমোট করার জন্য সর্টিং, হ্যাশিং এবং গ্রুপিং সার্ভিস এক্সপ্লোর করা জরুরি যাতে এমন ডেটা অ্যাক্সেস এবং গ্রুপ করা যায়।
উদাহরণস্বরূপ, ব্রাঞ্চ, দিন এবং আইটেম অনুযায়ী টোটাল সেলস এভালুয়েট করতে হলে, টাপল বা সেলকে ব্রাঞ্চ অনুযায়ী সর্ট করা, তারপর দিন অনুযায়ী, এবং তারপর আইটেম নাম অনুযায়ী গ্রুপ করা আরও ইফিশিয়েন্ট। হিউজ ডেটা সেটে এমন অপারেশনের ইফিশিয়েন্ট ইমপ্লিমেন্টেশন ডেটাবেস রিসার্চ কমিউনিটিতে ব্যাপকভাবে অধ্যয়ন করা হয়েছে। এই ইমপ্লিমেন্টেশনগুলো ডেটা কিউব কম্পিউটেশনে এক্সটেন্ড করা যেতে পারে।
সিমাল্টানিয়াস এগ্রিগেশন এবং ক্যাশিং ইন্টারমিডিয়েট রেজাল্ট (Simultaneous aggregation and caching intermediate results) − কিউব কম্পিউটেশনে, বেস ফ্যাক্ট টেবিলের বদলে পূর্বে কম্পিউট করা লোয়ার-লেভেল এগ্রিগেশন থেকে হাই-লেভেল এগ্রিগেশন কম্পিউট করা যথেষ্ট। অথবা, ক্যাশ করা ইন্টারমিডিয়েট কম্পিউটেশন রেজাল্ট থেকে সিমাল্টানিয়াস এগ্রিগেশন করলে কস্টলি ডিস্ক I/O অপারেশন কমাতে পারা যায়।
উদাহরণস্বরূপ, ব্রাঞ্চ অনুযায়ী সেলস কম্পিউট করতে হলে, লোয়ার-লেভেল কিউবয়েড থেকে প্রাপ্ত ইন্টারমিডিয়েট রেজাল্ট ব্যবহার করা যেতে পারে, যেমন ব্রাঞ্চ এবং দিন অনুযায়ী সেলস। এই মেথডকে এমর্টাইজড স্ক্যান (অর্থাৎ, ডিস্ক রিড এমর্টাইজ করার জন্য একসাথে যতটা সম্ভব কিউবয়েড কম্পিউট করা) বাস্তবায়ন করতে এক্সটেন্ড করা যায়।
সর্বোচ্চ স্মলেস্ট চাইল্ড থেকে এগ্রিগেশন, যখন একাধিক চাইল্ড কিউবয়েড থাকে (Aggregation from the smallest child, when there exist multiple child cuboids) − যখন একাধিক চাইল্ড কিউবয়েড থাকে, তবে সাধারণত ডিজায়ারড প্যারেন্ট (আরও জেনারালাইজড) কিউবয়েডটি পূর্বে কম্পিউট করা সবচেয়ে ছোট চাইল্ড কিউবয়েড থেকে এভালুয়েট করা আরও ইফিশিয়েন্ট।
উদাহরণস্বরূপ, একটি সেলস কিউবয়েড C_Branch কম্পিউট করতে হলে, যখন دوটি পূর্বে কম্পিউট করা কিউবয়েড C_{Branch, Year} এবং C_{Branch, Item} থাকে, তবে C_Branch আগের থেকে কম্পিউট করা আরও ইফিশিয়েন্ট যদি সelten ইয়ার থেকে বস্তুতে বেশি ডিস্টিন্ট আইটেম থাকে।
Apriori প্রুনিং মেথড ব্যবহার করে আইসবার্গ কিউব দক্ষতার সাথে কম্পিউট করা (The Apriori pruning method can be explored to compute iceberg cubes efficiently) − ডেটা কিউবের প্রেক্ষাপটে Apriori প্রোপার্টি বলে: যদি একটি দিয়ে সেল মিনিমাম সাপোর্ট স্যাটিসফাই না করে, তবে সেটির কোনো ডিসেন্ডেন্ট (আরও ফাংশনাল বা সঠিক ভার্সন) মিনিমাম সাপোর্ট স্যাটিসফাই করবে না। এই প্রোপার্টি ব্যবহার করে আইসবার্গ কিউবের কম্পিউটেশন উল্লেখযোগ্যভাবে কমানো যায়।
আইসবার্গ কিউবের স্পেসিফিকেশনে একটি আইসবার্গ কন্ডিশন থাকে, যা সেলগুলো মেটারিয়ালাইজ করার ওপর একটি কনস্ট্রেইন্ট। একটি সাধারণ আইসবার্গ কন্ডিশন হলো সেলগুলোর একটি মিনিমাম সাপোর্থ থ্রেশহোল্ড স্যাটিসফাই করা উচিত, যার মধ্যে মিনিমাম কাউন্ট বা সম। এই কেসে, Apriori প্রোপার্টি ব্যবহার করে সেলের ডিসেন্ডেন্ট এক্সপ্লোরেশন প্রুন করা যায়।