تارا فایل

پاورپوینت موتور تکراری فازی جدید با محرک های فازی


new fuzzy replication engine with fuzzy triggers

مفاهیم اولیه
پایگاه داده های فعال چیست؟
تشریح رویداد،شرط،عمل با ذکر مثالی از یک تریگر

اجزاء سازنده یکTrigger (ECA):

مراحل ایجاد Fuzzy trigger
C-fuzzy trigger
اولین بار توسط آقایان Antoni Wolski و Tarik Bouazizو Antti Pesonen و Janne Karvonen در مقاله [12] ارائه شد.

CA-fuzzy trigger
این تریگر نیز توسط آقایان Antoni Wolski و Tarik Bouaziz در مقاله [9] فازی سازی شد.

ECA-fuzzy trigger
این تریگر نیز توسط این دو نفر در مقاله [11] ارئه شد.

سایر مقالات مرتبط با این تیم در ارتباط با تریگرهای فازی عبارتست از:
[6] , [7], [14]
این تیم اولین گروه و معرف اصلی تریگرهای فازی می باشند که در دانشگاه تکنولوژی اطلاعات VTT از کشور فنلاند در این زمینه فعالیت کرده اند.

تحقیقات گروه دوم در زمینه تریگرهای فازی
گروه دوم شامل آقایان Yucel Saygin , Ozgur Ulusoy از واحد مهندسی کامپیوتر و علوم اطلاعات دانشگاه Bilkent کشور ترکیه می باشند.

این تیم دو مقاله در ارتباط با کاربرد تریگرهای فازی در Mobile Databaseها و همچنین یک مقاله با ترکیب تریگرهای فازی و Data Mining ارائه کرده است که در جرنالهای معتبر نیز به چاپ رسیده است. [5],[8],[10]

در این سه مقاله از تریگرهای فازی در ایجاد روشهایی جدید بهره گرفته شده است.

Replication
Replication چیست؟
به عملی که در آن هر تغییر در یکی از رونوشت های پایگاه داده در تمام نسخه های دیگر انتشار می یابد و هدف از آن همگام سازی نسخه های پایگاه داده در یک سیستم رو به رشد می باشد Replication یا رونوشت برداری گفته می شود[2] .

انواع روشهای Replication
Eager Replication (Synchronous)

Lazy Replication (Asynchronous) [15]

Replication Engine
اجزاء اصلی یک موتور رونوشت بردار :

یک استخراجگر[1] که در گره مبداء قرار می گیرد. کار استخراجگر کنترل تغییرات پایگاه داده مبداء است.
یک بستر ارتباطی[2] که استخراج کننده از طریق آن تغییرات را به گره مقصد ارسال کند.
یک اعمالگر[3] تغییرات روی گره مقصد. کار اعمالگر دریافت تغییرات از استخراجگر و اعمال آنها در پایگاه داده مقصد است.

[1] – extractor
[2] – communication channel
[3] – applier

معماری موتور رونوشت برداری
Replication Engine Architecture

بررسی محاسن و معایب روش رونوشت برداری مشتاق
معایب روش Eager Replication
تاخیر زمانی دوره پوشش برنامه یاApplication latency چیست؟
در روش Eager Replication تاخیری بعلت انجام تغییرات بر روی تمام نسخه های پایگاه داده نسبت به حالتی که تغییرات در یک پایگاه داده ثبت می شود بوجود می آید که به آن دوره پوشش برنامه یا Application latency گفته می شود.

جهت کارا بودن این روش نیاز به یک بستر ارتباطی همیشه online وجود دارد.

Network utilization این روش ضعیف است زیرا بطور مستمر ترافیک ایجاد می کند اما از پهنای باند بطور موثر بهره نمی برد.

محاسن روش Eager Replication
دو نسخه پایگاه داده مبداء و مقصد در هر زمان یکسان می باشند.

