بررسی Data Warehouse

بررسی انباره داده بخش هجدهم

انباره داده

شماي اصلي STAR براي فروشها در شكل بالا نشان داده شده حاوي فقط پنج جدول مي‌باشد.در حاليکه نسخه نرمال شده به يازده جدول توسعه يافته است. بايد به ياد آورد كه درشماي Snowflake ، صفات با كارديناليتي كم در هر جدول اصلي بعد به جداول جداگانه مستقلی تقسيم مي‌شوند. اين جداول جديد به جداول اصلي بعد از طريق كليدهاي ساخته شده ای متصل مي‌شوند.
 مزايا و معايب 
ممكن است به دليل واضحی به سمت مدلسازی با شماي Snowflake تمايل پيدا كنيد. براي حذف همه فيلدهاي متني طولاني از جداول بعد،بايد فضاي ذخيره سازي زيادی در دست باشد، براي مثال اگر مبلمان را به عنوان يكي از نامهای گروه داشته باشيد که آن متن  در هر سطر محصول در آن گروه تكرار می شود. در راهکار اول،هر افزونگی می تواند برداشته شود تا فضاي ذخيره سازي باقی بماند وقتي بعدها طولاني‌هستند. 
اجازه دهيد فرض كنيد كه جداول بعد محصول 500000 سطر دارد. بررسي با Snowflake قادربه حذف 500000 نام گروه 20 بايتی خواهيم بود. در همان زمان بايد يك كليد گروه 4 بايت به جدول بعد بيافزاييد. ذخيره سازيهاي کارشبكه تقريبا 500000 بار 16 که حدود  MB 8 است.ميانگين جدول بعد کحصول 500000 سطری حدودMB 200 فضا اشغال می کند ومتشابهاGB 20ديگر برای جدول Fact فضا نياز خواهد بود. ذخيره‌سازي‌ها فقط 4% هستند. متوجه می شويد که صرفجويی در فضا جبرانی برای ساير معايب مدل Snowflake نخواهد بود.
در اين بخش خلاصه مفيدی از مزايا ومحدوديتهای Snowflake ليست شده است: 
مزايا: 
ذخيره سازي‌هاي كمتر ازنظر فضاي تعريف شده ساختارهاي نرمال شده براي بروزرساني و نگهداري آسانتر هستند. 
معايب: 
شما محسوسيت کمتری دارد و كاربران نهايي با پيچيدگي بيشتر مواجهند. 
توانايي براي مرور در مندرجات مشكل است. 
کاهش كارايي پاسخگويی به درخواست بخاطرjoin های اضافي 
شمای Snowflake عموما در يك محيط انبارداده توصيه نمی شود. كارايي درخواست بالاترين اهميت رادر انبارداده دارا می باشد و Snowflake ، كارايی را مختل می کند.
با توجه به بررسی کلی معماری انبار داده که در فصل گذشته انجام شد در اين فصل قصد داريم به توصيف جزييات مفاهيم اساسی تکنولوژی استفاه شده در پروژه برای طراحی و ساخت يک انبارداده آزمايشی بپردازيم. شايان ذکر است تکنولوژيهايی زيادی نيز ممکن است وجود داشته باشد که در فرصت حاضر حتی قادر به ليست کردن آنها نيز نباشيم و حتی در طی کار روی پروژه هرروزه به تعداد آنها نيز افزوده شود. ولی سعی شده يکی از مهمترين و معروفترين و مطمئن ترين آنها مورد بررسی قرار گرفته و دراين پروژه به پياده سازی انبار داده بر اساس آن بپردازيم.
به منظور توصيف تکنولوژی که کپی سازی  (Replication) خواهد بود لازم است ابتدا به بحث درباره لايه اصلی مورد نظر يعنی  ETLبپردازيم واين لايه را از ديد بانک اطلاعاتی اوراکل مورد بررسی قرار دهيم .البته بنياد اصلی اين پروژه نيز بحث در باب همين لايه است چرا که با توجه به معماری که در فصل گذشته توصيف شده ،اگر قرار بود به بررسی لايه های ديگری مثل  لايه تحويل داده (Information Delivery) نيز بپردازيم شايد خود پروژه بزرگ ديگرو حيطه مطالعاتی بسيار وسيع ديگری می شد.بنابراين تصميم گرفتم بيشتر تکيه بحث را با تجه به لايه های ديگر و توصيف اجمالی آنها روی لايه ETL متمرکز کنم.
 
مروري بر استخراج در انبارهاي داده
استخراج عمليات استخراج داده از منبع داده براي استفاده در انبار داده در آينده است . اين اولين مرحله از پردازش  ETLاست. بعد از مرحله استخراج ، اين داده تغيير شکل يافته و در انبار داده  بارگذاري می شود. 
عموماً منابع انبارداده در قالب نرم افزارهاي پردازشگر تراكنش هستند. براي مثال ، يكي از منابع براي يک انبار داده تحليلي فروش مي‌تواند سيستمي باشد كه كليه سفارشات را ثبت مي‌كند. 
در اکثر موارد طراحي و ايجاد يک پردازش استخراج يكي از وقتگيرترين فعاليتها در چرخه پردازش ETL وشايد در كل پردازش ورود داده به انبار داده باشد.منابع اطلاعاتی لازم مي‌توانند بسيار پيچيده و فاقد هرگونه مستند سازي باشند، بنابراين تعيين اينكه كدام داده بايد استخراج شود ،ممکن است مشكل باشد. داده نه تنها بايد درابتدای پردازش استخراج شود، بلكه چندين بار هم بايد به صورت دوره‌اي كليه تغييرات آن به انبار داده افزوده شود و به صورت به روز نگهداری شود. علاوه برآن معمولاً منابع داده ای برای مقاصد مورد نظر اصلاح نمی شوند، بلكه مکانيزمهای كارايي يا دسترسی به انبارداده به منظور تطبيق نيازهاي پردازش استخراج تنظيم می گردند. 
به طور کلی توجه به عمليات استخراج و ETL مهم است. در اين فصل بيشتر به شرح تكنيكي انواع مختلف منابع و روشهای استخراج مي‌پردازيم . فرض بر آن است كه تيم طراحی انبارداده ، داده‌اي را كه از منابع استخراج خواهد شد را شناسايي كرده‌اند ، و به همين منظور به بحث درباره تكنيكهاي كاربردي مشترك براي عمليات استخراج داده از بانكهاي اطلاعاتي منبع مي‌پردازيم. 
طراحي عمليات پردازش به معني اتخاذ تصميمات دردو حيطه زيراست :
- چه روش استخراجی را انتخاب مي‌كنيم؟
اين امر وابسته به منبع داده، مکانيزم پردازش انتقال و زمان لازم براي refresh ( باز سازي) انبار است.
- چگونه داده استخراج شده را براي پردازش آتي آماده ‌سازيم؟
اين مورد وابسته به روش انتقال، و عمليات پاكسازي و ترجمه داده است.
روشهاي استخراج برگزيده وابستگي زيادي به منبع داده و نيز نوع عملياتی دارد كه قرار است در انبارداده انجام شود .دربسياری از اين روشها، در اغلب موارد امکان افزودن منطق اضافي به منابع داده وجود ندارد ، بدين معنی که به منظور افزايش كارايي يك عمليات استخراج ، داده ای را به سيستم اضافه کنيم يا يک بارگذاری اضافی را در اين سيستمها به کاربريم.چون گاهي مشتري اجازه افزودن هيچ امکانی را به نرم افزار خود نمي دهد. 
حجم تخميني داده براي استخراج و مرحله پردازش ETL ( بار گذاري اوليه يا نگهداري داده ) نيز مي‌تواند روي تصميم نهايي درباره نحوه استخراج، از ديد منطقي و فيزيكي تأثير بگذارد . بنابر اين در ابتدا بايد درباره چگونگي استخراج فيزيكي و منطقي داده تصميم گرفته شود. 
 روشهاي استخراج منطقي 
دو نوع استخراج منطقي وجود دارد .
1ـ استخراج كامل 
2ـ استخراج افزايشي
 
 استخراج ‌كامل
در اين نوع استخراج ، داده به صورت كامل از منبع اطلاعاتي استخراج مي‌شود. هر چند اين نوع استخراج روي كليه داده‌هاي جاري موجود در منبع تأثير دارد، ولی نيازی به نگهداري بخشي از تغييرات منبع داده از زمان آخرين استخراج موفق تا کنون وجود ندارد. منبع داده ايجاد خواهد شد و به هيچ اطلاعات منطقي اضافي (مثلtimestamp ها )  در سايت منبع نيازی نيست.يك مثال براي يك استخراج كامل مي‌تواند يك فايل export از يك جدول خارجی يا يك دستور SQL به صورت انتخاب كل جدول منبع به صورت remote باشد. 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر