طراحی انبارداده

طراحی انبارداده

طراحی انبارداده

طراحی انبارداده : انبارداده به سازمان‌ها کمک می‌کند پاسخ سوالات منطقی کسب‌وکار خود را بیابند، مدل‌های دقیق پیش‌بینی بسازند و روندهای تأثیرگذار سراسر سازمان را شناسایی کنند.

اما، طراحی انبارداده چیست و چگونه انجام می‌شود؟ آیا انبارداده را مشابه یک نرم‌افزار آماده و پیش‌ساخته باید خریداری کرد یا سازمان باید از ابتدا شروع کرده و به‌صورت شخصی‌سازی انبارداده را توسعه دهد. برای انجام موفقیت‌آمیز انبارداده نیاز به طراحی انبارداده وجود دارد.

انبارداده چیست؟

طراحی انبارداده : انبارداده کپی از داده‌های سیستم‌ها مختلف از قبیل: سیستم فروش، سیستم بازاریابی، سیستم پرسنلی، سیستم CRM است که در آن از پردازش تحلیلی برخط OLAP برای جستجوی راحت‌تر داده‌ها جهت اخذ بهتر اطلاعات کسب‌وکاری استفاده می‌کند.

مفاهیم انباره داده
مفاهیم انباره داده

بنابراین باید گفت انبارداده دنبال کشف ارزش کلی سازمان و دید ۳۶۰ نسبت به آن است. برای انجام کار نیاز به طرح‌واره بوده تا مشخص کند کدام‌یک از فعالیت‌های بازاریابی منجر به چشم‌انداز بالاتری ایجاد خواهد کرد.

هشت مرحله برای طراحی انبارداده

در این مقاله ۸ مرحله ساختن انبارداده را موردبحث و بررسی قرار خواهیم داد.

۱. تعریف نیازمندی‌های کسب‌وکار (جمع‌آوری نیازمندی‌های کسب‌وکار)

طراحی انبارداده یک سفر کسب‌وکاری طولانی است. انبارداده به تمام حوزه‌های کسب‌وکاری ورود خواهد کرد. بنابراین نیاز است که هر اداره یا سازمان طراحی خود را در انبارداده داشته باشد.  از آنجائی که انبارداده به‌اندازه داده‌های درونش قدرتمند است، هماهنگ کردن نیازمندی‌ها و اهداف بخش‌های مختلف سازمان در انبارداده برای موفقیت آن بسیار مهم می‌باشد.

 

بنابراین اگر موفق نشوید داده‌های بازاریابی را با داده‌های فروش یکپارچه و هماهنگ کنید، نتایج به‌دست‌آمده برخی از اجزای مهم خود را ازدست‌داده و کیفیت آن پایین خواهد آمد. دانستن این موضوع که کدام راهبرد باارزش است، به داده‌های بازاریابی و فروش به‌صورت همزمان وابسته است.

هر بخش از سازمان نیاز دارد تا اهداف انبارداده، چگونگی بهره‌مندی از آن و نتیجه‌های راهکار انبارداده را بفهمد و درک نماید.

در مرحله جمع‌آوری نیازمندی‌ها باید روی اهداف زیر تمرکز کرد:

  • هماهنگ کردن اهداف هر اداره یا بخش از سازمان با پروژه انبارداده
  • تعین حدومرز و محدوده پروژه در رابطه با اهداف کسب‌وکاری
  • کشف نیازهای آینده و فعلی با جستجوی عمیق داده‌ها (یافتن داده‌هایی که برای تجزیه‌وتحلیل مفید هستند) و پشته تکنولوژی موجود در سازمان چیست؟ (داده‌های تاریخچه‌ای که در حال حاضر مورداستفاده قرار نمی‌گیرند کجا و چگونه ذخیره‌شده‌اند؟)
  • ایجاد سامانه پشتیبان برای زمانی که حادثه خرابی رخ‌داده و سیستم فعلی از کار می‌افتد.
  • فکر کردن به لایه‌های امنیتی (مانند: شناسایی تهدیدها، کاهش تهدیدها، احراز هویت، نظارت بر سیستم، کاهش خطرات و ریسک‌ها)
  • پیش‌بینی نیازهای نظارتی و کاهش خطرات نظارتی

