ডেটা ওয়ারহাউসিং হলো একটি মেথড যা সাধারণত বিভিন্ন অন্যান্য সোর্স থেকে ডেটা সংগ্রহ ও হ্যান্ডেল করতে ব্যবহৃত হয় যাতে বিজনেসের একটি অর্থবহ বিজনেস ইনসাইট প্রদান করা যায়। একটি ডেটা ওয়ারহাউস স্পেসিফিক্যালি ম্যানেজমেন্ট সিদ্ধান্ত সাপোর্ট করার লক্ষ্যে তৈরি করা হয়। ডেটা ওয়ারহাউসের দুটি প্রধান অংশ রয়েছে যেগুলো নিচে দেওয়া হলো:
ফিজিক্যাল স্টোর (Physical store) − একটি মাইক্রোসফট SQL Server ডেটাবেস যা SQL কোয়েরি ব্যবহার করে কোয়েরি করা যায়, এবং একটি OLAP ডেটাবেস যা রিপোর্ট চালাতে দরকার।
লজিক্যাল স্কিমা (Logical schema) − একটি কনসেপচুয়াল মডেল যা ফিজিক্যাল স্টোরের ডেটার সাথে ম্যাপ করে।
ফিজিক্যাল স্টোর (Physical Store)
ডেটা ওয়ারহাউসের ফিজিক্যাল স্টোরে একটি ডেটাবেস থাকে যা SQL কোয়েরি ব্যবহার করে কোয়েরি করা যায়। ফিজিক্যাল স্টোরে সকল ডেটা থাকে যা একাধিক সোর্স থেকে ইম্পোর্ট করা হয়েছে। কমার্স সার্ভার অটোমেটিক্যালি ডেটা ওয়ারহাউসের ফিজিক্যাল স্টোর তৈরি করে SQL Server ডেটাবেস এবং OLAP ডেটাবেস উভয়েই।
ডেটা ওয়ারহাউস বিজনেস ডেস্ক-এ অ্যানালিসিস মডিউলে উপলব্ধ কিছু কমার্স সার্ভার ডকুমেন্টের জন্য প্রয়োজনীয় ডেটা সাপোর্ট করে। ডেটা ওয়ারহাউসের ফিজিক্যাল স্টোরে সরাসরি পরিবর্তন করার কোনো প্রয়োজন নেই। যদি ডেটা ওয়ারহাউস এক্সটেন্ড করা দরকার হয়, উদাহরণস্বরূপ, থার্ড-পার্টি ডেটা অন্তর্ভুক্ত করতে, একটি সাইট ডেভেলপার প্রোগ্রাম্যাটিক্যালি লজিক্যাল স্কিমা দিয়ে ফিল্ডগুলো যোগ করতে পারে।
লজিক্যাল স্কিমা (Logical Schema)
লজিক্যাল স্কিমা ডেটা ওয়ারহাউসের ডেটার একটি লজিক্যাল ভিউ প্রদান করে এবং একটি ইফেক্টিভ ইম্পোর্ট প্রসেস সক্ষম করে। উদাহরণস্বরূপ, একটি সাইট ডেভেলপার লজিক্যাল স্কিমা দরকার করে বেসিক ফিজিক্যাল টেবিলে সংরক্ষিত ডেটার লোকেশন পরিবর্তন করতে।
যখন একটি সাইট ডেভেলপার ডেটা ওয়ারহাউসে ডেটা ইনসার্ট, আপডেট, বা ডিলিট করার জন্য একটি প্রোগ্রাম লিখে, ডেভেলপার লজিক্যাল স্কিমার সাথে ইন্টারঅ্যাক্ট করে। যখন কমার্স সার্ভার ডেটা ওয়ারহাউসে ডেটা এক্সেস করে, এটি লজিক্যাল স্কিমার মাধ্যমে ডেটা এক্সেস করে। শুধু সাইট ডেভেলপারকে লজিক্যাল স্কিমার সঠিক জ্ঞান দরকার।
একটি লজিক্যাল স্কিমা নিচের বিষয়গুলো ধারণ করে:
ক্লাস (Class) − ডেটা মেম্বারের একটি লজিক্যাল সেট। উদাহরণস্বরূপ, RegisteredUser ক্লাসে একটি রেজিস্টার্ড ইউজার ডিফাইনকারী ডেটা মেম্বার রয়েছে।
ডেটা মেম্বার (Data member) − একটি স্ট্রাকচার যা ডেটার একটি এলিমেন্ট সংরক্ষণ করে। উদাহরণস্বরূপ, RegisteredUser ক্লাসের E-mail ডেটা মেম্বার একটি রেজিস্টার্ড ইউজারের ই-মেইল অ্যাড্রেস সংরক্ষণ করে।
রিলেশন (Relation) − প্যারেন্ট-চাইল্ড রিলেশনশিপে দুটি ক্লাসের মাঝপথে একটি কানেকশন। এই রিলেশনশিপ প্রতিটি ক্লাসের ইনস্ট্যান্সের সংখ্যা বর্ণনা করে, এবং ক্লাসের মাঝপথে ডেটা মেম্বার পাস করার মেকানিজম প্রদান করে।
উদাহরণস্বরূপ, RegisteredUser Request চাইল্ড ক্লাসের প্যারেন্ট। একটি রেজিস্টার্ড ইউজারের জন্য অনেক রিকোয়েস্ট হতে পারে। লজিক্যাল স্কিমা ক্লাস, ডেটা মেম্বার, রিলেশন, এবং বিভিন্ন ডেটা স্ট্রাকচার ব্যবহার করে ফিজিক্যাল স্টোরের রেকর্ড ম্যাপ করে।