IRE: Inductive Rule Extraction

IRE: Inductive Rule Extraction

استخراج قانون استقرائی
IRE: Inductive Rule Extraction

IRE: Inductive Rule Extraction

استخراج قانون استقرائی

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

در یک سازمان نرم‌افزارهای مختلفی قرار دارد که هر کدام داده‌هایی را تولید می‌کنند و در فرآیند هوش تجاری بایستی از آن‌ها جهت ایجاد ارزش استفاده کنیم اگر بخواهیم برای هر پرس و جو (Query) که به تحلیل ما کمک کند، به این نرم‌افزارها درخواستی دهیم، احتمالا وقت و زمان خود را هدر داده‌ایم. پس بهتر است داده‌ها را با توجه به موضوعی که می‌خواهیم تحلیل کنیم در یک مکان انبار کنیم. به این مکان انبار داده (Data Warehouse) می‌گویند.  

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

تعریف انبار داده

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

خصوصیت اصلی انبار داده

انباره داده یک مجموعه‌ از داده‌های موضوع‌گرا (Subject Oriented)، مجتمع (Integrated)،نگهدار زمان‌های مختلف (Timevariying) و غیر فرَار (none-volatile) است که پشتیبان فرآیندهای تصمیم سازی مدیریتی است.

·        موضوع‌گرا (Subject Oriented)

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

·        مجتمع (Integrated)

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

·        نگهدار زمان‌های مختلف (Timevariying)

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

·        غیر فرَار (none-volatile)

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


مزیت‌های انبار داده‌ها

انبار داده شامل یک کپی از اطلاعات است که از سیستم‌های تبادل داده‌ای به دست می‌آید. این معماری فرصتی برای موارد زیر به دست می‌دهد:

·        یکپارچه‌سازی داده‌ها از چند منبع در یک پایگاه داده و مدل داده‌ای واحد/ تجمیع بیشتر داده‌ها در یک پایگاه داده منفرد به طوری که با یک موتور کوئری بتوان داده‌ها را در یک ODS عرضه کرد.

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

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

·        یکپارچه‌سازی داده‌ها از سیستم‌های منبع چندگانه و ایجاد امکان مشاهده مرکزی در کل سطح سازمان. این مزیت همواره ارزشمند است؛ اما زمانی که سازمان از طریق ادغام با شرکت یا سازمانی دیگر بزرگ می‌شود، اهمیتی دوچندان می‌یابد.

·        بهبود کیفیت داده از طریق ارائه کدها و توصیف‌های مداوم و رفع مشکل داده‌های نامناسب

·        ارائه مداوم اطلاعات سازمان

·        ارائه یک مدل داده ستون مفرد برای همه داده‌های مورد نظر صرف‌نظر از منبع داده

·        بازسازی داده‌ها به طرزی که برای کاربران تجاری معنی‌دار باشد.

·        بازسازی داده‌ها به طوری که عملکرد کوئری حتی برای کوئری‌های تحلیلی بدون تأثیر بر سیستم‌های عملیاتی بهبود یابد.

·        افزودن ارزش به برنامه‌های تجاری عملیاتی و به طور قابل توجه به سیستم‌های مدیریت رابطه مشتری (CRM)

·        آسان‌تر ساختن نوشتن کوئری‌های پشتیبان تصمیم

·        سازمان‌دهی و ابهام‌زدایی از بازاریابی داده‌ها.

روش‌های طراحی

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

·        طراحی پایین به بالا

این رویکرد در طراحی انبار داده توسط آقای بیل اینمون (Bill Inmon) مطرح شده است. در این رویکرد ابتدا یک انبار داده جامع و کامل طراحی می شود. در واقع در این رویکرد داده از منابع داده ای مختلف استخراج، پاکسازی و در بالاترین سطح ریز دانگی در یک انبار داده جامع ذخیره می شود.

·        طراحی بالا به پایین

این رویکرد توسط آقای رالف کیمبل (Ralph Kimball) معرفی شده است. در واقع در این رویکرد Data Mart های کوچک متناسب با نیاز هر بخش سازمان (فروش، منابع انسانی و ) طراحی می شود و سپس انبار داده جامع سازمان از تجمیع این Data Mart ها به وجود می آید.  از مزایای این رویکرد می توان به پیاده سازی سریع این رویکرد اشاره کرد.