این موارد را می‌توان به‌عنوان طرح کلی انبارداده در نظر گرفت. اما در این مرحله بیشتر نیازمندی‌های کسب‌وکاری تعیین‌شده و هماهنگی آنها با انبارداده و مهم‌تر از آن برآورده کردن نیازهای تمامی بخش‌های سازمان به‌وسیله انبارداده می‌باشد.

۲. راه‌اندازی محیط‌های سخت‌افزاری

انبارداده‌ها معمولاً دارای سه محیط فیزیکی اصلی هستند:

  • محیط توسعه Development Server
  • محیط تست و آزمایش Test Server
  • محیط عملیاتی، اصلی Operational Server

این بهترین معماری استاندارد جهت پیاده‌سازی انبارداده بوده و از معماری توسعه نرم‌افزار کپی‌برداری شده است، این سه محیط فیزیکی بر روی سرورهای کاملاً مجزا وجود خواهند داشت.

چرا این معماری به سه محیط سخت‌افزاری مجزا نیاز دارد؟

  • نیاز است که برنامه‌های نوشته‌شده قبل از ورود و اجرا در محیط عملیاتی مورد تست و آزمایش قرار گیرند.
  • به خاطر برخی ملاحظات امنیتی نیاز است که توسعه‌دهندگان و آزمایش‌کنندگان به داده‌ها و محیط عملیاتی دسترسی نداشته باشند.
  • اجرای آزمایش‌ها به‌صورت معمول بر روی مجموعه‌ای تصادفی از داده‌ها یا تمامی داده‌ها انجام می‌گیرد، به همین خاطر نیاز است که محیط فیزیکی و سرور مختص به خود را داشته باشد.
  • داشتن محیط توسعه مستقل یک ضرورت است، محیط‌های توسعه در مقایسه با محیط عملیاتی و تست دارای تغییرات بسیار بالایی است.
  • محیط عملیاتی سرباره کاری بسیار بالایی خواهد داشت (کل کسب‌وکار به این محیط وصل شده و از آن استفاده خواهند کرد) ، بنابراین تلاش برای اجرای آزمایش یا توسعه برنامه جدید در این محیط می‌تواند برای اعضای تیم استرس‌زا بوده و برای سرور فیزیکی ریسک محسوب می‌گردد.
  • یکپارچه‌سازی داده‌ها بسیار آسان‌تر از ردیابی آنهاست، وقتی سه محیط مجزا در حال اجرا و کار هستند رفع مشکلات آسان‌تر خواهد بود. این موضوع باعث می‌شود تا رفع مشکلات داده استرس کمتری روی کار تیم توسعه‌دهنده داشته باشد، همچنین داده در محیط‌های عملیاتی و آزمایش بدون تأثیرگذاریبر روی کاربر نهایی جریان خواهد داشت و مشکلات آن راحت‌تر برطرف خواهند شد.
  • غالباً اجرای سناریوهای آزمایش نقاط شکست را معرفی کرده و باعث می‌گردند که سیستم قفل (هنگ) گردد. قطعاً قفل شدن سیستم عملیاتی چیزی نیست که مطلوب باشد و برای جلوگیری از این موضوع به محیط آزمایش نیاز است.
  • تصور کنید که منابع سخت‌افزاری موجود بین توسعه، آزمایش و عملیات تقسیم کرده و به اشتراک گذاشته‌اید، این موضوع مطلوب و خوش‌آیند نیست؟ محیط‌های توسعه، آزمایش و عملیات همگی نیاز به منابع سخت‌افزاری متفاوتی خواهد داشت و تلاش برای ترکیب تمامی این نیازها در یک محیط سخت‌افزاری یک فاجعه به بار خواهد آورد.

به یاد داشته باشید که توسعه راهکار هوش تجاری یک فرآیند مداوم بوده و هرگز متوقف نخواهد شد. این قضیه بخصوص در چرخه‌های توسعه نرم‌افزار با رویکرد چابک صادق بوده و به دلیل تغییرات زیاد و سازگاری‌های مداوم با کسب‌وکار نیاز به محیط‌های جداگانه خواهد داشت.

می‌توان در معماری سخت‌افزاری را با بیش از سه محیط مذکور اجرا کرد، حتی برخی از کسب‌وکارها تصمیم می‌گیرند محیط‌های اضافی برای نیازهای خاص تجاری خود به این معماری اضافه کنند. برخی سازمان‌ها یک محیط به معماری اضافه کرده که صرفاً کار تضمین کیفیت را جدا از محیط آزمایش انجام می‌دهند. همچنین برخی جاها محیط‌هایی برای نسخه آزمایشی و ارائه (Demo) یا محیط‌هایی برای ادغام و یکپارچه‌سازی در نظر می‌گیرند.

پس داشتن سه محیط اصلی الزامی می‌باشد، اما می‌توان محیط‌های جدید را با توجه به اهداف تجاری منحصربه‌فرد سازمان به معماری اضافه نمود.

۳. تعریف مدل‌سازی داده‌ها

مدل‌سازی داده‌ها فرآیند تجسم داده‌های پراکنده سازمان در انبارداده است. این موضوع را به‌عنوان یک طرح در نظر بگیرید. قبل از ساختن خانه می‌خواهید بدانید خانه‌ای که قرار است در آن زندگی کنید چه شکل است؟ این چیزی است که در انبارداده مدل‌سازی داده‌ها نام دارد.

مدل‌سازی داده‌ها کمک می‌کند روابط بین داده‌ها تجسم و درک شود، استانداردهای نام‌گذاری مفیدی ایجاد شود، روابط بین مجموعه داده‌ها تشخیص داده شود، توانایی ایجاد انطباق بین داده‌های کسب‌وکار به وجود آید و فرآیندهای امنیتی مطابق و همسو با اهداف فناوری اطلاعات به‌دست آید.

احتمالاً مدل‌سازی داده‌ها پیچیده‌ترین مرحله طراحی انبارداده است. تکنیک‌های مدل‌سازی داده متنوعی وجود دارد که سازمان‌ها بری طراحی انبارداده از آنها استفاده می‌کنند.

قبل از اینکه چند مورد از محبوب‌ترین تکنیک‌های مدل‌سازی داده را بیان کنیم، خوب است که تفاوت بین انبارداده و دیتا مارت را بیان کنیم.

انبار داده‌ها سامانه‌هایی هستند که برای اجرای تجزیه‌وتحلیل، آنالیز و نمایش اطلاعات کسب‌وکاری، داده‌ها را در آن ذخیره می‌کنند. دیتا مارت بخشی در انبار داده است که داده‌ها به‌منظور یک کار خاص تجاری ذخیره می‌شوند. انبارداده شامل کلیه موضوع‌های کسب‌وکار است. روش استفاده تیم فروش از انبارداده کاملاً متفاوت با روش استفاده تیم حقوقی است. پس درنتیجه جریان‌های داده و مجموعه‌های داده کسب‌وکار برای برخی بخش‌های سازمان ارزش خاصی دارند. دیتا مارت جایی در انبارداده است که تمام داده‌های خاص یک تیم ذخیره‌شده و پرس‌وجوهای تیم مذکور آنجا پردازش خواهند شد.

معمولاً مدل‌سازی داده در سطح دیتا مارت‌ها انجام‌شده و به انبارداده منتقل می‌گردد. منطق این کار نحوه ذخیره داده‌ها در ارتباط با سایر داده‌ها را بیان می‌کند.

سه مدل‌سازی داده محبوب برای انبارداده وجود دارد که معروف‌تر هستند. این سه روش مدل‌سازی عبارت‌اند از:

  • أ‌. مدل‌سازی ستاره Star Schema
  • ب‌. مدل‌سازی دانه برفی Snowflake Schema
  • ت‌. مدل‌سازی کهکشان Galaxy Schema

