ডেটা ওয়ারহাউস বিশাল পরিমাণ ডেটা ধারণ করে। OLAP সার্ভার দরকার যে ডিসিশন সাপোর্ট কোয়েরি সেকেন্ডের ক্রমে উত্তর দেওয়া হয়। তাই ডেটা ওয়ারহাউস সিস্টেমের জন্য অত্যাবশ্যক কিউব কম্পিউটেশন টেকনিক, অ্যাক্সেস টেকনিক, এবং কোয়েরি প্রসেসিং টেকনিক হাইইফিশিয়েন্টভাবে প্রদান করা।
ডেটা কিউবের দক্ষ কম্পিউটেশন (Efficient Computation of Data Cubes)
মাল্টিডাইমেনশনাল ডেটা অ্যানালাইসিসের কোরে অনেক ডাইমেনশন সেট জুড়ে অ্যাগ্রিগেশনের দক্ষ কম্পিউটেশন রয়েছে। SQL টার্মে, এই অ্যাগ্রিগেশনগুলোকে group-by বলা হয়। প্রতিটি group-by একটি কিউবয়েড দিয়ে রিপ্রেজেন্ট করা যায়, যেখানে group-by সেট একটি কিউবয়েডের ল্যাটিস তৈরি করে যা একটি ডেটা কিউব ডিফাইন করে।
একটি বেস কিউবয়েড দিয়ে ডেটা কিউব মেটেরিয়ালাইজেশনের তিনটি চয়েস রয়েছে:
নো মেটেরিয়ালাইজেশন (No materialization): এটি কোনো "নন-বেস" কিউবয়েড প্রি-কম্পিউট করে না। এতে এক্সপেনসিভ মাল্টিডাইমেনশনাল অ্যাগ্রিগেশন অন-দ-ফ্লাই কম্পিউট করতে হয়, যেটি খুব স্লো হতে পারে।
ফুল মেটেরিয়ালাইজেশন (Full materialization): এটি সব কিউবয়েড প্রি-কম্পিউট করে। কম্পিউটেড কিউবয়েডের ফলস্বরূপ ল্যাটিসকে ফুল কিউব বলা হয়। এই চয়েসে সাধারণত সব প্রি-কম্পিউটেড কিউবয়েড সংরক্ষণের জন্য বিশাল মেমরি স্পেস দরকার।
পারশিয়াল মেটেরিয়ালাইজেশন (Partial materialization): এটি সম্ভাব্য কিউবয়েডের পুরো সেটের একটি উপযুক্ত সাবসেট সিলেক্টিভলি কম্পিউট করে। অথবা, এটি কিউবের একটি সাবসেট কম্পিউট করে যাতে শুধু সেই সেলগুলো থাকে যা কিছু ইউজার-স্পেসিফাইড ক্রাইটেরিয়া সন্তুষ্ট করে, যেমন যেখানে প্রতিটি সেলের টাপল কাউন্ট কিছু থ্রেশহোল্ড অনুসরণ করে।
OLAP ডেটা ইন্ডেক্সিং (Indexing OLAP Data)
দক্ষ ডেটা অ্যাক্সেস সাপোর্ট করতে, কিছু ডেটা ওয়ারহাউস সিস্টেম ইন্ডেক্স স্ট্রাকচার এবং মেটেরিয়ালাইজড ভিউ (কিউবয়েড ব্যবহার করে) প্রদান করে। বিটম্যাপ ইন্ডেক্সিং অপ্রোচ OLAP প্রোডাক্টে জনপ্রিয় কারণ এটি ডেটা কিউবে ফাস্ট সার্চিং সক্ষম করে। বিটম্যাপ ইন্ডেক্স হলো রেকর্ড আইডি (RID) লিস্টের একটি বিকল্প রিপ্রেজেন্টেশন।
একটি দিয়ে गये অ্যাট্রিবিউটের জন্য বিটম্যাপ ইন্ডেক্সে, ডোমেনের প্রতিটি মান v-এর জন্য একটি স্বতন্ত্র বিট ভেক্টর, Bv, থাকে। যদি একটি দিয়ে गये অ্যাট্রিবিউটের ডোমেনে n মান থাকে, তবে বিটম্যাপ ইন্ডেক্সের প্রতিটি এন্ট্রির জন্য n বিট দরকার (অর্থাৎ, nটি বিট ভেক্টর থাকে)। যদি অ্যাট্রিবিউটের মান v থাকে ডেটা টেবিলের একটি দিয়ে गये রোয়, তবে সেই মান নির্দেশকারী বিটটি ১ সেট করা হয় করেসপন্ডিং রোয়ে বিটম্যাপ ইন্ডেক্সের। সেটি রোয়ের সব অন্যান্য বিট ০ সেট করা হয়।
OLAP কোয়েরির দক্ষ প্রসেসিং (Efficient Processing of OLAP Queries)
কিউবয়েড মেটেরিয়ালাইজ করা এবং OLAP ইন্ডেক্স স্ট্রাকচার তৈরি করার লক্ষ্য হলো ডেটা কিউবে কোয়েরি প্রসেসিং গতিশীল করা।
নির্ণয় করা কোন অপারেশন উপলব্ধ কিউবয়েডগুলোর ওপর করা উচিত: এতে কিছু সিলেকশন, প্রজেকশন, রোল-আপ (group-by), এবং ড্রিল-ডাউন অপারেশন কোয়েরিতে রিপ্রেজেন্টেড থাকে সেগুলো করেসপন্ডিং SQL এবং/অথবা OLAP অপারেশনএ ট্রান্সফরম করা। উদাহরণস্বরূপ, একটি ডেটা কিউব স্লাইসিং ও ডাইসিং করলে একটি মেটেরিয়ালাইজড কিউবয়েডে সিলেকশন ও প্রজেকশন অপারেশনের সাথে করেসপন্ড করতে পারে।
নির্ণয় করা কোন মেটেরিয়ালাইজড কিউবয়েড(গুল) প্রাসঙ্গিক অপারেশন প্রয়োগ করা উচিত: এতে কিছু মেটেরিয়ালাইজড কিউবয়েড চিহ্নিত করা থাকে যা потенশিয়ালি কোয়েরি আন্সার করতে পারে, ফলস্বরূপ সেটকে "ডোমিন্যান্স" রিলেশনশিপের নলেজ ব্যবহার করে প্রুন করা, বাকি মেটেরিয়ালাইজড কিউবয়েড ব্যবহারের কস্ট অনুমান করা, এবং মিনিমাম কস্টওয়ালা কিউবয়েড বেছে নেওয়া।