·        طراحی Star

Star schema ساده‌ترین روش پیاده سازی Data Warehouse، طراحی ستاره ای به طراحی گفته می شود که جدول Fact در مرکز قرار گرفته و توسط جداول Dimension محاصره می شود. در این مدل جداول Dimension با یکدیگر ارتباط ندارند و فقط از طریق کلید با جدول Fact ارتباط دارند. این نوع طراحی برای گزارش گیری بسیار بهینه است.

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

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

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

·        کارایی بالای گزارش  گیری از داده های تاریخی سالیانه

·         انعطاف پذیری بالا برای تحلیل داده های چندبعدی

·         پشتیبانی از بسیاری از سیستم های مدیریت پایگاه داده های رابطه ای

·         تحلیل ساده تر داده ها نسبت به پایگاه های نرمالیزه شده.

·        طراحی Snow Flake

طراحی دانه برفی نوعی از طراحی ستاره ای به شمار می رود که در آن درجه نرمال سازی اندکی بیشتر است. در واقع در این نوع طراحی جداول Dimension می توانند در یک جهت با یکدیگر رابطه داشته باشند و زنجیره ای از روابط را ایجاد کنند. به عبارت دیگر در این نوع طراحی با سلسله مراتبی از جداول Dimension روبرو هستیم. این نوع طراحی می تواند باعث کاهش تکرار و هدر رفت مموری شود. این نوع طراحی نسبت به طراحی ستاره ای با کاهش در عملکرد همراه است.

مزایا و معایب مدل دانه برفی

·        در این مدل اندازه جداول بعد کاهش می یابد و از افزونگی جلوگیری جلوگیری می شود.

·        برنامه های کاربردی منعطف تر می شوند.

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

·        به علت افزایش تعداد جداول، هزینه نگهداری بالا می رود.

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

عمدتا سه نوع معماری Datawarehouse وجود دارد:

·        معماری تک لایه

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

·        معماری دو لایه

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

·        معماری سه لایه

این معماری پرکاربرد است. از طبقه بالا ، میانه و پایین تشکیل شده است.

Bottom Tier:

بانک اطلاعاتی سرورهای Datawarehouse به عنوان سطح پایین. این معمولاً یک سیستم پایگاه داده رابطه است. داده ها با استفاده از ابزارهای back-end در این لایه پاک ، تبدیل و بارگذاری می شوند.

لایه میانی:

ردیف میانی در انبار داده یک سرور OLAP است که با استفاده از مدل ROLAP یا MOLAP پیاده سازی می شود.

