بررسی انباره داده بخش هفتم
واسطهای داده و نرم افزار شبكه لايه اتصال(Connectivity) را ايجاد می کنند. وابسته به نيازهای اطلاعاتی وچهارچوب سازمان، اين لايه ها به بهينه ترين روش سازماندهی می شوند.

تعريف معماری، سازماندهی مناسب و صحيح اجزاست. انبار داده با اجزاء سختافزاری و نرم افزاری ساخته می شود. برای رفع نيازهای سازمان وهمچنين برای سود بيشتر اين بلوكهای سازنده رامی توان به روشی صحيح درکنار هم سازماندهی كرد. گاهی مدير سيستم ممکن است تمايل داشته باشد تا به صورت غير معمول تاکيد خاصی روی يک بخش خاص داشته باشد يا ممکن است بخواهد بعضی بخشها را توسط ابزارها و سرويسهای اضافی تقويت کند.انجام کليه اين اعمال وابسته به شرايط محيط عملياتی می باشد.
لايه Source Data در سمت چپ تصوير نشان داده شده است. لايه Data Staging به عنوان بلوك سازنده بعدی نيز مسئوليت ارائه خدمات لازم می باشد. در وسط، لايه Data Storage قرار دارد که اطلاعات در انبارداده را مديريت می كند. اين لايه نه فقط عهده دار ذخيره و مديريت داده می باشد، بلكه موقعيت داده در شيار دستگاه ذخيره سازی را به منظور ايجاد Metadata لازم در مخزن (Repository) نگهداری می کند.
لايه Information Delivery (تحويل داده)كه در سمت راست تصويرنشان داده شده، حاوی کليه روشهای مختلف برای ايجاد اطلاعات از انبار داده بر اساس درخواست كاربران است.
خواه انبار داده برای يك شركت توليدی بزرگ دارای 500 فروشگاه زنجيره ای خرده فروشی در کل کشور طراحی شده باشد، يا يك مؤسسه بانكی جهانی، اجزای بنيادی انبار داده به همين صورت نشان داده شده در شکل می باشد. هرانبار داده با همين بلوکهای سازنده ايجاد می شود. تفاوت اصلی آنها درهرسازمان روش سازماندهی بلوكهای سازنده می باشد. تفاوت اصلی انبارهای داده در اين موضوع است كه چه بلوكهايی در معماری از سايرين قويتر ساخته شوند.
حالا يك نگاه دقيقتر به هر لايه خواهيم داشت. در اين مرحله به بررسی بخشهای مختلف و نحوه قرار گيری هر بخش در معماری می پردازيم. همچنين مروری بربحثهای خاص مربوط به هرلايه ويژه خواهيم داشت.
لايه Source Data
لايه Source Data درون انبار داده به چهار بخش وسيع تقسيم میشود،که دراينجادرباره آنها بحث می کنيم.
Production Data (بخش توليد داده). اين بخش داده را از سيستمهای عملياتی مختلف به دورن انبارداده منتقل می کند. برمبنای نيازهای اطلاعاتی در انبار داده، Segment های داده از سيستمهای عملياتی مختلف انتخاب می شوند، که در طول ارتباط با اين داده ها، سيستم با چندين نوع قالب داده مواجه خواهد شد، همچنين به ياد داريد كه روش ذخيره داده در محيطهای سختافزاری به صورتهای متفاوت می باشد. درعين حال که اين دادها از طريق چندين نوع نرم افزار مختلف توليدمی شود از طريق سيستمهای پايگاهی وسيستمهای عامل متفاوتی نيز پشتيبانی میشود.
در سيستمهای عملياتی، پرسجوها دارای جزئيات بسياری هستند. يك سيستم عملياتی عموما به منظور دريافت اطلاعات براساس نمونههای مشخصی از روشهای کاری مشخص ،مورد استفاده قرار می گيرد. برای مثال ممکن است فقط نام و آدرس يك مشتری درخواست شود يا لازم باشد که به دستورات يك مشتری خاص دريك هفته مورد نظرپاسخ داده شود ويا فقط يك فاکتور مورد توجه باشد تا اقلام صدور صورتحساب در آن فاکتورخاص مورد بررسی قرار گيرد. درسيستمهای عملياتی،پرسجوهای وسيع مطرح نيست. سيستمهای عملياتی با پرسجوهای غيرمنتظره، مواجه نيستند. کليه پرسجوها،قابل پيش بينی هستند.
يك پرسجوی خاص برای اجرا دوبار در سيستمهای عملياتی انجام نمی گيرد. منظور از همه اينها چيست؟ در واقع يعنی ، تطبيقی در بين دادههای سيستمهای عملياتی مختلف وجود ندارد. موردی مثل account میتواند در سيستمهای مختلف معانی متفاوتی داشته باشد.
موضوع اصلی بحث ،استانداردسازی و تغيير شکل دادههای مختلف از سيستمهای گوناگون ، تبديل داده، وجمع آوری بخشهای داده دريک داده کاربردی به منظور ذخيره در انبار داده است.
InternalData (داده درونی). كاربران در هر سازمان، صفحات ، اسناد،پروفايلهای مشتری ،و گاهی بانك اطلاعاتی اداری مخصوص به خودرا نگهداری میكنند. اين داده داخلی میتواند درانبار داده سودمند باشد.
اگر سازمان معامله ای با هر مشتری به صورت خاص انجام دهد و سهم هر مشتری در پايان دارای اهميت باشد،پس جزئيات پروفايل مشتری با سرشماريهای وسيع دريک انبار داده مورد اهميت می باشد. پروفايلهای مشتری بسيارمورد توجه قرار می گيرد. زمانی به اين جزئيات احتياج پيدا می شود ، که بحث درباره انتساب مشتريان صحبت می باشد يا وقتی دپارتمان بازرگانی بخواهد تااطلاعاتی را جهت ارائه به مشتريان به صورت مجزاء فراهم کند. اگرچه اکثر اين اطلاعات میتواند از سيستمهای توليد داده استخراج شود، مقدار زيادی از آنها به وسيله اشخاص ودپارتمانها ودر فايلهای خصوصی نگهداری می شود.
نمی توان به سادگی از کناراين اطلاعات داخلی که در فايلهای خصوصی در يک سازمان نگهداری می شود،گذشت. .يک نظر کارشناسی تعيين می کند که چه مقدار داده داخلی بايد درانبار داده قرار بگيرد. دپارتمان IT و دپارتمانهای كاربران به منظور گرد آوری داده های داخلی بايد با هم فعاليت داشته باشند.
قبل از اينكه داده بتواند در انبار داده ذخيره شود ، افزودن داده داخلی پيچيدگی اضافی در پردازش تغيير شکل و يكپارچه سازی داده ايجاد می کند. بايد روشهايی جهت جمع آوری داده از صفحات گسترده کاربری تعيين کرد،راهکارهايی به منظور استخراج اطلاعات ازمدارك متنی پيداکرد، وارتباطاتی را با بانکهای اطلاعاتی بخشهای مختلف جهت جمع آوری دادههای مورد نظر ازهر منبع ايجاد کرد.
Archived Data (داده بايگانی شده). اصولا سيستمهای عملياتی در اجرای كارهای جاری مفهوم پيدا می کنند. به صورت دورهای در سيستم عملياتی داده قديمی دريافت شده و در فايلهای بايگانی نگهداری می شود. مقتضيات حاكم دريک سازمان تعيين کننده نحوه نگهداری اطلاعات است و اينكه كداميک ازبخشهای بانک اطلاعاتی عملياتی برای بايگانی مناسب هستند. بعضی دادهها بعد از يك سال بايگانی میشوند.ممکن است گاهی داده در بانکهای سيستم اطلاعاتی حتی برای يک مدت طولانی پنج ساله باقی بماند.
روشهای مختلف بسياری جهت بايگانی اطلاعات وجود داردکه می بايست طبقه بندی شوند. در سطح اول ، داده جديد در يک بانک اطلاعاتی خاص بايگانی می شود كه میتواند هميشه online باشد. در سطح دوم داده قديميتر می تواند در فايلهای flat در ديسك بايگانی شوند. در سطح آخر، قديمیترين داده در نوارهای كاتريج يا ميكروفيلمهاو سايتهای نگهداری offline بايگانی میشوند. همانطور كه قبلا گفته شد، يك انبار داده،Snapshot های تاريخدار از داده را نگه میدارد. دادههای تاريخدار برای تحليلهای پيش از وقت معين مورد احتياج هستند. برای اخذ اطلاعات تاريخدار حتما به مجموعه داده بايگانی شده بايدتوجه شود. وابسته به نيازمنديهای انبار داده، بايد داده های تاريخدار مناسب را در انبار داده قرار داد. اين نوع داده برای الگوهای شناسايی وروشهای تحليلی مفيد هستند.
External Data (داده خارجی). اكثر برنامه های اجرائی وابسته به داده درمنابع خارجی هستند که کاربردهای اطلاعاتی زيادی دارند. همچنين داده تجاری مشترك بارقبا نيزبه كار برده می شود. به منظوربررسی كارايی مقادير استاندارد شاخصهای آماری در تجارت مورد استفاده هستند.
برای مثال،انبار داده برای يک شركت اتومبيلسازی حاوی اطلاعات برنامه های محصولات جاری از توليد كنندههای عمده اتومبيل است. اين دادههای خارجی در انبارداده به برنامهريزی اين شرکت اتومبيلسازی جهت مديريت سريع تر كمك می کند.
اهداف مورد نظر بر طبق چنين منابع خارجی نمیتواند از طريق داده موجود درخود سازمان تکميل شود. بينشهای جمع آوری شده از اطلاعات محصولات واطلاعات بايگانی شده تاحدی محدود هستند. ساير شرکتها تصويری برمبنای آنچه در حال انجام است يا در گذشته انجام شده، ارائه می کنند. بخاطرمواجه شدن با روشهای صنعتی سريع و قابليت رقابت در برابر ساير سازمانها به اطلاعات منابع خارجی نيازپيدا می شود.
معمولا قالب داده ازمنابع خارجی با قالبهای داده داخلی تطابق ندارد.به منظورتبديلات داده خارجی به قالبهای داده ای داخلی بايد تدبيری انديشيد. همچنين انتقالات داده از منابع خارجی نيز بايد سازماندهی شود. برخی منابع میتواند اطلاعات را با قاعده، در فواصل معينی ايجاد كنند. سايرين میتواند داده را براساس درخواست تهيه کنند. تغييرات نياز به تطبيق و همسانسازی دارد.
لايه Data staging
بعد از اينكه داده از سيستمهای عملياتی و منابع خارجی استخراج شد، بايد داده را جهت ذخيره سازی در انبار داده آماده کرد. داده استخراج شده از چندين منبع مختلف، نياز به تغيير، تبديل وآماده سازی به يك قالب مفيد برای ذخيره به منظورپاسخگويی به پرسجو و تحليل دارد.
سه عمليات اصلی برای انجام عمل آماده سازی داده می توان نام برد. در ابتدا بايد داده را از منابع مختلف استخراج کرد، سپس آن رابه انبار داده انتقال داد ودر نهايت اطلاعات را در حافظه انبار داده ، بارگذاری كرد. اين سه عمليات اصلی استخراج، انتقال و آماده سازی به منظور بارگذاری داده در يك ناحيه ذخيره سازی صورت میگيرد. اجزاء لايه data staging شامل يك بستر کاری برای انجام اين عمياتهاست. لايه data staging يك مكان و يك ناحيه را به همراه يك مجموعه توابع جهت پاكسازی، تغيير، تركيب، انتقال ورفع موارد کاربردی و آماده سازی داده منبع به منظور ذخيرهسازی و استفاده درانبار داده ايجاد میكند.
چرا به فضا يا اجزاء جداگانه ای برای انجام آماده سازی داده نياز است؟ آيامیتوان بدون انتقال داده از منابع مختلف به فضای انبارداده مستقيما آن را آماده سازی کرد؟ وقتی يك سيستم عملياتی پيادهسازی می شود، مجبور به برداشت داده از منابع متفاوت ،انتقال داده به سيستم عملياتی جديد، واجرای تبديلات داده هستيم. چرا اين روش را نمی توان برای انبار داده به کار برد؟ تفاوت اصلی در اينجا اين است كه در يک انبار داده، اطلاعات از چندين سيستم عملياتی منبع به داخل انبار داده منتقل می شود. به خاطر داريد كه داده درانبار داده موضوع گراست و مستقل ازعملكردهای عملياتی است .بنابراين يك ناحيه ذخيره سازی جداگانه به منظور آماده سازی داده برای انبار داده مورد نياز می باشد.
حال كه دليل نيازبه وجود يک ناحيه ذخيره سازی مجزا واضح شد، اجازه دهيد در مورداينکه چه اتفاقی در data staging رخ می دهد، بحث کنيم. اکنون به بحث درباره سه عملكرد اصلی كه در بخش data staging انجام می شود ، می پردازيم.
استخراج داده
اين عمليات بايد با منابع داده بسياری سرو کار داشته باشد. همچنين بايد برای هرمنبع داده تکنيک مناسبی را به کاربرد. داده منبع میتواند از ماشينهای منبع مختلف در قالبهای داده ای گوناگون منتقل شده باشد. بخشی از داده منبع میتواند در سيستمهای بانک اطلاعاتی رابطه ای باشد. برخی داده ها میتوانند در ساير شبكههای وراثتی ويا به مدل داده ای سلسله مراتبی باشد.حتی امکان دارد بسياری از منابع داده هنوز به صورت فايلهای flat باشند.ممکن است لازم باشد، داده را ازصفحات گسترده ومجموعه دادههای اداری محلی منتقل کنيم. پس استخراج داده از اين ديدگاه میتواند بسيار پيچيده باشد.
در بازار ابزارهايی به منظور استخراج داده وجود دارد،که ممکن است، از اين ابزارهای مفيد خارجی به منظور استخراج ازمنابع داده مطمئن استفاده شودو برای ساير منابع داده، می توان برنامههای خصوصی را در خود سازمان ايجاد کرد. خريداری ابزارهای خارجی می تواند مستلزم صرف هزينه بالای اوليه باشد. از طرف ديگر برنامه های خصوصی می تواند هزينه های مداوم توسعه و نگهداری را در پی داشته باشد.
بعد از اينكه داده استخراج شد، پرسش اصلی آن است که داده برای آماَيشهای بعدی دركجا نگهداری شود؟ میتوان عمليات استخراج را در بسترهای نرم افزاری توليدی خود انجام داد، اگرآن بسترها، برای چارچوب کاری مناسب باشند. پس گروه های پياده سازی انبار داده منابع را از داخل يک محيط فيزيکی مجزا استخراج می کنند تادر اين صورت انتقال داده به انبار داده آسانتر انجام شود. در سايرمحيطها ممکن است داده منبع را از داخل يك گروه از فايلهای flat ،يا يك بانک اطلاعاتی رابطه ای ، يا تركيبی ازهر دو استخراج کرد.