بررسی انباره داده بخش دهم
معماری در سه ناحيه اصلی
همانطور كه میدانيد سه ناحيه اصلی در انبار داده وجود دارد:
مالکيت داده (Data acquisition)
ذخيره سازی داده (Data storage)
تحويل داده (Information delivery)
در اين بخش از بحث، معماری انبارداده را همانطور كه به اين سه ناحيه ارتباط دارد، مطالعه خواهد شد. در هر ناحيه، اجزاء معماری توضيح داده خواهيم کرد. هربخش توابع تعريف شده ای دارد و سرويسهای ويژه ای را ايجاد می کنند. اين توابع و سرويسها در آينده بررسی خواهندشد و همچنين معماری فنی اصلی هر يک از اجزاء در اين سه ناحيه بررسی می شود.
معماری تکنيکی
دراين بخش نواحی مختلف معماری انبارداده مورد بررسی قرار می گيرد. درابتدا اجزاء معماری به سه ناحيه اصلی مالکيت داده(data acquisition) ،ذخيره سازی داده (data storage)، ولايه تحويل داده (information delivery) تقسيم می شود.
سپس خصوصيات ويژه معماری انبار داده بررسی می شود. در نهايت معماری و ويژگيهای مشخص کننده معماری انبارداده در مقايسه با سيستم عملياتی مطالعه می شود. همچنين گردش داده را در انبارداده، و اتصال و ارتباط اجزاء معماری در طی گذارداده پيگيری می شود.
اکنون می توان گفت که درک خوبی، از عبارت معماری و معماری انبارداده پيدا می کنيم. هر ناحيه از معماری، مجموعه اعمال تعريف شده ای را انجام میدهد و يك گروه از سرويسهای خاص را ايجاد میكند. وقتی کليه نواحی وظايف از پيش تعريف شده خودشان را انجام می دهند و سرويسهای لازم را ارائه می دهند، درنتيجه كل معماری، انبارداده را به منظور حصول به اهداف و نيـازهای تجاری سوق می دهد.
بنابراين معماری تكنيكی يك انبارداده، مجموعه ای كامل از عملکردها و سرويسهايی است که در هر ناحيه ايجاد می شود. همچنين معماری تكنيكی شامل روالها و قوانينی است كه برای انجام عملکردها و ايجاد سرويسها مورد نياز هستند.
در اين بخش ساير امتيازات مهم معماری را مورد بررسی قرار می دهيم. ساختارمعماری شامل مجموعهای از ابزارهای لازم جهت انجام عملکردها و ايجاد سرويسها نيست. وقتی به عمليات استخراج داده در يکی از نواحی مراجعه می کنيم، می توان به سادگی به عملکرد آن و عمليات مختلف مجتمع شده با آن عمليات اشاره کرد. همچنين اين عمليات بايد با ذخيره داده در ناحيه ذخيره سازی برای عمليات استخراج داده ارتباط داشته تا داده استخراج شده به ناحيه ذخيره سازی منتقل شود. پس اثری از هيچ ابزاری جهت انجام اعمال لازم وجود ندارد. پس اين ابزارها كجا قراردارند؟ ابزارهای استخراج داده چه هستند؟ ابزارهای مرتبط با معماری کدامند ؟ در حقيقت ابزارهايی به منظور پياده سازی معماری وجود دارند،پس بايد به ياد داشته باشيم كه در ابتدا معماری و به دنبال آن ابزارها اهميت دارند.
در واقع ابزارها بيشتر متناسب با معماری انبارداده انتخاب خواهند شد. شايد به طور واقع بينانه اين کار را انجام دهيم. فرض کنيد منبع داده برای انبارداده فقط شامل چهار جدول از يك بانک اطلاعاتی متمركز باشد. اگر چنين باشد،حوزه وميدان ديد اجزاء منبع داده چيست؟ اهميت عمليات استخراج داده درچيست؟ اينها مواردی هستند که به شدت قابل توجه می باشند. آيا بعد از اين به ابزارهای سه بخشی پيشرفته برای استخراج داده نيازپيدا می شود؟ مسلما نه. موقعيت وسيعتر ديگری را در نظر بگيريد، تصور کنيد منابع داده شامل بانکهای اطلاعاتی و فايلهايی از پنجاه سيستم يا بيشتر باشند که در چند بستر در سايتهايی در فواصل دور اجرا می شوند. در اين مورد، نواحی معماری منابع داده وعمليات استخراج داده حوزه پهناور و پيچيده ای دارد. مطمئنا لازم است که باخريد ابزارهای استخراج داده مناسب روش کار را تغيير داده وسريعترپيش رويم.
در بخشهای باقيمانده اين بحث به توصيف نواحی معماری تكنيكی می پردازيم. همچنين دراين بخش روی انواع توابع، سرويسها، روالها و ذخيره سازی داده هايی بحث خواهيم کرد كه به هر ناحيه معماری مرتبط می باشند و از جمله موارد راهبردی هستند. بايد اين راهبردها را مطالعه و بررسی کرد و آنها را به منظور ايجاد يک معماری انبارداده با هم تطبيق داد. همچنين در اين طرح جزئياتی مثل اندازه و پيچيدگی کليه توابع، سرويسها، روالها و ذخيرهسازی مرتبط با هر ناحيه معماری تشريح می شود. طرح کلی معماری به عنوان برنامه کاری برای طراحی و توسعه به کار می رود. همچنين به عنوان ليست اصلی بررسی برای انتخاب ابزار به کار می رود. حال به بررسی جزئيات بيشتر درباره معماری تكنيكی درهر يک از سه ناحيه اصلی می پردازيم.
ناحيه مالکيت داده (Data Acquisition)
اين ناحيه پردازش کلی استخراج داده از منابع داده، انتقال کليه دادههای استخراج شده به فضای ذخيرهسازی، و آماده سازی داده جهت بارگذاری در مخزن انبارداده را انجام می دهد. دو بخش اصلی معماری در اين ناحيه به عنوان source data و data staging می باشند. عمليات و سرويسهای ارائه شده در اين ناحيه به اين دو بخش معماری وابسته است . تفاوت در منابع داده ای اثر مستقيم روی حجم و ميدان عمل عملياتها و سرويسها دارند.
چه نوع اتفاقاتی در اين ناحيه در توسعه انبارداده اهميت بيشتری دارد؟ پردازشهای استخراج داده، تغييرشکل و بارگذاری داده ،وقتگيربوده وبه فعاليتهای انسانی وابسته و خيلی مهم هستند. هر چند با اين موارد به انداره کافی سروکار پيدا خواهيم کرد تا ديد صحيحی را روی همه نواحی معماری داشته باشيم. شكل 2-8 شمايی ازناحيه مالکيت داده در معماری تكنيكی را نشان میدهد.
گردش داده
گردش: در ناحيه مالکيت داده ،گردش داده ازبخش data source شروع می شودودربخش data staging متوقف میشود.پس ازتغييرشکل و يكپارچهسازی ، داده برای بارگذاری در داخل انبارداده آماده است.
منابع داده : برای اکثر انبارهای داده، منبع داده اصلی همان سيستمهای عملياتی حرفه ای هستند. بسياری ازسيستمهای عملياتی درسطوح مختلف حرفه ای هنوز سيستمهای قديمی هستند. داده قديمی در بانکهای اطلاعاتی سلسله مراتبی و شبکه ای قرار دارند که بايد از زبان نسل چهارم مناسب آن DBMS خاص برای استخراج داده استفاده کرد. برخی از بيشتر سيستمهای عملياتی جديد در معماری client/server اجرا می شوند. معمولا اين سيستمهای عملياتی توسط DBMS های رابطه ای پشتيبانی می شوند. در اينجا می توان از زبان SQL برای استخراج داده استفاده کرد.
تعداد نسبتا زيادی از شرکتها، سيستمهای ERP (طراحی منبع حرفه ای) را پذيرفته اند. منابع داده ERP اين مزيت را دارند كه داده اين منابع مستحکم و يكپارچه می باشد. هر چند اين مورد می تواند موانع کوچکی در استفاده از منابع داده ERP در بر داشته باشد. بايد ابزار ERP را دراولويت موارد ابزارهای لازم برای استخراج داده انتخاب كرد.
برای نگهداری داده منابع خارجی، بايد فايلهای ميانيی را برای نگهداری داده دريافت شده از منابع خارجی ايجاد كرد.و پس از قالب بندی و سازماندهی مجدد اجزاء داده، بايد داده را به ناحيه ذخيره سازی منتقل کرد.
ذخيره سازی داده ميانی: داده ای که از منبع اطلاعاتی استخراج میشود، به فايلهای موقت منتقل می شود. گاهی،در استخراجهای همگن ،داده از نرم افزارهای منبع به درون فايلهای موقت منتقل میشود و سپس قبل از انتقال به ناحيه ذخيره سازی با ساير فايلهای موقت تلفيق میشود.
پردازش متقابل نيزامری عادی است .در هر عمليات، يك يا دو فايل flat بزرگ ايجاد میشود و سپس به فايلهای كوچكتر تقسيم میشوند و اين فايلهای کوچک به صورت مناسب قبل از انتقال داده به ناحيه ذخيره سازی با هم الحاق می شوند. عموما دليل اصلی استفاده ازفايلهایflat به منظور استخراج داده از سيستمهای عملياتی است.
ناحيه ذخيره سازی: اين ناحيه مکانی است كه کليه دادههای استخراج شده با هم در آن جای می گيرند و برای بارگذاری در انبارداده آماده میشوند. ناحيه ذخيره سازی شبيه يک ماشين اسمبلی يا يك ناحيه سازنده است. در اين ناحيه، هر فايل استخراج شده بازبينی شده، قوانين تجاری آن مورد بررسی قرارمی گيرد، عملياتهای مختلف تغيير شکل روی آن انجام شده ،داده ها براساس يک پارامتر خاص مرتب و در صورت نياز با هم ترکيب می شوند، ناسازگاريها برطرف و داده بدين ترتيب پاکسازی می شود. وقتی داده در نهايت به منظورذخيره سازی در انبارداده سراسری و يا يکی از Data mart های منطبق برآن آماده شد، به صورت موقت برای بارگذاری در ناحيه مخزن ذخيره سازی قرار می گيرد.
در انبارهای داده بزرگ، داده در ناحيه ذخيره سازی به صورت دنباله متوالی از اطلاعات يا فايلهایflat نگهداری می شوند.هر چنداين فايلهای flat حاوی داده کاملا يکپارچه و پاکسازی شده در قالبهای مناسب جهت بارگذاری می باشند ،اما عموما اين فايلها به صورتی هستند که بتوانند توسط ابزارهای کاربردی انبارداده بارگذاری شوند. درحال حاضرمخازن داده در ناحيه ذخيرهسازی، اکثرا بانکهای اطلاعاتی رابطه ای می باشند. داده درچنين نواحی ذخيره سازی برای دورههای طولانی نگهداری میشود. اگرچه استخراجها برای بارگذاری میتواند به سادگی از بانکهای اطلاعاتی رابطهای توسط index های متناسب به دست آيد،در عين حال ايجاد و نگهداری چنين بانکهای اطلاعاتی رابطهای درگير هزينه بالای ايجاد index و انتقال داده از منابع اطلاعاتی می باشد.