الف) (Relational OLAP (ROLAP: یک سیستم مدیریت پایگاه داده رابطه‌ای گسترده است. ROLAP عملیات بر روی داده‌های چند بعدی را به عملیات‌های رابطه‌ای استاندارد تبدیل می‌کند.

ب) (Multidimensional OLAP (MOLAP: که به طور مستقیم داده‌های چند بعدی و عملیات را اجرا می کند.

(ONLINE ANALYTICAL PROCESSING (OLAP چیست ؟

OLAP در واقع نرم افزاری برای دستکاری داده های چند بعدی از منابع مختلف است. داده ها اغلب در یک Data Warehouse ذخیره می شوند. نرم افزار OLAP  به کاربر در ایجاد query ها ، نما ها و گزارشات کمک می کنند.

Top-Tier:

لایه بالایی، لایه client یا front-end است. این می تواند ابزار پرس و جو ، ابزار گزارش ، ابزار پرس و جو مدیریت شده ، ابزار تجزیه و تحلیل و ابزار کاوی باشد.

مراحل و نحوه ایجاد انبار داده در سازمان

استخراج داده های تراکنشی از پایگاه های داده به یک مخزن واحد

تبدیل داده ها: از آنجائیکه سیستم های اطلاعاتی و برنامه های کاربردی یک سازمان غالبا توسط افراد و پروژه های مختلف به مـرور زمان در مواجهـه با نیـازهای جدید سـاخته یا تغییر شـکل داده می شـوند، یکسـان سـازی آنها امری ضروری می باشد.در بسیاری از موارد نیز سیستم های اطلاعاتی در بستر های مختلف پایگاه داده مانند Microsoft SQL Server ،Oracle ، Sybase ، Microsoft Access و غیره طراحی گردیده اند. بررسی جداول، برقراری ارتباط بین فیلدها و یک شکل سازی داده ها در این مرحله صورت می پذیرد.

بارگذاری داده های تبدیل شده به یک پایگاه داده چند بعدی: بر خلاف پایگاه داده سیستم های عملیاتی (OLTP) که دارای معماری رابطه ای می باشند و از اصول نرمالیزه استفاده می کنند، طراحی انبار داده به شکلی ویژه بدون بهره گیری از اصول نرمالیزاسیون می باشد. در انبارداده فیلدها در جاهای مختلفی تکرار می شوند و روابط بین جداول کمتر به چشم می خورند. علت آن هم افزایش سرعت پردازش اطلاعات هنگام گزارشات و عملیات آماری می باشد.

تولید مقادیر از پیش محاسبه شده جهت افزایش سرعت گزارش گیری: مـقادیر از پیـش محاسـبه شده را تراکـم نیـز مـی نامـند. ایـن مرحلــه توســط سیستـم هایی نظــیر Microsoft SQL  Server  Analysis  Services  بسیار ساده تر شده است. ایـن تراکم ها کـه در ابـعاد مختلـف انبار داده سـاخته می شوند، موجب می شوند که سرعت انجام عملیات گزارش گیری به شکل محسوسی افزایش یابد. بایدتوجه داشت که عملیات ساخت این مقادیر بسیار زمان گیر بوده و نیازمند حافظه زیادی بر روی سروراست.

ساخت ( یا خرید ) یک ابزار گزارش گیری: پس از انجام مراحل فوق، شـما می توانـید نسبـت به ساخت یا خـرید یـک نرم افزار گزارش گیـری تصمیم گیری نمایید.  به طور معمـول هزینه سـاخت یک نرم افزار گزارش گـیری،  بالاتـر از هزینـه خریـد آن از یک شرکت خارجـی می شود.

ابزارهای ایجاد انبار داده

1) QuerySurge

2) CloverDX

3) Xplenty

4) Skyvia

5) Panoply

6) Oracle

7) Amazon RedShift

8) Domo

9) Teradata Corporation

10) SAP

11) SAS

12) IBM – DataStage

13) Informatica

14) MS SSIS

15) Talend Open Studio

16) The Ab Initio software

17) Dundas

18) Sisense:

19) TabLeau

20) MicroStrategy

21) Pentaho

22) BigQuery

23) Numetric

24) Solver BI360 Suite

25) MarkLogic

با توجه به اینکه انتخاب ابزار جهت ایجاد انباره داده وابستگی زیادی به نوع فعالیت سازمان و وابستگی فرآیندها با یکدیگر دارد، به همین دلیل پس از شناخت (Feasibility Study) نسبت به انتخاب ابزار برای ایجاد انباره داده اقدام می شود. ولی عموماً یکی از دو ابزار SQL Server و یا Oracle برای این بخش مناسب می باشند.

تفاوت انبار داده و پایگاه داده چیست

از لحاظ مدل‌های داده‌ای:

پایگاه‌های داده برای مدل OLTP بهینه سازی شده که براساس مدل داده رابطه‌ای امکان پردازش تعداد زیادی تراکنش همروند_ که اغلب حاوی رکورد‌های اندکی هستند_ را دارد. اما در انبارهای داده که برای پردازش تحلیلی آنلاین طراحی شده‌اند امکان پردازش تعداد کمی‌ پرس و جو پیچیده برروی تعداد بسیار زیادی رکورد داده فراهم می‌شود. سرورهای OLAP هم می‌توانند رابطه‌ای باشند ( ROLAP ) وهم می‌توانند چند‌بعدی باشند (MOLAP ).

از لحاظ کاربران:

کاربران پایگاه داده کارمندان دفتری و مسئولان می‌باشند در حالی که کاربران انبار داده مدیران و تصمیم‌گیرنده‌ها هستند.

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