همانگونه که گفته شد سه نوع مدل‌سازی داده برای انبارداده وجود دارد. معمولاً بیشتر از مدل‌سازی داده ستاره برای طراحی انبارداده استفاده می‌شود. دومین نوع مدل‌سازی که برای طراحی انبارداده استفاده می‌گردد مدل‌سازی دانه برفی است. درباره این سه طرح توضیحات بیشتری ارائه خواهیم داد.

الف. مدل‌سازی داده ستاره Star Schema

مدل‌سازی ستاره یک نوع طراحی انبارداده است که در یک جدول مرکزی حقایق (Measures) مربوط به دیتا مارت قرارگرفته و توسط جدول‌های ابعاد احاطه و در برگرفته‌شده است. مدل‌سازی ستاره به دو دسته ساده و پیچیده تقسیم می‌شود. مدل‌سازی ستاره ساده شامل فقط یک جدول حقایق است این در حالی است که مدل‌سازی ستاره پیچیده حاوی بیش از یک جدول حقایق می‌باشد.

شکل مدل‌سازی داده ستاره
شکل مدل‌سازی داده ستاره
مدل‌سازی ستاره
مدل‌سازی ستاره

ب. مدل‌سازی دانه برفی Snowflake Schema

مدل‌سازی دانه برفی یک نوع مدل‌سازی ستاره است با این تفاوت که جدول‌های ابعاد به چندین جدول شکسته شده‌اند، این روش به‌نوعی رشد یافته مدل‌سازی ستاره می‌باشد. از مدل‌سازی دانه برفی بهتر است زمانی استفاده شود که جدول بٌعد کاردینالی تی پایینی ازلحاظ ستون‌ها و صفات توصیفی داشته باشد. مانند جنسیت یا نوع شخصیت حقیقی/حقوقی.

شکل مدل‌سازی داده دانه برفی
شکل مدل‌سازی داده دانه برفی
مدل‌سازی دانه برفی
مدل‌سازی دانه برفی

پ. مدل‌سازی کهکشان Galaxy Schema

مدل‌سازی کهکشان شامل جدول‌های حقایق مختلف است که با ابعاد مشترک به همدیگر متصل شده‌اند. این مدل‌سازی ترکیبی از دیتا مارت‌های مختلف می‌باشد.

۴. انتخاب راه‌کار ETL Extract, Transfer, Load

ETL فرآیندی است که داده‌ها را پایگاه داده‌های عملیاتی موجود یا فایل‌های داده‌ای بیرون کشیده و درون انبارداده بارگذاری می‌کند. راه‌کارهای ETL که مورداستفاده قرار می‌گیرد باید با دقت و بررسی کامل انتخاب شود.

از آنجائی که ETL مسئولیت اصلی و مهم انجام کارها در پروژه را بر عهده دارد، انتخاب یک فرآیند توسعه ETL ضعیف یا ناکارآمد می‌تواند کل انبارداده را با شکست مواجه نماید. در پروژه نیاز است که سرعت اجرای کار بهینه باشد، مصورسازی خوب انجام شود، امکان ساخت راحت گزارش وجود داشته باشد، قابلیت استفاده مجدد داشته باشد، بین تمامی اجزای معماری انبارداده پایداری و ثبات وجود داشته باشد تا انبارداده ایجاد گردد.

به همین خاطر است که ابزارهای ETL ماننند ODI باارزش هستند. با استفاده متادیتاهای تولیدشده‌ی ODI می‌توان خط لوله‌هایی ایجاد کرد که داده را از تمامی تکنولوژی‌ها، فناوری‌ها و معماری‌های داده موجود در سازمان به انبارداده منتقل می‌کنند. این در حالی است که پاک‌سازی داده، نرمال‌سازی داده، مدیریت تاریخچه تغییرات را انجام داده و سایر قابلیت‌های موجودش باعث مقبول قرار گرفتن انبارداده و راحتی کار کاربران خواهد شد.

