زنگ تفریح شماره 148
انبارهای دادهای
در ادامه مطالب گفته شده در زنگ تفریحهای گذشته ( زنگ تفریح شماره 146) میدانید که انبار داده، پایگاه دادهای است که اطلاعات پایگاه دادههای دیگر را در یک فرمت مشخص ذخیره میکند. این تعریف ساده و روشنی از انبار دادههاست. تعریف مشخصی وجود ندارد که بگوید انبارهای دادهای چه هستند و یا طراحان چگونه باید آنها را بسازند، در نتیجه چندین شیوهی مختلف برای ساختن انبارهای دادهای وجود دارد و هر انبار دادهای ممکن است هم از نظر ظاهری و هم ازنظر رفتاری با بقیه متفاوت باشد.
در اصل، زمان کمی طول میکشد تا کوئری نتیجه را از انبار داده برگرداند به همین دلیل است که انبار داده کارهای اصلی استخراج، تبدیل و ترکیب دادهها را انجام میدهد. از جهتی که کاربر به انبار داده نگاه میکند و به آن پیشپایان (frontend) میگویند، انبار دادهها راه موثری برای بهدست آوردن دادههای یکپارچه است. اما از نگاه پسپایان (back end)، داستان بهگونهی دیگری است. مدیران پایگاه دادهها باید زمانی زیادی را صرف سیستم انبار دادهای بکنند تا انبار دادهها به شیوهی موثری کار کنند. تبدیل دادههایی که از منابع مختلف جمعآوری شدهاند به یک فرمت رایج کار سختی است. سیستم به رویکردی برای توصیف و رمزگذاری دادهها نیاز دارد.
انبار باید پایگاه دادهای داشته باشد که به اندازه کافی بزرگ باشد که بتواند اطلاعات منابع مختلف را ذخیره کند. بعضی از انبار دادهها یک گام اضافی برای ذخیره سازی دارند که به آن دادهگاه میگویند. انبار داده وظیفه گردآوری دادهها را برعهده دارد در حالیکه دادهگاه به کوئری کاربر با بازیابی و ترکیب دادههای مناسب از انبار داده پاسخ میدهد.
یکی از مشکلات انباردادهها این است که اطلاعات آنها همیشه درست نیستند. علت این مشکل شیوهی کار انبار دادههاست. انبار دادهها اطلاعات را از پایگاه دادههای دیگر به صورت دورهای میگیرد و اگر دادههای آن پایگاه دادهها در حین استخراج تغییر کنند، کوئری که به انبار داده میفرستد پاسخی صحیح و به روز شده را بر نمیگرداند. اگر دادهها در یک سیستم به ندرت تغییر کنند این مشکل موضوع مهمی نخواهد بود اما برای دیگر برنامههای کاربردی مشکل ایجاد خواهد کرد.
|
|
مثالی که در اینباره قبلاً به آن اشاره شد را به یاد دارید؟ فرض کنید بخواهید برای مسافرتی از شهر خارج شوید و قبل از اینکه به راه بیفتید به اطلاعات نقشه شهری و ترافیک جادهای نیاز دارید تا مناسبترین راه را انتخاب کنید. حال با توجه به این مثال بهتر میتوانید مشکل انبار دادهها را درک کنید شاید نقشههای شهری نیاز به بروزرسانی نداشته باشد اما وضعیت ترافیک در مدت زمانهای کوتاه میتواند تغییرات چشمگیری داشته باشد. یک انبار داده شاید دادهها را بصورت خیلی مستمر استخراج نکنند و این یعنی اطلاعاتی که در آنها زمان نقش مهمی ایفا میکند با انبار داده ها زیاد قابل اعتماد نیستند. برای اینگونه برنامههای بهتر است از یک رویکرد یکپارچهسازی دادهی دیگری استفاده شود.