از لحاظ مقدار داده‌ها:

مقدار داده‌های یک پایگاه داده در حدود چند مگابایت تا چند گیگابایت است در حالیکه این مقدار در انبار داده در حدود چند گیگابایت تا چند ترابایت است

مدل‌های انباره داده

از منظر معماری‌های انباره داده، ما دو مدل انباره داده داریم:

·        انباره داده مجازی

انبارداری داده های مجازی چیست؟

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

کیفیت و سازگاری داده‌ها تضمین نمی‌شود. زیرا فعالیت‌های آماده سازی داده‌ها صورت نمی‌گیرند.

به طور معمول، داده‌های تاریخی وجود ندارند.

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

·        دیتا مارت

Mart data یک الگوی ساختار / دسترسی ویژه برای محیط های انبار داده است که برای بازیابی داده های مشتری مداری استفاده می شود. مارت داده زیر مجموعه ای از انبار داده ها است و معمولاً به یک خط یا تیم تجاری خاص هدایت می شود. در حالی که انبارهای داده دارای عمق گسترده ای در سازمان هستند ، اطلاعات موجود در مارت های داده مربوط به یک واحد واحد است در واقع دیتا مارت‌ها به موضوعات محدود می‌شوند.

در یک تعریف ساده، بازار داده یک نمونه کوچکتر و یا یک زیر مجموعه از انبار داده است.

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

در کل سه نوع مختلف بازار داده (Data Mart) وجود دارد. وابسته (Dependent)، مستقل (Independent) و ترکیبی (Hybrid).

بازار داده وابسته (Dependent Data Mart) :

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

بازار داده مستقل    (Independent Data Mart) :

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

حالت ترکیبی :

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

مقایسه DWH با OLTP

وظیفه اصلی سیستم‌های پایگاه داده، پشتیبانی از تراکنش‌های آنلاین و پردازش پرس و جو است. این سیستم‌ها، سیستم پردازش تراکنش آنلاین (OLTP) نامیده می‌شوند و بیشتر عملیات روزمره یک سازمان را پوشش می‌‌دهند.

از سوی دیگر انبار داده که بعنوان نوع خاصی از پایگاه‌های داده معرفی می‌شود به کاربران یا knowledge workers خدماتی در نقش تحلیلگر داده و تصمیم گیرنده ارائه می‌دهند. چنین سیستمهایی قادر هستند داده‌ها را در قالبهای گوناگون برای هماهنگی با نیازهای مختلف کاربران، سازماندهی کرده و ارائه دهند. این سیستم‌ها با نام سیستم‌های پردازش تحلیلی آنلاین(OLAP) نیز شناخته‌ می‌شوند.

از لحاظ مدل‌های داده‌ای؛ پایگاه‌های داده برای مدل OLTP بهینه سازی شده که براساس مدل داده رابطه‌ای امکان پردازش تعداد زیادی تراکنش همروند_ که اغلب حاوی رکورد‌های اندکی هستند_ را دارد. اما در انبارهای داده که برای پردازش تحلیلی آنلاین طراحی شده‌اند امکان پردازش تعداد کمی‌ پرس و جو پیچیده برروی تعداد بسیار زیادی رکورد داده فراهم می‌شود. سرورهای OLAP هم می‌توانند رابطه‌ای  باشند ( ROLAP ) وهم می‌توانند چند‌بعدی باشند (MOLAP ).

از لحاظ کاربران؛ کاربران پایگاه داده کارمندان دفتری و مسئولان می‌باشند در حالی که کاربران انبار داده مدیران و تصمیم‌گیرنده‌ها هستند.

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

از لحاظ مقدار داده‌ها؛ مقدار داده‌های یک پایگاه داده در حدود چند مگابایت تا چند گیگابایت است در حالیکه این مقدار در انبار داده در حدود چند گیگابایت تا چند ترابایت است.

 

نظرات 1 + ارسال نظر
امیرحسین فریبی پنج‌شنبه 15 دی‌ماه سال 1401 ساعت 11:36 ق.ظ

عالی بود استاد

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد