Data Warehouse چیست و ضرورت آن در کسب و کارها
- 1399/9/27
- 1084
- نرم افزار های تخصصی
بررسی کاملی ازمعماری Data Warehouse یا انبار داده و ضرورت آن در کسب و کارها
در این مقاله سعی داریم تا مفهوم کاملی از Data Warehouse ارائه بدهیم و به بررسی ضرورت آن در تمامی بخش های مختلف جامعه بپردازیم و معماری آنرا مورد بحث و بررسی قرار بدهیم.
مفهوم Data Warehouse یا انبار داده
انبار داده یک بانک اطلاعاتی رابطهای غیرنرمال است که دادههای حال و گذشته را در یک مکان واحد تجمیع کرده است. در واقع میتوان گفت انبارهای داده، مخازن مرکزی دادههای یکپارچه از یک یا چند منبع پراکنده هستند که برای پشتیبانی از طیف گسترده ای از تصمیم سازی ها در یک سازمان خاص طراحی شده است.
در واقع یک انبار داده مخزن اصلی کلیه داده های حال و گذشته یک سازمان می باشد که برای همیشه جهت انجام عملیات گزارش گیری و آنالیز در دسترس مدیران می باشد. انبارهای داده حاوی داده هایی هستند که به مرور زمان از سیستم های عملیاتی آنلاین سازمان (OLTP) استخراج می شوند، بنابراین سوابق کلیه اطلاعات و یا بخش عظیمی از آنها را می توان در انبار داده ها مشاهده نمود.
از آنجائیکه انجام عملیات آماری و گزارشات پیچیده دارای بارکاری بسیار سنگینی برای سرورهای پایگاه داده می باشند، وجود انبار داده سبب می گردد که اینگونه عملیات تاثیری بر فعالیت برنامه های کاربردی سازمان (OLTP) نداشته باشد. همانگونه که پایگاه داده سیستمهای عملیاتی سازمان ( برنامه های کاربردی ) به گونه ای طراحی می شوند که انجام تغییر و حذف و اضافه داده به سرعت صورت پذیرد، در مقابل انبار داده ها دارای معماری ویژه ای می باشند که موجب تسریع انجام عملیات آماری و گزارش گیری می شود (OLAP)
تكنولوژي انبار دادهها شامل مجموعهای مفاهيم و ابزارهای جديدی است كه با فراهم آوردن اطلاعات از دانشگران (افراد اجرايي، مدير و تحليلگر) در تصميم گيری پشتيباني مينمايد. دليل اصلي ساخت انبار داده ها، بهبود كيفيت اطلاعات در سازمان است، در واقع دسترسي به دادهها از هر جا درون سازمان دادهها از منابع داخلي و خارجي تهيه ميشوند و به اشكال گوناگون از دادههای ساختاری گرفته تا دادههای ساخت نيافته مانند فايلهای متنی يا چند رسانهای، در مخزنی مجتمع ميی شوند. انبار دادهها يا DWH مخزنی از اين دادههاست كه به صورتی قابل درك در دسترس كاربران نهايی كسب و كار قرار ميگيرد.
تاریخچه Data Warehouse :
از اواسط سالهای 1980 نياز به انبار دادهها به وجود آمد و دريافتند كه سيستم های اطلاعاتی بايد به صورت سيستمهای عملياتی و اطلاعاتی مشخص شوند. سيستمهای عملياتی از فعاليتهای روزانه كسب و كار پشتيبانی مينمايند و برای پاسخگويی سريع به ارتباطات از پيش تعريف شده مناسب هستند. دادههای عملياتی ارائه بیدرنگ و فعلي وضعيت كسب و كار میباشند. اما سيستمهای اطلاعاتي براي مديريت و كنترل كسب وكار به كار ميروند. اين سيستمها از تجزيه و تحليل دادهها براي اتخاذ تصميم درباره عملكرد آني و آتي سازمان پشتيبانی میكنند و برای در خواستهای موردی، پيچيده و به طور عمده فقط خواندنی طراحی شدهاند.دادههای اطلاعاتی تاريخی هستند، به عبارتی بيانگر ديدگاه ثابتی از كسب وكار در يك دوره زمانی میباشند.
اهمیت استفاده از Data Warehouse :
یکی از ویژگی های بسیار مهم داده های موضع گرا بودن است! مبرهن است که هر موضوع یکی از فعالیت های سازمان را بیان می کند و به نوعی اهداف سازمان بر اساس آن شکل می گیرد. موضوعی به نام OLAP وجود دارد که اجازه آنالیز سریع و موثر را بر روی انبوهی از داده می دهد در این صورت است که Data warehouse وارد مدل های چند بعدی شده است و کاربر می تواند بسیار سریع تر و همین طور آسان تر به داده های خلاصه شده دسترسی داشته باشد.
از طرف دیگر یک سری سیستم های پردازش تراکنش بر خط و یا OLTP نیز دیده می شود که مبتنی بر اعمال روزانه است، مثالی که برای این گزینه می توان زد. سیستم های تراکنشی بانکی است. در چنین سیستم هایی تراکنش ها درخواست خواندن داده ها و همین طور به روز رسانی داده ها را برعهده دارد. موضوع دیگری که در خصوص انبار داده دیده می شود وجود مکانیزم های کنترل همروندی و همین طور ریکاوری داده است. اما باید بدانیم که وظیفه اصلی سیستم های Data warehouse فرآیند تصمیم سازی است. در سیستم های Data warehouse عموما شاهد تاریخچه ای از داده ها به صورت خلاصه شده هستیم و هدف اصلی یکپارچگی برای دسترسی آسان تر است.
نحوه استفاده از Data Warehouse در سازمان ها :
بسیاری از شرکت ها و سازمانها به این باور رسیده اند که گردآوری، سازمان دهی و یکپارچه سازی داده ها در یک مخزن داده برای مدیریت بهینه و اتخاذ تصمیمات کلان یک ضرورت می باشد.
به طور کلی ساخت یک انبار داده، به شکل یک پروژه شامل مراحل اصلی زیر می باشد:
1) استخراج داده های تراکنشی از پایگاه های داده به یک مخزن واحد
شناخت منابع داده های سازمان و استخراج داده های ارزشمند از آنها یکی از اصلی ترین مراحل ایجاد انبار داده می باشد.
2) تبدیل داده ها
از آنجائیکه سیستمهای اطلاعاتی و برنامه های کاربردی یک سازمان غالبا توسط افراد و پروژه های مختلف به مـرور زمان در مواجهـه با نیـازهای جدید سـاخته یا تغییر شـکل داده می شـوند، یکسـان سـازی آنها امری ضروری می باشد.در بسیاری از موارد نیز سیستمهای اطلاعاتی در بستر های مختلف پایگاه داده مانند Microsoft SQL Server ،Oracle ، Sybase ، Microsoft Access و غیره طراحی گردیده اند. بررسی جداول، برقراری ارتباط بین فیلدها و یک شکل سازی داده ها در این مرحله صورت می پذیرد.
3) بارگذاری داده های تبدیل شده به یک پایگاه داده چند بعدی
بر خلاف پایگاه داده سیستمهای عملیاتی (OLTP) که دارای معماری رابطه ای می باشند و از اصول نرمالیزه استفاده می کنند، طراحی انبار داده به شکلی ویژه بدون بهره گیری از اصول نرمالیزاسیون می باشد. درانبار داده فیلدها در جاهای مختلفی تکرار می شوند و روابط بین جداول کمتر به چشم می خورند. علت آن هم افزایش سرعت پردازش اطلاعات هنگام گزارشات و عملیات آماری می باشد.
4) تولید مقادیر از پیش محاسبه شده جهت افزایش سرعت گزارش گیری
مـقادیر از پیـش محاسـبه شده را تراکـم نیـز مـی نامـند. ایـن مرحلــه توســط سیستـمهایی نظــیر Microsoft SQL Server Analysis Services بسیار ساده تر شده است. ایـن تراکم ها کـه در ابـعاد مختلـف انبار داده سـاخته
می شوند، موجب می شوند که سرعت انجام عملیات گزارش گیری به شکل محسوسی افزایش یابد. بایدتوجه داشت که عملیات ساخت این مقادیر بسیار زمان گیر بوده و نیازمند حافظه زیادی بر روی سروراست.
5- ساخت ( یا خرید ) یک ابزار گزارش گیری
پس از انجام مراحل فوق، شـما می توانـید نسبـت به ساخت یا خـرید یـک نرم افزار گزارش گیـری تصمیم گیری نمایید. به طور معمـول هزینه سـاخت یک نرم افزار گزارش گـیری، بالاتـر از هزینـه خریـد آن از یک شرکت خارجـی می شود.
روش های موجود جهت طراحی انبارداده ها :
طراحی پایین به بالا
این رویکرد در طراحی انبار داده توسط آقای بیل اینمون (Bill Inmon) مطرح شده است. در این رویکرد ابتدا یک انبار داده جامع و کامل طراحی می شود. در واقع در این رویکرد داده از منابع داده ای مختلف استخراج، پاکسازی و در بالاترین سطح ریز دانگی در یک انبار داده جامع ذخیره می شود.
طراحی بالا به پایین
این رویکرد توسط آقای رالف کیمبل (Ralph Kimball) معرفی شده است. در واقع در این رویکرد Data Mart های کوچک متناسب با نیاز هر بخش سازمان (فروش، منابع انسانی و …) طراحی می شود و سپس انبار داده جامع سازمان از تجمیع این Data Mart ها به وجود می آید. از مزایای این رویکرد می توان به پیاده سازی سریع این رویکرد اشاره کرد.
طراحی Star
Star schema سادهترین روش پیاده سازی Data Warehouse، طراحی ستاره ای به طراحی گفته می شود که جدول Fact در مرکز قرار گرفته و توسط جداول Dimension محاصره می شود. در این مدل جداول Dimension با یکدیگر ارتباط ندارند و فقط از طریق کلید با جدول Fact ارتباط دارند. این نوع طراحی برای گزارش گیری بسیار بهینه است.
طراحی Snow Flake
طراحی دانه برفی نوعی از طراحی ستاره ای به شمار می رود که در آن درجه نرمال سازی اندکی بیشتر است. در واقع در این نوع طراحی جداول Dimension می توانند در یک جهت با یکدیگر رابطه داشته باشند و زنجیره ای از روابط را ایجاد کنند. به عبارت دیگر در این نوع طراحی با سلسله مراتبی از جداول Dimension روبرو هستیم.
ابزارهای پیاده سازی انبارداده :
1) مدیریت داده ها توسط Oracle
Oracle یک سامانه ی مدیریت پایگاه داده ی شی گرا - رابطه ای (object-relational) است که در حال حاضر پیشتازترین فروشنده ی RDBMSدر سطح جهانی محسوب می شود. در حقیقت بیش از نیمی از بازار RDBMS در سطح جهانی در دست Oracle می باشد.
بررسی ویژگی های Oracle :
- ساختار داده های منطقی – اوراکل از ساختار داده های منطقی برای ذخیره داده ها استفاده می کند تا بتوانید بدون اطلاع از مکان فیزیکی ذخیره شده، با بانک اطلاعاتی ارتباط برقرار کنید.
- پارتیشن بندی – یک ویژگی با کارایی بالا است که به شما امکان می دهد یک میز بزرگ را به قطعات مختلف تقسیم کرده و هر قطعه را در دستگاه های ذخیره سازی مختلف ذخیره کنید.
- حافظه پنهان حافظه – معماری حافظه پنهان به شما امکان می دهد یک پایگاه داده بسیار بزرگ را تنظیم کنید که هنوز هم می تواند با سرعت بالا انجام شود.
- دیکشنری داده ها مجموعه ای از جداول و دیدگاه های داخلی است که به طور موثرتری از پایگاه داده Oracle پشتیبانی می کند.
- تهیه نسخه پشتیبان و بازیابی – از صحت اطلاعات در صورت خرابی سیستم اطمینان حاصل نمایید. اوراکل شامل یک ابزار قدرتمند به نام Recovery Manager (RMAN) است – به DBA اجازه می دهد تا از نسخه های پشتیبان پایگاه داده در مواقع مختلف به موقع استفاده کند.
- خوشه بندی – Oracle Real Application Cluster (RAC) – Oracle امکان دسترسی به سیستم را فراهم می کند که بدون وقفه در سیستم کار می کند و در صورت عدم موفقیت یک یا چند سرور در یک خوشه.
2) مدیریت داده ها توسط SQL server
SQL مخفف عبارت Structured Query Language است که آنرا “زبان پرسوجوی ساختار یافته” معنی میکنند. اِس کیو اِل یک زبان استاندارد برای دسترسی و کار با پایگاهداده (database) است. این زبان از سال 1987 یک زبان استاندارد بین المللی (ISO) بوده است.
SQL Server یک سیستم مدیریت پایگاه داده رابطه ای از مایکروسافت است. این سیستم به منظور مدیریت و ذخیره اطلاعات طراحی و ساخته شده است. این سیستم از انواع مختلفی عملیات مانند عملیات اطلاعاتی تجاری، عملیات تحلیلی و پردازش معاملات پشتیبانی میکند. اطلاعات ذخیره شده در سرور، در پایگاه داده رابطه ای ذخیره میشود. با این حال، از آنجا که این سیستم بسیار بیشتر از یک بانک اطلاعاتی است، از سیستم مدیریتی نیز تشکیل شده است.
برای مشاهده آموزش رایگان sql server اینجا کلیک کنید
دستورات مورد استفاده در SQL چهار دسته هستند که عبارتنداز:
1) Date Definition Language _ DDL : زبان تعریف داده ها می باشد که با استفاده از این زبان امکان حذف و یا اضافه کردن یک جدول از بانک اطلاعاتی را می توان انجام داد که خوده این زبان دستورات خاص خود را دارد که عارتند از:Create , Alter , Drop , Create Index , Alter Index , Drop Index
2) Data Manipulation Language _ DML : زبان پردازش داده ها می باشد که با استفاده از این زبان برای تغییر جداول استفاده می شود که این زبان نیز دارای سه دستور اصلی ی باشد که عبارتند از:Insert , Update , Delete
3) Data Control Language _ DCL : این ویژگی دستورات مدیریت و کنترل داده ها را برعهده دارد که در کنترل داده های بانک اطلاعاتی که بیشتر در رابطه با دسترسی این داده ها به دیگر کاربران است کاربرد دارد.این ویژگی از چهار دستور اصلی پشتیبانی می کند که عبارتند از:Alter Password , Revoke , Grant , Create Synonym
4) Data Query Language _ DQL : این خاصیت دستورات پرس و جوی داده ها را برعهده دارد که تنها از یک دستور به نام Select تشکیل شده که بیشترین حجم کاری را برای یک کاربر که با SQL کار می کند را برمی گیرد.این دستور باعث گستردگی استفاده از این دستور می شود.
برای مشاهده آموزش رایگان کوئری نویسی در SQL اینجا کلیک کنید
3) مدیریت داده ها توسط Mark Logic :
Mark Logic ابزاری است که اجازه میدهد یک انبار دادهها را به شکل بهینه طراحی کرده و با استفاده از آرایهای متشکل از قابلیتهای سازمانی به سادهترین و سریعترین شکل فرآیند یکپارچهسازی دادهها مدیریت کنید. این ابزار به راحتی قادر به انجام عملیات جستوجوی پیچیده بوده و قادر است از انواع مختلفی از دادهها همچون اسناد، ارتباط میان مولفههای درون بانکهای اطلاعاتی و متادیتاها کوئری بگیرد.