بررسی محاسن و معایب روش رونوشت برداری تنبل
معایب روش Lazy Replication
تاخیر زمانی دوره پوشش رونوشت برداری یاReplication latency چیست؟
در روش رونوشت برداری Lazy Replication دوره پوشش برنامه حذف شده ولی تاخیر زمانی دیگری بین زمان وقوع تغییرات در پایگاه داده منبع تا زمان اعمال تغییرات در پایگاه داده(های) مقصد بوجود می آید که به آن دوره پوشش رونوشت برداری یا Replication latency گفته می شود.

معمولا دوره پوشش رونوشت برداری طولانی می باشد و در این بازه زمانی ممکن است ارزش اطلاعات از بین برود و یا ضرر(کاهش سود) ناشی از تاخیر ارسال اطلاعات به مقصد ایجاد شود.

محاسن روش Lazy Replication
نیاز به بستر ارتباطی online وجود ندارد.
بطور مستمر بر روی پهنای باند ترافیک ایجاد نمی کند و در بازه های زمانی خاصی عمل همگام سازی انجام می شود.
در لحظه ارسال اطلاعات به مقصد Network utilization بالایی دارد.

سوال؟
آیا می توان روش جدیدی را ایجاد کرد که هم معایب دو روش رونوشت برداری Eager و Lazy را نداشته باشد و هم محاسن این دو روش را داشته باشد؟

نام روش شما چیست و چگونه عمل می کند؟

Fuzzy Replication
با ایجاد تغییراتی در تریگرهای فازی تیم گروه اول و ایجاد تغییراتی در موتور رونوشت برداری، روش فازی شده جدیدی را می توان ایجاد نمود تا هم معایب دو روش گذشته را برطرف کند و هم از برخی محاسن آنها بهره ببرد.
در Fuzzy Replication اطلاعات زمانی از پایگاه داده مبداء به مقصد ارسال می شود که یک سری شرایط فازی از قبل تعریف شده ای برآورده گردد.
یک شرط فازی می تواند چیزی مانند جملات زیر باشد:
هنگامیکه تعداد کمی فروش بزرگ صورت گرفت اطلاعات را از مبداء به مقصد ارسال کن.
هنگامیکه تعدادی زیادی فروش کوچک صورت گرفت رونوشت برداری را آغاز کن.

Fuzzy Replication Architecture
Fuzzy replication engine
changes
Fuzzy Event
DML
Source Database
Application
Target Database
Extractor

Applier

DML History
Event History
Threshold

استفاده از تریگرهای فازی در Extractor
تغییر نقش Extractor موتور Replication در روش فازی شده

Extractor علاوه بر اینکه تغییرات پایگاه داده را نگهداری می کند می باید رویدادهای فازی را نیز تشخیص داده و نگهداری کند.

در صورتیکه رویداد های فازی از لحاظ کمی و وزنی به حد آستانه تعریف شده ای رسیدند، Applier می باید تغییرات ثبت شده را به پایگاه داده مقصد اعمال کند.

Fuzzy trigger syntax for Replication
Create Fuzzy Trigger TriggerName On sourceTable For Insert, Update, Delete
When QuantifierTerms[AS FuzzySet] FieldName IS [LinquisticHedgs] FuzzyTerm [AS FuzzySet] Quanified with AmountFieldName Threshold ThresholdValue
SendAllUpdateTo TargetServer.TargetDatabase.TargetTable

System tables: FuzzySets
Required tables for Extractor: FuzzyEvents, ReplicationHistory

CREATE TABLE [FuzzyEvents] (
[TriggerName] [char] (100),
[MF] [decimal](18, 12),
[Amount] [decimal](18, 2),
)

مثال
Create Fuzzy Trigger RepSold On Sold
For Insert,Update, Delete
When few GoodsCost IS very BigSale QUANTIFIED WITH GoodsAmount THRESHOLD 0.3
SendAllUpdateTo Server1.TargetDB.Sold

