بررسی انباره داده بخش نوزدهم

استخراج افزايشي
در يك لحظه خاص از زمان، فقط دادهاي استخراج خواهد شود كه درگذشته دراثر يك اتفاق خوش تعريف تغيير کرده باشد. اين واقعه ميتواند آخرين زمان استخراج موفق يا واقعه كاري خيلي پيچيدهاي مثل آخرين ثبت روزانه يك دوره مالياتی باشد. براي شناسايي اين تغيير بايد تشخيص كليه اطلاعات تغيير يافته تا زمان وقوع اين اتفاق خاص ممكن باشد. اين اطلاعات ميتواند توسط خود منبع داده ايجاد شود مثل ايجاد يك ستون خاص در نرم افزار، تأثير گذاري آخرين timestamp تغييريافته يا يك جدول تغييرات كه داراي مكانيزم اضافي جهت نگهداري بخشي از تغييرات درون تراكنشهاي اصلي محيط باشد. در بيشتر موارد ، استفاده از روش اخير به معني افزودن يک منطق اضافی به منبع داده جهت استخراج است.
اكثر انبارهاي داده از هيچ نوع از روشهاي ضبط تغييرات در بخشي از پردازش استخراج استفاده نميكنند. در عوض، جداول ورودي از منابع به انبار داده يا ناحيه ذخيره سازی استخراج ميشود واين جداول با استخراج قبلي از منبع مقايسه ميشوند تا تغييرات انجام شده مشخص شود. اين روش نميتواند روي منابع تأثير چشمگيري داشته باشد ، اما واضح است كه ميتواند به عنوان يك باراضافی قابل توجه در پردازشهاي انبارداده تلقي شود،به ويژه اگر حجم داده زياد باشد.
روشهاي استخراج فيزيكي
وابسته به انتخاب روش استخراج منطقي و قابليتها و محدوديتهاي منبع، استخراج داده ميتواند به صورت دو مكانيزم استخراج فيزيكي باشد . داده ميتواند به صورت online يا در يك نوع ساختار offline از منبع استخراج شود. اين نوع ساختار offline ممکن است وجود داشته باشد يا ميتواند از طريق يك روش استخراج توليد شود.
روشهاي زير روشهاي استخراج فيزيكي هستند :
1ـ استخراج online
2ـ استخراج offline
استخراج online
در اين روش ، داده مستقيماً از خود منبع استخراج ميشود . پردازش استخراج ميتواند مستقيماً به منبع داده متصل شود تا به خود جداول منبع يا به يك سيستم واسط كه داده را در يك پيكربندي از پيش طراحي شده ذخيره ميكند ( مثل snapshot log ها يا جداول تغيير) دسترسي پيدا كند. بايد به خاطر داشته باشيم كه سيستم واسط لازم نيست به صورت فيزيكي ازسيستم منبع جدا باشد.
از طريق استخراجهاي online ،نيازي به توجه به تراكنشهاي توزيع شدهاي نداريم كه از اشياء منبع اصلي يا اشياء آماده منبع داده استفاده ميكنند.
استخراج offline
در اين روش داده مستقيماً از منبع داده استخراج نميشود،اما صريحاً ازخارج منبع اصلي به دست ميآيد . داده می تواند داراي يك ساختارآماده باشد( مثل ، redo log ها ، archive log يا tablespace هاي قابل انتقال) و يا از طريق يک روال استخراج ايجاد شود.
به ساختارهاي زير توجه كنيد :
ـ فايلهاي Flat
يک قالب تعريف وتوليد شده دارد . اطلاعات اضافي نيز درباره اشياء منبع داده براي پردازش آتي لازم است .
ـ فايلهاي Dump
يک قالب ويژه Oracle . اطلاعات درباره اشياء مورد نياز را شامل ميشود.
ـ Archive log هاوRedo log ها اطلاعات در يك فايل dump ويژه است.
ـ table space هاي قابل انتقال
يک روش قوي براي استخراج و انتقال مقادير زيادي از داده بين بانكهاي اطلاعاتي oracle می باشد شركت oracle امكان استفاده از table space هاي قابل انتقال را براي هر زمان ممكن مهيا ساخته، چرا كه اين موارد ميتواند مزايايي كارايي دربرداشته و قابليت مديريت بالاتری نسبت به ساير روشهاي استخراج دارا باشد.
مروري بر عمل انتقال در انبارهاي داده
انتقال عمليات انتقال داده از يك سيستم به سيستم ديگر است . در يك انبار داده ، اكثر نيازمنديهای عمل انتقال داده به صورتهای زير است :
ـ از يك منبع به درون بانك اطلاعاتي (staging ) يا يك بانك اطلاعاتي انبارداده
ـ از يك بانك اطلاعاتي به يك انبارداده
ـ از يك انبارداده به يكdata mart
عمليات انتقال اغلب يكي از بخشهای ساده تر پردازش ETL است، و ميتواند با ساير بخشهاي پردازش يکی شود. براي مثال تكنولوژي پرسجوهای توزيع شده مكانيزمی براي استخراج وانتقال داده ايجاد ميكند.
توصيف مكانيزمهاي انتقال در انبارهاي داده
سه گزينه اساسي براي انتقال داده در انبارداده به شرح زيرمی باشد :
1ـ انتقال با استفاده از فايلهاي Flat
2ـ انتقال توسط عملياتهاي توزيع شده
3ـ انتقال با استفاده از table space هاي قابل انتقال
انتقال با استفاده از فايلهايFlat
بيشتر روشهاي انتقال داده توسط انتقال فايلهاي Flat ، يا ازطريق مكانيزمهايي مثل FTP يا ساير پروتكهاي دستيابي remote به سيستم فايلها صورت می گيرد. داده از منبع داده به داخل فايلهاي Flat با استفاده از روشهاي بررسي شده در بخش قبل( استخراج در انبارهاي داده) منتقل ميشود ، و سپس به سيستم مقصد ازطريق FTP يا مكانيزيهاي مشابه انتقال می يابد.به خاطر انواع متفاوت منابع و انبارهاي داده دخيل در اين امراغلب سيستمهاي عامل و بانكهای اطلاعاتي مختلفي وجود خواهند داشت، درنتيجه استفاده از فايلهاي Flat سادهترين روش براي انتقال داده بين سيستمهای ناهمگن با كمترين تغيير شکل داده است. هرچند وقتي انتقال داده قرار است بين سيستمهاي همگن صورت گيرد، فايلهاي Flat اغلب مؤثرترين و آسانترين مكانيزم مديريتي براي انتقال داده می باشد.
انتقال توسط عمليات توزيع شده
پرسجوهای توزيع شده از طريق gateway ها يا بدون استفاده ازآنها ميتواند يك مكانيزم مؤثر براي استخراج داده باشد. اين مكانيزمها نيز مستقيماً داده را به سيستمهاي مقصد منتقل ميكنند ، بنابراين هم مرحله استخراج و هم مرحله انتقال در يك مرحله انجام ميشود. بسته به عوامل تأثير گذاری مثل زمان و منابع اين مكانيزنها ميتواند هم برای عمل استخراج و هم عمل انتقال کاربرد داشته باشد.
برخلاف انتقال داده از طريق فايلهاي Flat ، موفقيت يا شكست عمل انتقال داده توسط عمليات توزيع شده بلافاصله توسط نتيجه پرسجوی توزيع شده يا تراكنش مشخص ميشود.
انتقال با استفاده از table space هاي قابل انتقال
در Oracle8i يك مكانيزم مهم براي انتقال داده به نام table space هاي قابل انتقال را ارائه شد. اين خصيصه سريعترين روش انتقال مقادير زيادي داده بين دو بانك اطلاعاتي oracle می باشد. قبل از Oracle8i ، اكثر مكانيزمهاي انتقال قابل قياس، از طريق انتقال بافايلهاي Flatشامل داده انجام می شد. اين مكانيزمها نيازمند آن است که داده از منابع بانك اطلاعاتي به درون فايلها تخليه يا منتقل شود. سپس براي انتقالات بعدی ، اين فايلها به درون بانك اطلاعاتي مقصد بارگذاري يا وارد ميشوند.Table space هاي قابل انتقال ازمراحل تخليه وبارگذاری مجدد عبور می کنند.
با استفاده از table space هاي قابل انتقال، date file هاي oracle ( شامل داده جدولي ، index ها و نيز روش بانك اطلاعاتي oracle ) ميتواند مستقيماً از يك بانك اطلاعاتي به بانك اطلاعاتي ديگری منتقل شود.ازاين گذشته مثل انتقال وبارگذاری table space هاي قابل انتقال اين روش يك مكانيزم براي انتقال فراداده به علاوه انتقال خود داده را فراهم ميكند.
table space هاي قابل انتقال محدوديتهاي قابل توجهی دارد: سيستمهاي منبع و مقصد بايد در Oracle8i (يا بالاتر) اجرا شوند، بايد همگی در يک سيستم عامل اجرا شوند، بايد از همان مجموعه كاراكتر استفاده کنند،وبرای نسخه های قبل از Oracle9i بايد ازهمان اندازه بلاک استفاده شود.با وجود اين محدوديتها ، table space هاي قابل انتقال ميتواند يك روش انتقال داده نا معتبر در بسياری از انبار های داده باشد.
اكثر نرم افزارهاي عمومي انتقال table space ها به انبارهاي داده ، داده را از يك بانك اطلاعاتي به يك انبار داده يا از انبارداده به data mart منتقل می کنند.
مروري بر بارگذاري و تغيير شکل داده در انبارهاي داده
تغيير شکلهای داده ای اغلب پيچيدهترين و از نظر زمان پردازش، پرهزنيهترين بخش پردازش ETL می باشند. اين تغيير شکلهای داده ای ميتوانند از تبديلات دادهاي ساده تا تكنيكهاي پيچيده پاكسازي دادهاي وسعت داشته باشند. اکثرانواع تغيير شکلهای دادهاي ميتواند در بانك اطلاعاتي Oracle9i انجام شود. اگر چه تغيير شکلهای داده ای اغلب خارج از بانك اطلاعاتي (مثل يك فايلFlat) پياده سازي ميشوند.
دراين بخش تكنيكهاي پياده سازي تغيير شکلهای دادهاي قابل مقايسه و کارآمد در Oracle9i را معرفي ميكنيم.مثالهاي اين فصل نسبتاساده هستند. اکثر تغيير شکلهای دادهاي واقعي بسيار پيچيده هستند. اما تكنيكهاي تغيير شکلهای دادهاي در اين فصل اكثرا نيازهای عملی را مطرح ميكنند، که درواقع قالب اوقات با حجم قياس پذيري و برنامه نويسي كمتری نسبت به سايرين مواجهند.