1 / 49

“ سيستم هاي مديريت پايگاه داده فعال ’’

“ سيستم هاي مديريت پايگاه داده فعال ’’. راضيه رحيمی استاد راهنما: دکتر رهگذر. سر فصل. معرفی سيستمهاي پايگاه داده فعال معایب سیستم های پایگاه داده معمولی مکانیزمهای اضافه نمودن رفتار پویا به سیستم بخش های مختلف يك سيستم پايگاه داده فعال قوانین رویداد-شرط-عمل ترتیب دهی در اجرای قوانین

joy-short
Download Presentation

“ سيستم هاي مديريت پايگاه داده فعال ’’

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “سيستمهاي مديريت پايگاه داده فعال’’ راضيه رحيمی استاد راهنما: دکتر رهگذر

  2. سر فصل • معرفی سيستمهاي پايگاه داده فعال • معایب سیستم های پایگاه داده معمولی • مکانیزمهای اضافه نمودن رفتار پویا به سیستم • بخش های مختلف يك سيستم پايگاه داده فعال • قوانین رویداد-شرط-عمل • ترتیب دهی در اجرای قوانین • چگونگي پردازش قوانين

  3. معرفی سيستمهاي پايگاه داده فعال • در بسياري از کاربردها لازم است برسيستم، نظارت خودکاري وجود داشتهباشد تا در صورت وقوع رويدادي خاص اقدامات و تغييرات مناسب بر سيستم پايگاه داده صورت گيرد. • مثال: سيستم بورس، سيستمهاي ذخيره داده مربوط به حسگرها، سيستم اتوماسيون کارخانجات • نیاز به سیستمی که در آن امکان تعريف رويدادهاي موردنظر و عکس العمل مناسب هر کدام وجود داشته باشد. به اين نوع سيستمها سيستمهاي پايگاه داده فعال گفتهميشود.

  4. معایب سیستم های پایگاه داده معمولی سيستم های پايگاه داده معمولي: • مجموعهاي از دادهها که به صورت مجتمع و بر اساس يک ساختار تعريف شده ذخيره شده اند. • داده هاي ذخيره شده ميتواند مورد استفاده همزمان و اشتراکي يک يا چند کاربر قرار گيرد. • در اين گونه سيستمها پايگاه داده هيچگونه ابتکار عملي را درهنگام رخداد شرايط خاص از خود بروز نميدهد و عمليات درست در زماني انجام ميشود كه كاربر درخواست كرده باشد.

  5. سيستم هاي پايگاه داده فعال • درسيستمهاي پايگاه داده فعال مجموعه ای از قوانين پويا براي كنترل عملكرد سيستم در نظر گرفته ميشود. • اين قوانين با توجه به وضعيتهاي مختلفي كه پايگاه داده ميتواند در آن قرار داشته باشد ساخته ميشوند. • در سيستمهاي پايگاه داده فعال يکبار در ابتدا همه قوانين تعريف شده و در هنگام اجراي برنامه هاي کاربردي مورد استفاده قرار ميگيرد. به فرايند فعالسازي قوانين و اتخاذ عکس العمل مناسب در يک سيستم پايگاه داده فعال، رفتار پوياي سيستم گفته ميشود

  6. رفتار پويا • روش اول : تعبيه درون برنامه كاربردي • ÷

  7. رفتار پويا (ادامه) • تعبيه درون برنامه كاربردي: • نوشتن رفتار پويا به صورت قطعه كد • اضافه کردن آ‌ن قطعه كد به درون برنامه كاربردي ايستا • معايب: • مشكل بودن كنترل فرايندها به دليل بزرگ بودن بخش كنترل‌كننده • تغيير بخشي از قوانين پيچيده بودن اعمال تغييرات بر روي قوانين و به روزرساني آنها

  8. سيستم مديريت پايگاه داده ايستا برنامه كنترل كننده پايگاه داده برنامه كاربردي رفتار پويا (ادامه) • روش دوم: استفاده از برنامه اي به صورت مستقل براي كنترل رويدادها

  9. رفتار پويا (ادامه) • استفاده از برنامه اي كه صرفا براي كنترل رويدادها در نظر گرفته شده است. • اين برنامه به صورت دوره اي اجرا ميشود تا اگر رويدادي رخ داده است از آن آگاه شود و اقدام لازم را به انجام رساند. • نكته مهم در اين روش انتخاب فركانس مناسب براي فراخواني برنامه كشف رويدادها ميباشد. • اگر فركانس فراخواني زياد باشد بازده سيستم كاهش مي يابد و اگر فركانس كم باشد ممكن است برخي از رويدادهاي رخ داده شده، ‌ديده نشود.

  10. سيستم پايگاه داده فعال

  11. رفتار واكنشي در سيستم‌هاي پايگاه داده • توانايي توصيف رفتارهاي واكنشي سيستم • پشتيباني يكي از زبان‌هاي تعريف قانون • زبان SQL99: توصيف قوانين در سيستم هاي پايگاه داده فعال رابطه اي • پيچيده بودن تعريف رفتار به دليل احتمال تضاد قوانين و يا ايجاد دور • بخش كنترل اجراي رفتارهاي واكنشي • پردازش قانون • بررسي حالت پايگاه داده • کشف رويدادهای رخ داده • اجراي قانون مرتبط با آن‌ها

  12. قوانین رویداد-شرط-عمل • اين قوانين از سه بخش رويداد، شرط و عمل تشكيل شده اند.( قوانينECA) • با فعال شدن هر رويداد • قانون مربوط به آن فعال شده • بخش شرط آن ارزيابي ميشود • در صورتي كه داراي ارزش درست باشد عمليات آمده در بدنه قانون به اجرا در خواهدآمد. • اجراي اين قانون ممكن است منجر به ايجاد شدن رويدادهاي ديگر شود كه در اين صورت اين رويدادها نيز به ليست رويدادهاي فعال اضافه ميشود. • اجراي قوانين تا خالي شدن صف ذخيره سازي رويدادهاي فعال ادامه مييابد.

  13. شکل كلي قوانين شرط-عمل • When C then A • C‌ شرطي است كه ارزيابي شده و در صورتي كه داراي ارزش درست باشد عمل A‌ انجام ميشود. براي رفع اين سربار پردازشي از قالبهاي رويداد-شرط-عمل به جاي قالبهاي شرط-عمل استفاده میشود. • on E if C then A • در قالب بالا در حالت كلي قوانين در سيستم به صورت فعال نيستند و رويدادها هستند كه وقوع آنها موجب فعال شدن قوانين ميشود.

  14. حالت كلي يك قانون DEFINE‌ ruleName On eventName IF condition Do action

  15. مثالي از نحوه تعريف و فعال شدن قوانين • DEFINE RULE MonitorName • ON INSERT TO Employee • IF Employee.Name="John" • THEN… • با هر عمل درج در جدول Employee قانون بالا فعال ميشود و اگر مقدار فيلد نام برابر"John" باشد اجرا خواهدشد. • DEFINE RULE MonitorName • IF Employee.Name="John" • THEN… • در حالت دوم اين قانون هميشه فعال بوده و اگر شرط داراي مقدار درست باشد اجرا خواهدشد.

  16. رويداد • موقعيت و وضعيتي كه بايد قوانين آنها را كنترل كنند: • رويدادهاي منفرد • رويدادهاي تركيبي

  17. دسته بندي رويدادها در يك سيستم پايگاه داده فعال

  18. رويدادهاي منفرد • رويدادهاي داخلي • رويدادهايي كه به دليل انجام شدن اعمال مختلف بر روي داده ها ايجاد مي شوند • عمليات درج، حذف، به روزرساني و بازيابي داده • رويدادهاي تراكنشي • رويدادهاي خارجي • رويدادهاي زماني • رويدادهاي تعريف شده توسط كاربر: دستور RAISE EVENT e • رويدادهاي رويه اي • برنامه هاي كاربردي تشخيص مي دهند

  19. انواع رويدادهاي منفرد در سيستم هاي پايگاه داده فعال

  20. رويدادهاي تركيبي • عملگرهاي منطقي: ترکيب AND و OR و ... • دنباله اي از رويدادها: يك قانون مي تواند در صورتي فعال شود كه چند رويداد با ترتيب معيني رخ دهند. • عملگرهاي وابسته به زمان: يك قانون مي تواند بر اساس تركيبي از رويدادهاي زماني و غير زماني فعال شود. • به عنوان نمونه "يك ساعت بعد از رخداد رويداد الف" و يا "هر يك دقيقه بعد از اولين رخداد رويداد الف" نوعي رويداد تركيب زماني محسوب مي‌شود.

  21. عملگرهاي ساخت رويداد تركيبي

  22. پارامترهاي مربوط به رويدادها • پارامترها مشخصاتي هستند که اطلاعات لازم درباره حالت کنوني پايگاه داده را به بخش شرط و عمل منتقل می کنند. • به اين ترتيب ارتباط لازم بين وضعيت سيستم پايگاه داده در لحظه رخ دادن رويداد را با رفتار پوياي سيستم برقرار ميکند. • با وقوع هر رويداد مجموعه اي از داده هاي کنترلي توسط سيستم مديريت پايگاه داده توليد ميشود. • پارامترها ميتوانند ثابت و يا متغير باشند.

  23. پارامترهاي ثابت

  24. پارامترهای متغیر • پارامترهاي متغير پارامترهايي هستند که در زمان فرآيند توصيف قوانين مشخص ميشوند. • معمولا اين نوع پارامترها بستگي به نوع رويداد دارد. • رويدادهاي رويهاي داراي پارامترهايي در رابطه با وروديهاي رويهاي هستند که روي آن تعريف شدهاند. • پارامترهاي رويدادهاي ترکيبي نيز عبارت هستند از مجموعه پارامترهاي مربوط به اجزاي آنها.

  25. شروط

  26. بخش عمل • بخش عمل در بدنهقانون، نحوه رفتار واکنشي آن قانون نسبت به رويدادها ميباشد. • انواع عملیاتی که در اين بخش ميتوانند قرار گيرند عبارتند از: • عملیات اصلاح و بازيابي داده در پايگاه داده رابطهاي • عملیات تراکنشي مثل اتمامیا شروع تراکنش در پايگاه داده شئگرا • عملیات فراخواني رويه در پايگاه داده رابطهاي

  27. ترتیب دهی در اجرای قوانین • ترتيبدهي يا اولويتدهي، ترتيب اجراي قوانين در فرآيند اجراي همزمان قوانين را تعيين ميکند. • اولويت ميتواند نسبي يا مطلق باشد. • اولويت نسبي را ميتوان اينگونه تعريف نمود که اگر در شرايطي قوانين A، B و C در سيستم فعال باشند A بايد قبل از B و B نيز بايد قبل از C اجرا شود.

  28. نحوه اجراي شروط و اعمال نسبت به يکديگر • پس از رخ دادن يک رويداد، شرط قانون متناظر با آن در چه زماني بايد بررسي شود؟ • وقتي شرط متناظر با يک قانون بررسي شد و مشخص شد که داراي ارزش درست است آنگاه قانون متناظر با آن شرط در چه زماني بايد فعال شود؟ • آيا بايد قانون موردنظر بلافاصله بعد از مشخص شدن درستي شرط اجرا شود و يا اينکه اين کار بايد بعد از گذشت يک بازه زماني انجام شود؟ به اين معيار، چگونگي پيوستگي شرط و عمل نيز گفته ميشود

  29. نحوه اجراي شروط و اعمال نسبت به يکديگر (ادامه) • اين معيار را ميتوان به صورت زوج (x,y) نشان داد. • به هر قانون يک زوج (x,y) نسبت داده ميشود. • (x,y)ترتيب زماني بين رخ دادن رويداد، ارزشيابي شروط و اجراي قوانين را بيان ميکند. • مقدار متغير x بيان کننده پيوستگي بين رخداد رويدادها و ارزشيابي شروط متناظر با آنها ميباشد. • متغير y نيز نشاندهنده نحوه پيوستگي بين ارزشيابي شروط و اجراي قوانين ميباشد.

  30. وابستگي بين ارزشيابي شرط و اجراي عمل • ارتباط بين قسمتهاي شرط و عمل ميتواند داراي سه حالت متفاوت باشد:

  31. حالت فوری • در اين حالت عمل ارزشيابي شرط بلافاصله پس از اتمام دستوري که موجب رخدادن رويداد مورد نظر شدهاست انجام ميشود. • براي حالت اجراي عمل نيز دقيقا به همين صورت عمل ميشود. • در اين حالت عمل بلافاصله پس از اتمام ارزشيابي قانون در صورتيکه شرط داراي ارزش درست باشد اجرا خواهد شد. • در حالت فوري ارزشيابي شرط و اجراي عمل در يک تراکنش واحد انجام ميشوند.

  32. حالت تعويقي • در اين حالت کنترل شرط و يا اجراي عمل تا پايان تراکنش جاري به تاخير ميافتد. • در برخي موارد کنترل شرط و يا اجراي عمل تا رخ دادن رويداد خاصي به تاخيرخواهد افتاد.

  33. حالت مستقل • در اين حالت، کنترل شرط در يک تراکنش مستقل و پس از اتمام تراکنش جاري انجام ميشود. • روش مستقل خود به دو روش ديگر تقسيم ميشود: • روش مستقل • روش وابسته • در روش وابسته تراکنشي که وظيفه ارزشيابي شرط و اجراي قانون را دارد پس از اتمام تراکنش جاري شروع به کار ميکند • در روش مستقل اين تراکنش مستقل از تراکنش جاري سيستم شروع به کار ميکند.

  34. ترکيبهاي مختلف نحوه پيوستگي شرط و عمل

  35. چگونگي پردازش قوانين • دريکسيستمپايگاهداده فعال،درابتدايامربرنامهکاربرديدرحالاجراست. • تازمانيکه هيچرويدادازپيشتعريفشدهايدرسيستمرخندادهاستاجرايبرنامهکاربرديادامهپيداميکند. • به محضاينکهرويداديدرسيستمرخداد،يکسريقوانينکهبااينرويدادمرتبطهستندفعالشدهو واردليسترويدادهايفعالميشوند. • حالباتوجهبهمکانيزمانتخاب،يکيازقوانينفعالموجوددر ليست،انتخابشدهوشرطموجوددربدنهقانونارزيابيميشود. • درصورتدرستبودنشرط،اجراي بخشعملقانونمربوطهانجامميشود. • اگراجراياينعملموجبرخدادنرويدادهايديگريدر سيستمشد،اينقوانينجديدنيزبهليسترويدادهايفعالسيستماضافهميشوند. • ارزيابيواجراي قوانينتازمانيکهصفقوانينفعالخاليشودادامهپيداميکند. • در ادامه نيز کنترل به برنامه کاربردي منتقل ميشود.

  36. تشريح فرايند توليد قانون • يکي از کارهاي مهم و اساسي در سيستمهاي پايگاه داده فعال فرآيند توليد قانون ميباشد. • تضمين نبود تعارض بين قوانين و رفع اثرات جانبي اجراي قوانين مانند چرخه اجرا در اين بخش انجام ميشود.

  37. فرآيند توليد قانون

  38. مرحله اول: استخراج قوانين • با در نظر گرفتن شرايط و محدوديتهاي موجود درسيستم مورد نظر و نيازمنديهاي برنامه‌ي کاربردي قوانيني که بايد در سيستم پويا تعريف شوند استخراج ميشوند • به عنوان نمونه کليه دستورالعملهاي يک سازمان ميتواند به صورت قوانيني در پايگاه داده فعال سازمان تعبيه شود. • مرحله استخراج قوانين در فازتجزيه و تحليل سيستم انجام ميشود. • اجراي موفقيت آميز مراحل آتي ارتباط مستقيم با كيفيت انتخاب قوانين در سيستم دارد.

  39. مرحله دوم: توصيف قوانين • در ابتداي اين مرحله قوانيني كه در مرحله قبل از سيستم استخراج شده اند در يك قالب فرمال و يا شبه فرمال در دسترس هستند. • در اين مرحله قوانين استخراج شده از حالت فرمال و يا شبه فرمال خارج شده و در قالب يك مدل قانون استاندارد كه توسط طراحان سيستم تعريف شده است قرار ميگيرد. (قالب مفهومي ECA ) • با استفاده از زبانهاي توصيف قانون ميتوان اين قوانين را به فرمت قابل قبول براي هر نوع سيستم پايگاه داده اي تبديل نمود.

  40. مرحله سوم: پياده سازي قوانين • در اين مرحله ورودي که همان توصيف قوانين است بوسيله يکي از زبانهاي توصيف قانون که توسط سيستم مديريت پايگاه داده پشتيباني ميگردد. • در فاز پيادهسازي، توصيف قوانين به مجموعه نهايي قوانين مورد قبول سيستم مديريت پايگاه داده فعال مورد نظر تبديل خواهد شد. • گاهي اوقات فازهاي توصيف و پيادهسازي قوانين در يک مرحله انجام ميشود.

  41. مرحله چهارم: بررسي و اعتبارسنجي قوانين • در اين فاز صحت عملکرد قوانين کنترل ميشود. • کنترل ميشود که آيا نيازمنديهاي طراحان به طور دقيق توسط قوانين برآورده ميشود يا نه؟ • و آيا تبديل نيازمنديهاي قوانين از شکل فرمال به قالب زبانهاي توصيف قانون درست انجام شده است؟ • يکي از دلايلي که امروزه عليرغم مزيتهايي که پايگاههاي داده فعال دارند از آنها زياد استفاده نميشود اين است که: • تشخيص تضادها و پيشبيني وابستگيهاي بين مجموعه قوانين تعريفشده در سيستم کارمشکلي است.يکي از جنبههاي بسيار حياتي تشخيص تضاد بين قوانين، تضمين پايان پذيري اجراي قوانين است.

  42. تضمين پايان پذيري اجراي قوانين براي حل اين مساله دو روش عمده وجود دارد: • روش اول: تشخيص پايانپذير بودن فرآيند اجراي قوانين در مرحله اجرا انجام شود. • تشخيص پايان پذيري يا ايجاد حلقه در فرآيند اجرا بدين معني است که چنانچه سيستم دريافت که فرآيند اجراي قوانين دچار حلقه اجرا شده است، اجرا را قطع ميکند. • تشخيص حلقه به اين صورت انجام ميشود که چنانچه تعداد قوانين فعال سيستم از يک حدي بيشتر شد سيستم فرض ميکند که حلقه اجرا بوجود آمده است. • روش دوم: عمليات تشخيص را از طريق تجزيه و تحليل مجموعه قوانين انجام ميدهد و قوانيني که ممکن است موجب ايجاد چرخه اجرا شوند را شناسايي ميکند.

  43. مرحله پنجم: نگهداري قوانين • فازنگهداريقوانيندرطولدورهزمانيسيستمپايگاهداده فعالانجامميشود. • اگرنيازمنديهايقوانينتغييرپيداکرديااينکهدرطيمدتزماناجرااشکالوخطاييدر قوانينمشاهدهشد، ميتوانقوانينرابهنگامنمود.

  44. مراحل توليد قانون در يك سيستم پايگاه داده فعال

  45. معماري سيستم پايگاه داده فعال

  46. معماري لايهاي

  47. معماري يكپارچه

  48. جمع بندی • در بسياري از کاربردها لازم است برسيستم، نظارت خودکاري وجود داشتهباشد تا در صورت وقوع رويدادي خاص اقدامات و تغييرات مناسب بر سيستم پايگاه داده صورت گيرد. • در سيستمهاي پايگاه داده فعال مجموعه ای از قوانين پويا براي كنترل عملكرد سيستم در نظر گرفته ميشود. • به فرايند فعالسازي قوانين و اتخاذ عکس العمل مناسب در يک سيستم پايگاه داده فعال، رفتار پوياي سيستم گفته ميشود. • با فعال شدن هر رويداد، قانون مربوط به آن فعال شده، بخش شرط آن ارزيابي ميشود و در صورتي كه داراي ارزش درست باشد عمليات آمده در بدنه قانون به اجرا در خواهدآمد.

  49. مراجع • H. Theodore. “A survey of Active Database Systems”, April, 1997 • P. Rönn, “Two Approaches to Event Detection in Active Database Systems”, MSc Thesis, CS Department, University of Skövde,Sweden, 2001. • H. Fritschi and Z. Flaach, “A Component Framework to Construct Active Database Management Systems”, PhD Thesis, CS Department, University of Zurich, 2002. • A. Vadua, “Rule Development for active database”, PhD Thesis, CS Department, University of Zurich, 1999.

More Related