راه‌کار ETL
راه‌کار ETL

ذکر این نکته بسیار حائز اهمیت است که یک فرآیند ETL خوب، باعث ایجاد تمایز شده و از یک انبارداده کند که استفاده از آن سخت است، به انبارداده‌ای دست‌یابید که استفاده از آن آسان بوده و در تمامی سطوح سازمان ایجاد ارزش خواهد کرد.

در اکثر سازمان‌ها از ETL برای بیرون کشیدن داده‌ها از سامانه‌های موجود و بارگذاری آنها در انبارداده استفاده می‌شود. اگر در فرآیند ETL  داده‌ها قبل از بارگذاری در انبارداده پاک‌سازی نشوند مطمئناً بر عملکرد انبارداده تأثیر منفی خواهد گذاشت.

۵. پردازش تحلیلی برخط OLAP مکعب داده

اگر در پروژه انبارداده نیاز داشته باشید که مکعب داده تولید و نگهداری کنید به پرسنل خبره در این زمینه احتیاج خواهد بود. اگر قصد استفاده از نرم‌افزارهای انبارداده آماده در موضوعی خاص از کسب‌وکار استفاده گردد، احتمالاً نیازی به‌کارگیری مکعب داده یا OLAP نخواهد بود. چون‌که در نرم‌افزارهای آماده به‌ندرت از OLAP استفاده خواهد شد.

اگر ابزارهای هوش تجاری مورداستفاده قرار گیرد که برای گزارش‌ها و جستجوهای موردی از OLAP استفاده می‌کند مجبور به توسعه یا استفاده از راهکارهای OLAP خواهیم بود.

مقایسه مکعب‌های OLAP و انبارداده

انبارداده جایی است که می‌توان داده‌های مربوط به کسب‌وکار را آنجا در قالبی ساده برای تجزیه‌وتحلیل سازمان ذخیره کرد تا بتوان نیازهای تحلیلی تجاری را پاسخ داد.

مکعب‌های OLAP این امکان را می‌دهند تا داده‌های درون انبارداده یا دیتا مارت‌ها را تجزیه‌وتحلیل کنید. بیشتر مواقع مکعب‌های OLAP برای ایجاد گزارش مورداستفاده قرار می‌گیرند اما استفاده‌های متنوع دیگری هم دارند.

همان‌گونه که گفتیم انبارداده مانند خط لوله‌های عمل کرده و داده‌ها را از سراسر سازمان دریافت و یکپارچه می‌کند، مکعب‌های OLAP کمک می‌کنند داده‌ها با فرمت چند بٌعدی سازماندهی‌شده و آماده تجزیه‌وتحلیل سریع و آسان گردند.

احتمال دارد مکعب OLAP سفارشی بر اساس نیاز مشتری احتیاج باشد، یا برای نگهداری و پشتیبانی از مکعب‌ها OLAP نیاز به پشتیبانی باشد.

۶. ایجاد لایه رابطه کاربری Front End

تا اینجا درباره فرآیندهای پشت‌صحنه یا باطن کار Back End صحبت کردیم، باید رابط کاربری برای مصورسازی وجود داشته باشد که کاربری آن راحت و آسان بوده تا کاربر نهایی با آن ارتباط برقرار کرده و نتایج را به او نمایش دهد. رابط کاربری در اصل جلوه پروژه انبارداده است. ابزارهای زیادی در بازار وجود دارد که مصورسازی داده‌ها را انجام می‌دهند. ابزارهایی مانند Tableau و PowerBI و Clickview برای استفاده لایه رابط کاربری هوش تجاری بسیار مناسب هستند. همچنین می‌توان یک راهکار سفارشی خاص کسب‌وکار توسعه داد و از آن استفاده کرد.