اصلاح کمیت سنج تریگر فازی معرفی شده گروه اول
معرفی Quantifier یا کمیت سنج های فازی:در صورتی بخواهیم عمل رونوشت برداری برای تعداد خاصی تغییرات در پایگاه داده مبداء فعالیت خود را آغاز نماید نیاز به تعریف ساختاری جدید داریم که بتواند کمیت و تعدد تغییرات را بیان کند و بتوان از آن ساختار در تعریف تریگرهای فازی بهره برد.
کمیت سنج های چون تعداد کمی (few) ، چندین (several)، معمولا (usually)، بیشترین (most)، در حدود … (about x) و غیره را می توان در سیستم های فازی استفاده کرد.
یک کمیت سنج فازی را می توان بصورت "Q F ARE T" نمایش داد که در این قالب Q بیانگر کمیت سنج مربوطه و F بیانگر فیلد جدول که مربوط به مجموعه فازی خاصی می باشد و T که بیانگر فازی ترم مربوط به همان مجموعه فازی فیلد است و بیانگر آنست که Q عنصر از یک مجموعه فازی F شرایط فازی گزاره T را براورده می سازند]050[.

دو روش محاسبه کمیت سنج های فازی
روش محاسبه نسبی که آقای ولسکی و همکارش در ]020[ معرفی کردند : مجموع خروجی تابع عضویت برای تمامی رکوردها را می باید بر تعداد کل رکوردهای جدول اطلاعاتی تقسیم نمود و سپس عدد بدست آمده را که عددی بین صفر و یک می باشد را بعنوان مقدار ورودی تابع عضویت کمیت سنج قرار می دهیم تا درجه درستی کل رکوردهای قرار گرفته در شرط فازی برآورد شود.
اما از این روش نمی توان در فازی سازی رونوشت برداری استفاده نمود بعلت آنکه در این روش داده های غیر ضرور که در شرایط فازی رونوشت برداری قرار ندارند نیز در محاسبات فازی دخیل می باشند.
روش محاسبه نسبی:
تفسیر گزاره “Q A ARE B" در دو گام انجام می شود. در گام اول چه کسری از عناصر مجموعه A را در B صذق می کند.
گام دوم محاسبه درستی کل گزاره “Q A ARE B" می باشد. برای این منظور می باید خروجی سیگما-کانت نسبی یعنی ρ را بعنوان ورودی تابع عضویت مجموعه فازی Q قرار دهیم که آنرا با Mq(p) نمایش می دهیم.

مثال
فرض کنید عبارت فازی "most Sales ARE mediumSale" را می خواهیم ارزیابی کنیم و همچنین اطلاعات زیر را داشته باشیم:
– مجموعه مقادیر فروش رفته عبارتست از Sales={200, 15, 550, 25, 400}
– کمیت سنج فازی most نیز بصورت مقابل تعریف شده است: Traingular(0.6, 0.8, 1)
– متغیر زبانی mediumSale نیز قبلا در مجموعه فازی SaleFuzzySet تعریف شده است: Trapezodial(10, 20, 450, 500)
حال در گام اول بر اساس فرمول محاسباتی سیگما-کانت نسبی می توان گزاره فروشهای متوسط را از مجموعه فروشها بصورت زیر محاسبه کرد:

نهایتا" در گام دوم درستی گزاره " most Sales ARE mediumSale " توسط تابع عضویت Q بصورت مقابل محاسبه می شود:

در این مثال با اطلاعات داده شده میزان درستی گزاره برابر 0.5 می باشد.

روش محاسبه تعدادی
این روش تغییر یافته روش نسبی است جهت حذف مشکل آن در فازی سازی رونوشت برداری
در این روش بجای محاسبه سیگما-کانت نسبیF که باعث مداخله رکوردهای غیر هدف در محاسبات می شوند زیر مجموعه ای از مجموعه F به نام مجموعه هدف F بصورت مقابل تعریف می شود.

اگر ρ را مقدار ورودی تابع عضویت Q فرض کنیم مقدار آن بشکل زیر محاسبه می شود:
ρ=Cardinality( )
در روش محاسبه نسبی مقدار ρ عددی بین صفر و یک است و کلیه جملات زبانی مجموعه فازی Q بر روی بازه اعداد صفر تا یک نقش می شوند. اما در روش محاسبه تعدادی عدد ρ هر مقدار بزرگتر یا مساوی صفر می باشد و جملات زبانی مجموعه فازی Q در بازه اعداد بزرگتر از صفر قابل تعریف می باشند.
در گام دوم که می باید درستی کل گزاره " Q A ARE B " بدست آورده شود کافی است مقدار ρ به تابع عضویت Q ارسال شود که آنرا با Mq(p) نمایش می دهیم.
در عوض با این روش می توان از کمیت سنج های جدیدی مانند many یا few و a little و غیره استفاده نمود.

مثال روش محاسبه تعدادی
فرض کنید عبارت فازی "many Sales ARE mediumSale" را می خواهیم به روش تعدادی ارزیابی کنیم و همچنین اطلاعات زیر را داشته باشیم:
– مجموعه مقادیر فروش رفته عبارتست از Sales={200, 15, 550, 25, 400}
– کمیت سنج فازی many نیز بصورت مقابل تعریف شده است: Traingular(3, 5, 7)
– متغیر زبانی mediumSale نیز قبلا در مجموعه فازی SaleFuzzySet تعریف شده است: Trapezodial(10, 20, 450, 500)

گام اول: در این مثال اعضای مجموعه هدف Sales عبارت است از:
={200, 15, 25, 400}
همچنین ورودی تابع عضویت مجموعه Q یعنی ρ عبارت است از:
ρ = Cardinality( ) = 4

گام دوم: با ترسیم تابع عضویت many مشخص می شود که به ازای 4 = ρ مقدار برابر 0.5 خواهد شد:

چگونگی محاسبه حد آستانه یا Threshold
Create Fuzzy Trigger RepSold On Sold
For Insert,Update, Delete
When few GoodsCost IS very BigSale QUANTIFIED WITH GoodsAmount THRESHOLD 0.3
SendAllUpdateTo Server1.TargetDB

ارزیابی روش Fuzzy Replication
نتایج حاصل از ارزیابی روش Fuzzy Replication
حذف Application Latency: در این روش مشکل روش Eager Replication بطور کامل حذف می شود و دیگر کاربر نهایی تاخیر زمانی ناشی از آنرا مشاهده نمی کند.

حذف Replication Latency: در این روش Replication Latency بصورت ثابت و ایستا نمی باشد و هر زمان که رویداد فازی تعریف شده ای در پایگاه داده مبداء رخ دهد بلافاصله اطلاعات از مبداء به مقصد ارسال خواهد شد.
حذف ضرر و زیان تاخیر در ارسال اطلاعات مهم بعلت وجود مشکل Replication Latency در روش Lazy Replication
Network Utilization بهتر نسبت به روش Eager replication
عدم نیاز به داشتن بستر ارتباطی همیشه online
بهینه بودن عمل رونوشت برداری: عمل رونوشت برداری تنها در شرایط مطلوب آغاز خواهد شد.

مقایسه Network Traffic

مقایسه Network Traffic
روش eager بطور پیوسته ای بر روی بستر شبکه ترافیک ایجاد می کند و بطور مطلوبی از پهنای باند خطوط ارتباطی استفاده نمی کند و دارای Network Utilization پایینتری نسبت به دو روش دیگر دارد.

روش Lazy بر روی شبکه ترافیکی مستمر ایجاد نمی کند و در زمانی که اطلاعات را به پایگاه داده مقصد ارسال می کند بطور مقطعی از حد اکثر پهنای باند استفاده مطلوب را می نماید.

روش Fuzzy که یک روش میانه و ترکیبی از دو روش قبلی می باشد بر روی شبکه ترافیک مستمری ایجاد ننموده وفقط در شرایط فازی تعریف شده ای که خواسته شده است بر روی شبکه ترافیک ایجاد می کند و از Network Utilization بالاتری نسبت به روش eager بر خوردار است. در این روش مشکل طول عمر اطلاعات که در روش lazy مطرح است وجود ندارد.

Cpu Utilization & Disk Utilization

References
[1] Naghibzadeh, M.   Shokrani-Baigi, A.   Saadati, N.   Fathi, M. Design and implementation of a fuzzy relational database management system applied to osteoporosis patients. in: World Automation Congress, 2002. Proceedings of the 5th Biannual, Volume: 13,  On page(s): 423- 428, 2002.
[2] Dr. Bruce Holenstein, Dr. Bill Highleyman, and Paul J. Holenstein. Breaking the Availability Barrier I – Survivable Systems for Enterprise Computing – Volume 1 of 3 Volume Series, 2007.
[3] Christoph Mitasch. Server-Based Wide Area Data Replication for Disaster Recovery, Diplomarbeit an der Fachhochschule Hagenberg, Studiengang Computer- und Mediensicherheit, 2004.
[4] M. Wiesmann. Group Communications and Database Replication: Techniques, Issues and Performance. PhD thesis, Ecole Polytechnique Federale de Lausanne, Switzerland, Number 2577. 2002.
[5] Y. Saygin, Ö. Ulusoy, Automated Construction of Fuzzy Event Sets and its Application to Active Databases, IEEE Transactions on Fuzzy Systems, vol.9, no.3, 2001.
[6] Antti Pesonen, Antoni Wolski. Quantified and Temporal Fuzzy Reasoning for Active Monitoring in RapidBase. Symposium on Tool Environments and Development Methods for Intelligent Systems, 2000.
[7] Antoni Wolski, Jorma Kuha, Tapio Luukkanen, Antti Pesonen. Design of RapidBase an Active Measurement Database System. Proceedings of the International Database Engineering & Applications Symposium, 2000.
[8] Yücel Saygin, Özgür Ulusoy, Adnan Yazici. Dealing With Fuzziness In Active Mobile Database Systems. Information Sciences—Informatics and Computer Science: An International Journal, Volume 120 ,  Issue 1-4, Pages: 23 – 44, November 1999.
[9] A. Wolski and T. Bouaziz. Fuzzy Triggers: Incorporating Imprecise Reasoning into Active Databases. In Proceedings of the 14th International Conference on Data Engineering, pages 108–115. IEEE Computer Society Press, 1998.
[10] Y. Saygin and O. Ulusoy, "Involving fuzzy concepts in active mobile databases," in Proceedings of the 9th International Conference and Workshop on Database and Expert Systems Applications (DEXA'98). Lecture Notes in Computer Science, Springer Verlag, 1998.
[11] T. Bouaziz and A. Wolski. Applying Fuzzy Events to Approximate Reasoning in Active Databases. In Proc. Sixth IEEE International Conference on Fuzzy Systems, Barcelona, Catalonia, Spain, July 1997.
[12] Bouaziz T. Karvonen J. Pesonen A. and Wolski A. Design and Implementation of TEMPO Fuzzy Triggers. Proc. Eighth Int'l conference on Database and Expert Systems Applications (DEXA'97), Sept. 1-5, 1997.
[13] Bouaziz T. and Wolski A. Incorporating Fuzzy Inference into Database Triggers. Research Report No TTE1-2-96, VTT Information Technology, 15 Espoo, Finland, November 1996.
[14] A. Wolski, J. Karvonen, A. Puolakka. The RAPID Case Study: Requirements for and the Design of a Fast-response Database System. Proceedings of the First Workshop on real-Time Databases RTDB'96, Newport Beach, CA, USA, 1996.
[15] J. N. Gray, P. Helland, P. O’Neil, and D. Shasha. The dangers of replication and a solution. In Proceedings of the 1996 International Conference on Management of Data, pages 173–182, Montreal, Canada, ACM-SIGMOD, June 1996.

سوال؟

تشکر از وقتی که در اختیار بنده قرار داده اید


تعداد صفحات : 29 | فرمت فایل : .ppt

بلافاصله بعد از پرداخت لینک دانلود فعال می شود