فرض کنید میخواهید یک دوچرخه بسازید. طبیعتا این دوچرخه نیاز به آزمون و خطا برای ساخت دارد. در کنار آن نیاز به یک سری وسائل اولیه جهت ساخت این دوچرخه دارید، برای مثال چند حلقه لاستیک میخواهید، یک سری سیم ترمز، دستههای دوچرخه و… که هر کدام در مغازهای خاص در شهر هستند. راه غیر کاربردی برای این کار این است که هر گاه به وسیلهای احتیاج داشتید بروید و آن را از مغازه خریداری کنید که طبیعتا برای هر بار خرید باید مسافتی را طی کنید و زمان زیاد بگذارید. اما راه ساده و کاربردی این است که این وسائل را از مغازههای تامین کننده خریداری کنید و آن را در یک گوشه انبار کنید. حالا وقتی نیاز به هر کدام از وسايل دارید، به انبار خود مراجعه میکنید و آن قطعه را برمیدارید. این یک مثال ساده از انبار کردن در دنیای واقعی بود. در دنیای دادهها و اطلاعات نیز، به همین صورت انبار کردن داده داریم که به آن Data Warehouse یا به اختصار DW نیز میگویند و در این درس به آن خواهیم پرداخت.
حتما درس قبلی (هوش تجاری چیست) را خواندهاید. در درس هوش تجاری گفتیم که در یک سازمان نرمافزارهای مختلفی قرار دارد که هر کدام دادههایی را تولید میکنند و در فرآیند هوش تجاری بایستی از آنها جهت ایجاد ارزش استفاده کنیم. مثلا بفهمیم کدام مشتریان ممکن است سرویس خود را تمدید نکنند و ریزش کنند. هر کدام از نرمافزارهای موجود در سازمان (و دادههای تولید شده توسط آنها) مانند مثال بالا یک مغازه هستند که دادههای مختلفی دارند. اگر بخواهیم برای هر پرس و جو (Query) که به تحلیل ما کمک کند، به این نرمافزارها درخواستی دهیم، احتمالا وقت و زمان خود را هدر دادهایم. پس بهتر است دادهها را با توجه به موضوعی که میخواهیم تحلیل کنیم در یک مکان انبار کنیم. به این مکان انبار داده (Data Warehouse) میگویند.
در مورد انبار داده یک تعریف از آقای بیل اینمن (Bill Inmon) وجود دارد که بسیاری از منابع، آن را به عنوان تعریف مرجع قبول دارند:
انباره داده یک مجموعه از دادههای موضوعگرا (Subject Oriented)، مجتمع (Integrated)،نگهدار زمانهای مختلف (Timevariying) و غیر فرَار (none-volatile) است که پشتیبان فرآیندهای تصمیم سازی مدیریتی است.
در این تعریف به ۴ویژگی در انبار داده اشاره شده است. اجازه بدهید تک تک این تعاریف را مورد بررسی قرار دهیم:
موضوعگرا (Subject Oriented): به این معنا است که انبار دادهای که شما میسازید بایستی در مورد یک موضوع مشخص (یا یک سری موضوع مشخص) باشد. مثلا یک فروشگاه میخواهد رفتار خریداران خود را بررسی کند. پس موضوع در اینجا رفتار خریداران است. برای همین بایستی اطلاعاتی که در مورد رفتار خریداران در نرمافزارهای مختلف سازمان (مثلا CRM یا سیستم حسابداری) موجود است را در یک انبار داده جمع آوری کنید.
مجتمع (Integrated): این ویژگی بسیار واضح است. در واقع انبار داده به صورت تکه تکه در جاهای مختلف نیست و به صورت مجتمع در یک منبع ذخیره شده است. فرض کنید یک سیستم CRM و یک سیستم حسابداری دارید. یک خریدار در سازمان شما، با کد ملی در CRM مشخص میشود و همین شخص با شماره شناسنامه در سیستم حسابداری مشخص میشود. اما بعد از پردازش و بارگزاری دادهها در انبار داده، این شخص فقط بایستی با یک شماره مشخص شود (مثلا یک ID خاص) تا به اشتباه دو نفر مستقل برداشت نشود.
نگهدار زمانهای مختلف (Timevariying): به این معنا که در انبار داده، دادههای قدیمیتر نیز ذخیره میشوند. مثلا اگر اطلاعات فروش ۱ماه اخیر را خواستیم میتوانیم از انبار داده پیدا کنیم. اگر اطلاعات فروش ۱سال پیش را نیز خواستیم بایستی در انبار داده موجود باشد.
غیر فرَار (none-volatile): به این معنا که اگر دادهای در انبار داده ثبت شد، دیگر امکان تغییر آن وجود ندارد. برای مثال در یک پایگاه داده عادی (غیر انبار دادهای) اگر یک شخص آدرس خود را عوض کرد، آدرس جدید جایگزین آدرس قبلی میشود، ولی در انبار داده سابقه آدرسهای شخص ذخیره میشود و تغییرات آدرس یک شخص به صورت جدیدتر در انبار داده ثبت میشود و آدرسهای قبلی نیز در انبار داده جهت بررسی موجود میباشد.
پس در واقع انبار داده یک مجموعهای از دادههاست که از منابع مختلف تجمیع شده است و دادههایی دارد که آماده پاسخگویی به یک موضوع مشخص میباشد. از این انبارهای داده در داشبوردهای مدیریتی و در فرآیندهای دادهکاوی نیز به صورت گسترده استفاده میشود.
- ۱ » هوش تجاری (Business Intelligence) چیست؟
- ۲ » انبار داده (Data Warehouse) چیست؟
- ۳ » مفهوم مکعب داده (Data Cube) در انباردادهها
- ۴ » پردازش تحلیلی برخط یا همان OLAP چیست؟
- ۵ » تفاوت OLAP و OLTP چیست؟
- ۶ » فرآیند ETL در انبار داده (Extract, Transformation, Load)
- ۷ » ELT در انبار داده و تفاوت آن با ETL
- ۸ » طراحی انبار داده با شِمای چند بُعدی (Multidimensional Schema)
- ۹ » بازار داده (Data Mart) چیست و چه تفاوتی با انبار داده (Data Warehouse) دارد؟
- ۱۰ » دریاچه داده (Data Lake) چیست؟
باسلام موضوعات گفته شده کلی و خوب بود ولی لطفا در مورد روش Kimball هم توضیحات اضافه کنید
بسیار معلومات موثر است تشکر دوست عزیز از این همکاری تان . میشه کتاب که مربوط انبار معلومات میشود به زبان فارسیش رابرایم در ایمیل آدرس ذیل بفرستین تشکر
انبار داده بیش از سه بعد چه شکلی میشه؟
عالی بود. سپاس