اغلب کسب‌وکارهای کوچک و متوسط به ابزارهایی که در بالا ذکرشده علاقه دارند و از آنها استفاده می‌کنند. اما ممکن است برخی از سازمان‌های بزرگ‌تر برای تأمین نیازهای تحلیلی خود نیاز به ابزارهای قدرتمندتر مانند OBIEE داشته باشند. OBIEE می‌تواند با توجه به دامنه اهداف کسب‌وکار توسعه داده‌شده و شخصی‌سازی گردد و به‌صورت سفارشی توسعه یابد.

طراحی انبارداده
طراحی انبارداده

مهم‌ترین کار این بخش گزارش‌گیری و توجه به گزارش‌هاست. دوره زمانی گزارش‌گیری چقدر است؟ آیا برای ایجاد گزارش جدید به شخصی دیگر نیاز دارید؟ آیا انتقال مهارت کاربری ساخت گزارش و تحلیل و داشبورد سخت است یا آسان؟ سؤالاتی از این قبیل کمک خواهد کرد ابزار هوش تجاری متناسب با نیازمندی‌های کسب‌وکار خود را بکار گیرید.

نکته حائز اهمیت: سعی کنید ساده‌ترین راه‌کار موجود را انتخاب کنید. پرسنل سازمان شما به‌ویژگی‌های فانتزی اهمیت نمی‌دهند و از پیچیدگی‌های عمیق خوششان نمی‌آید. آنها فقط دنبال انجام کار هستند و چیزی می‌خواهد که برایشان مفید بوده وزندگی را برای آنها ساده‌تر کند.

۷. بهینه‌سازی پرس‌وجوها

بهینه‌سازی پرس‌وجوهای کاربران فرآیندی پیچیده است که نیاز به تخصص‌های خاص و ویژه دارد. اما برخی قوانین و موارد کلی وجود دارد که می‌توان از آنها استفاده کرد.

  • سعی کنید محیط‌های توسعه، آزمایش و عملیات دارای محیط پشتیبان باشند، تا در صورت خرابی یک محیط به محیط دیگر رفته و مانع از قطع شدن سرور خواهد شد.
  • سعی کنید بازیابی داده را به حداقل برسانید. اگر فقط به یک ستون از نتایج نیاز دارید، select را روی کل پایگاه داده اجرا نکنید و فقط ستون موردنظر را با select بازیابی نمایید. این موضوع به‌ویژه وقتی‌که اجرای هر بار select هزینه دربر خواهد داشت برجسته می‌گردد.
  • محدودیت‌های ابزار هوش تجاری انتخابی خود را بشناسید. تکنولوژی پایگاه داده آن را خوب مطالعه کرده و آن را درک کنید. دانستن ویژگی‌های ابزار هوش تجاری می‌تواند کمک کند تا جریان کاری را به حداکثر رسانده و سرعت پاسخ‌دهی به سؤالاتبالا رود.

۸. آموزش و انتقال مهارت

پس از آمادگی برای راه‌اندازی انبارداده، باید درباره آموزش و نحوه استفاده از ویژگی‌های جدید به کاربران بپردازیم. غالباً یک یا دو هفته قبل از اینکه کاربران نهایی از سامانه استفاده کنند آموزش شروع خواهد شد، اما باید مطمئن شد پس از اتمام دوره آموزشی کاربران مهارت کاربری لازم و کافی را به‌دست آورده باشند.

آخرین نکته

مقاله پیش رو مؤلفه‌های مهم و اصلی طراحی انبارداده را بیان کرد. اما به یاد داشته باشید ممکن است در کسب‌وکار شما مراحل دیگری وجود داشته باشد که در اینجا ذکر نشده باشد. انبارداده‌ها باهم تفاوت دارند. این مقاله کمک خواهد کرد الزامات مهم و اساسی طراحی انبارداده را بدانید و به سمت ایجاد انبارداده کاربردی گام بردارید که ارزش ملموسی در چالش‌های پیش رو به کسب‌وکار خواهد داد.

 

 

تالیف و ترجمه: آقای مهندس رضا بهادری‌زاده

نوشتن نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *