پشتیبانی: 09131253620
ارتباط با ما
تلگرام: 09131253620

برجسته ترین ها
گروه های مقاله ها
HyperLink


بررسی انباره داده بخش بیستم تاریخ درج: ١٣٩۴/٠٩/١٠

 اين فصل به دنبال نمايش كليه تغيير شکلهای داده‌اي كه در انبار داده با آنها مواجهيم نيست اما انواع تكنولوژيهاي اصولي كه مي‌تواند به منظور پياده سازي اين تغيير شکلها به كار رود را شرح مي‌دهد و ما را در نحوه انتخاب تكنيكهاي بهتر راهنمايي مي‌كند. 

 جريان تغيير شکلهای داده‌اي
از نظر معماري فنی،  شما مي‌توانيد داده را به دو روش تغيير شكل دهيد: 
تغيير شکلهای داده‌اي چند مرحله‌اي
تغيير شکلهای داده‌اي خط لوله‌اي
 
 تغيير شکلهای داده‌اي چند مرحله‌اي
منطق تغيير شکلهای داده‌اي براي اکثر انبارهاي داده دارای چندين مرحله است. براي مثال براي تغيير شکلهای داده‌اي ، ركوردهاي جديد به يك جدول فروش اضافه مي‌شود كه مي‌تواند مراحل تغيير شکلهای داده‌اي منطقي و جداگانه‌اي را از تأئيد اعتبار هر كليد جدول بعد دارا باشد. 
يك روش گرافيكي ازمنطق تغيير شکلهای داده‌اي در شكل زير نمايش داده شده است. زمانيكه از Oracle9i به عنوان ابزار تغيير شکل داده‌ استفاده مي‌شود،يك استراتژي معمول برای پياده سازي هر تغيير شکل داده به صورت جداگانه با يك عمل SQL است و يك جدول Staging جداگانه و مياني (مثل جداولNew- Sales-step1 و New- Sales- Step2) براي ذخيره سازي اضافي هر مرحله ايجاد مي‌شود.
اين روش بارگذاري و سپس تغييرشکل داده يك شماي کنترلی معمولی رابراي پردازش تعيير شکل داده ورودي ايجاد مي‌كند، كه انجام پردازش را برای کنترل و Restart آسانتر می کند. هرچند يك ايراد وارد بر آن افزايش نيازهای فضای ذخيره سازی و هزينه زمانی مورد نياز است. 
همچنين ممكن است چند روش ساده و منطقي تغيير شکل داده در يك دستور SQL يا يک پراسيجر PL\SQL با هم تركيب شوند. انجام چنين عملي مي‌تواند كارايي بهتری نسبت به انجام آن در مراحل مستقل از هم داشته باشد، اما چنين كاري ممكن است مشكلاتي در تصحيح، اضافه كردن يا حذف تغيير شکلهای داده ای در داخل دستور داشته باشد و بدين ترتيب با عمليات تغيير شکل ناموفقي خواهيم شد. 
 
 تغييرشکل داده‌اي به صورت خط لوله‌اي
با آشنايي با بانک اطلاعاتی Oracle9i، متوجه می شويم که قابليتهای اين بانك اطلاعاتي به ويژه در چند عمليات در محيط ETL افزايش ‌يافته است . جريان پردازش ETL‌  مي‌تواند متغير باشد و بانك اطلاعاتي يک بخش کامل از ETL ‌را تشکيل دهد.
عملكرد جديد بعضي از مراحل مورد نياز پردازش قبلی را نيز در خود دارد ، ضمن اينکه برخي از آنها مي‌تواند براي افزايش کارايی جريان داده تغيير كنند و تغييرشکل داده‌اي غير منقطع شود. عمليات از تغييرشکل داده‌اي سريال به پردازش بارگذاري ( با انجام اكثريت اعمال خارج از بانك اطلاعاتي) يا از بارگذاري به پردازش تغييرشکل داده‌اي تبديل می شود، تا در يك تغييرشکل داده‌اي در حال بارگذاري افزايش کارايی را داشته باشيم. 
بانک اطلاعاتی Oracle9i تنوع وسيعي از قابليتهاي جديد را براي انجام عمل آدرس دهي كليه موضوعها و اعمال مربوط به يك سناريو ETL پيشنهاد مي‌كند. توجه به اين مطلب مهم است که بدانيم بانك اطلاعاتي مجموعه ابزاري را براي به کارگيری بسياری از راه حلها پيشنهاد مي‌كند. اساساً بانك اطلاعاتی بايد کل جريان پردازش ETL مقتضی را براي برطرف ساختن نياز يك مشتري پوشش دهد و نبايد طوري باشد كه آن را از طريق يك ديدگاه تكنيكي ديكته يا تحميل كند.شكل  عملكرد جديد را نشان مي‌دهد كه در بخشهاي بعدي شرح داده مي‌شود. 
 مكانيزمهاي بارگذاري
مي‌توانيم مكانيزمهاي زير را براي بارگذاري داده در يك انبار داده استفاده كنيم: 
- SQL Loader 
- جداول خارجي
- OCI و مسير مستقيم APIها
- Import \ Export 
82-1 3-4-2-1 SQL Loader 
پيش از هر تغيير شکل داده ای ،كه ممکن است در هر بانك اطلاعاتي رخ ‌دهد، داده مقتضی بايد براي بانك اطلاعاتي قابل دسترس باشد. يك روش بارگذاري داده، بارگذاری دردرون بانك اطلاعاتي است. كه در بخش قبل ،"انتقال در انبارهاي داده" روی چندين روش براي انتقال داده به يك انبار داده Oracle بحث شد. شايد عادی ترين روش براي انتقال داده همان استفاده از فايلهاي Flat باشد.
روش SQL Loader براي انتقال داده از فايلهاي Flat به درون يك انبار داده Oracle مورد استفاده قرار مي‌گيرد. در طي اين بارگذاري داده‌اي، SQL Loader مي‌تواند براي انجام تغيير شکهای ابتدايي روی داده استفاده شود. وقتي از روش SQL Loader استفاده مي‌كنيم، اصلاحات اوليه داده، مثل تغيير نوع داده و مديريت ساده روی مقادير Null مي‌تواند به صورت خودكار در طي بارگذاري داده‌اي نيز انجام شود. اكثر انبارهاي داده از روش مستقيم بارگذاري به دليل افزايش كارايي استفاده مي‌كنند. 
ابزار بارگذاري مسير قرار دادي Oracle ، قابليتهاي زيادی را براي انتقالات داده‌اي نسبت به يك روش مستقيم بارگذاری ارائه مي‌كند: توابع SQL‌ مي‌تواند براي هر ستونی از داده به كار رود كه قرار است مقاديرآن بارگذاري ‌شود. اين يك امکان قدرتمند براي تغيير شکلهای داده ای در طي بارگذاري داده ، فراهم مي‌آورد. هرچند روش بارگذاری مسير قرار دادي كندتر از روش بارگذاری مستقيم است. به همين دليل بارگذاری مسير قرار دادي اصولاً بايد براي بارگذاري و تغيير شکلهای داده ای در سطح كوچكتري از مقادير داده‌اي استفاده شود.
 جداول خارجي
مبحث ديگر براي مديريت منابع خارجي داده استفاده از جداول خارجي است. وجود جدول خارجي در Oracle9i استفاده از داده خارجي را به عنوان يک جدول مجازي ممکن می سازد . با استفاده از اين قابليت مي‌توان به طور مستقيم و به صورت موازي بدون نياز به داده خارجي براي بارگذاري اوليه در بانك اطلاعاتي ، عمليات پرسجوو الحاق را انجام داد. همچنين مي‌توان از PL/ SQL ,SQL وJava جهت دستيابي به داده خارجي استفاده کرد.
با استفاده از جداول خارجي می توان فاز بارگذاري را با فاز تغيير شکل داده به صورت خط لوله‌اي و موازی انجام داد. عمليات تغيير شکل داده مي‌تواند با پردازش بارگذاري بدون هيچگونه انقطاع در رشته داده يکی شود. لزومی ندارد كه داده را دردرون بانك اطلاعاتي براي پردازشهای آتي مثل مقايسه يا تغيير شکل داده ای نگهداری کرد. براي مثال، عملكرد تبديل يك بارگذاري قرار دادي مي‌تواند با دستور INSERT AS SELECT در مقابل SELECT از يك جدول خارجي استفاده شود. 
تفاوت اصلي بين جداول خارجي و جداول عادي در آن است كه جداول سازماندهي شده خارجي ،به صورت فقط خواندني هستند.امکان انجام هيچ عمليات DML (به روز رساني/ ثبت/ حذف) روی آنها ممكن نيست و هيچ Index‌ هم نمي‌تواند روی آنها ايجاد شوند.
جداول خارجي Oracle9i براي انجام عمليات SQL Loader فراهم شده اند و به ويژه براي محيطهايي مورد استفاده قرار می گيرند که منابع خارجي بايد با اشياء بانك اطلاعاتي موجود تركيب شوند و به يك نوع داده پيچيده تبديل شوند يا درجايی كه مقادير داده خارجي زياد است و فقط يك بار قرار است استفاده شوند. از طرف ديگر SQL Loader  هنوز مي‌تواند گزينه بهتري براي بارگذاري داده در جايي باشد كه Index اضافي روي جدول بايد قرار گيرد. اين عمل براي زمانی صحت دارد كه داده در تغيير شکلهای پيچيده و مستقل استفاده‌شود يا داده فقط در پردازشهاي آتي قرار است استفاده شود. 
 OCI و نرم افزارهاي مسير مستقيم
اين امکان زماني مورد استفاده قرار مي‌گيرد كه تغيير شکل داده ای و محاسبات روی داده خارج ازبانك اطلاعاتي انجام مي‌شود و نيازي به استفاده از فايلهاي Flat نيست. 
 Export/Import 
از اين امکان زماني استفاده مي‌شود كه داده بايد مستقيماً درسيستم مقصد اضافه مي‌شود. استفاده از اين امکان روي مقادير زياد داده‌اي نبايد به كار رود و دراستخراجهاي پيچيده ممكن نيست. 
 به دليل استفاده از بانكهاي همگن در اين پروژه به بحث و بررسي مكانيزمهاي دگرگوني داده پرداخته نمي‌شود ولي لازم به ذكر است كه مكانيزمهاي تغيير شکلهای داده ای درون بانك اطلاعاتي يكي از روشهاي زير مي‌تواند باشد: 
- تغيير شکل داده ای با استفاده از SQL 
- تغيير شکل داده ای از طريق PL /SQL 
- تغيير شکل داده ای با استفاده از توابع جدولي
در بخش قبل در مورد روشهاي مختلف انتقال داده (ETL) از منابع اطلاعاتي به درون محيط انبار داده بحث و بررسي شد. در اين بخش قصد داريم به بررسي طراحي كلي محيط انبار داده و پيكر بندي آن و ايجاد بستر مناسب جهت انتقال داده درون انبار داده بحث و بررسي كنيم. لازم به ذكر است  به جهت گستردگي بحث انبار داده، تنها به بررسي حالت خاص پيكر بندي انبار داده يعني بانكها و منابع اطلاعاتي كاملاً همگن مي‌پردازيم. 

تگها: data warehouse   استخراج اطلاعات   انبار داده   انباره داده   پردازش اطلاعات   مدیریت داده ها   
 

HyperLink

ارسال نظر در مورد این مطلب
نام :  
آدرس ایمیل :  
متن پیام :  
کد امنیتی :  
   
   
نظری برای نمایش وجود ندارد
 
این مطلب را به اشتراک بگذارید: