پروژه بهینه سازی تقاضا تحت رتبه بندی در سیستم های توزیع شده

تعداد صفحات: 100 فرمت فایل: word کد فایل: 10002243
سال: 1387 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۶,۶۰۰ تومان
قیمت: ۱۴,۵۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه پروژه بهینه سازی تقاضا تحت رتبه بندی در سیستم های توزیع شده

    پروژه دوره کارشناسی ارشد

    رشته کامپیوتر گرایش نرم افزار

    چکیده

    تقاضای تحت رتبه بندی از کاربردی ترین تقاضا بر اساس نیاز کاربران می باشد، مهمترین مسئله در اجرای این تقاضاها در سیستم های توزیع شده، ارسال اطلاعات مورد نیاز تقاضا و بالطبع حداقل زمان اجرا می باشد، برای این منظور از روشهای بهینه سازی تقاضا تحت رتبه بندی استفاده می شود. در اجرای یک تقاضا، هزینه برترین عمل، عمل اتصال بین رابطه ها می باشد به همین دلیل در این تحقیق ابتدا اندازه مورد نیاز رابطه ها را بر اساس K جواب بهتر، به صورت ساسله مراتبی و طبق درخت چپ ژرف برای عمل اتصال تعیین می نماییم، سپس اطلاعات محدود شده را به سیستمی ارسال می کنیم که هزینه ارسال کمینه گردد و در سیستم مقصد اعمال نهایی برای بدست آوردن K جواب بهتر را بر اساس دو استراتژی پیاده سازی کردیم، در استراتژی اول، پس از دریافت اطلاعات مورد نیاز رابطه های محدود شده، عمل اتصال بین رابطه ها را بر اساس ترتیب تعیین شده انجام می دهیم و در نهایت K جواب بهتر را بدست می آوریم. در استراتژی دوم پس از دریافت اطلاعات مورد نیاز، مسئله بهینه سازی را به جستجوی آگاهانه تبدیل کرده و بر اساس ساختار درخت B+ ایجاد شده طبق رابطه های محدود شده، K جواب بهتر را بدست می آوریم. یک پایگاه داده واقعی در نظر گرفتیم و این دو روش را با روش سنتی بدون بهینه سازی و روش طبق جستجوی آگاهانه A* بیان شده در  [31]مقایسه کردیم که براساس نتایج بدست آمده، به طور متوسط دو روش پیشنهادی زمانیکه میزان K در حدود 20 درصد کل جوابها باشد دارای هزینه کمتری نسبت به روش سنتی و روش طبق جستجوی آگاهانه A* [31] می باشد، در ضمن بر اساس مقدار K، هزینه ارسال اطلاعات نیز از 10 تا 70 درصد کاهش یافته است.

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

    پدیدار شدن برنامه های کاربردی که وابسته به تقاضاهای رتبه بندی هستند، پشتیبانی کارای تقاضاهای رتبه بندی را در سیستم های مدیریت پایگاه داده در دنیای واقعی طلب می کنند.  پشتیبانی تقاضاهای رتبه بندی به سیستم های پایگاه داده توانایی پاسخ دادن کارا به تقاضاهای بازیابی اطلاعات را  می دهد.

    در سالهای اخیر، ترکیب مزایای سیستم های بازیابی اطلاعات و پایگاه داده یک هدف اصلی برای خیلی از محققان بوده است. سیستم های پایگاه داده، مدیریت داده را با جامعیت قوی و تضمین سازگاری فراهم می آورند. از طرف دیگر سیستم های بازیابی اطلاعات مکانیزم هایی برای بازیابی کارا و رتبه بندی فازی که برای کاربر مطلوب است، فراهم می نمایند.

    موضوع مهم در این زمینه تعیین اندازه مورد نیاز ورودی ها در N رابطه برای پاسخگویی به تقاضای تحت رتبه بندی می باشد تا بدین وسیله بتوان K جواب بهتر مورد نظر را بدست آورد. درمجتمع سازی اطلاعات در مقیاس بالا، انتخاب جوابهای رتبه بندی K جواب بهتر ازچندین منبع خیلی حیاتی می باشد و در کمینه کردن هزینه انتقال نقش اساسی دارد. زیرا هر چه اندازه رابطه ها کوچکتر باشد، هزینه کمتری برای انتقال صرف می گردد. علاوه براین انتخاب روش مناسب برای تعیین اندازه ورودی مورد نیاز رابطه ها  تاثیر چشم گیری در هزینه کل پردازش دارد بر اساس این مزیت روشهای مختلفی برای بهینه سازی تحت رتبه بندی ارائه شده است که مهمترین آنها را در فصل 2 مورد بررسی قرار دادیم. روشهای بیان شده در زمینه بهینه سازی تقاضا تحت رتبه بندی غالبا در مقوله سیستمهای شخصی بیان شده اند، در حالیکه کاربرد عملی این تقاضاها در سیستم های تحت وب و توزیع شده می باشد. بر این اساس تصمیم گرفتیم این روشها را برای سیستم توزیع شده[4] بسط دهیم.

    1- تشریح مسئله

    هنگامیکه یک تقاضا تحت رتبه بندی داریم که هدف بدست آوردن K جواب بهترمی باشد، در این حالت به تمامی رکورد های جدول نیاز نداریم، بر اساس مقدار K تعدادی از رکوردها در رابطه ها که امتیاز کمی دارند در نتیجه نهایی نقشی ندارند و بهتر است آنها هرس شوند و برای محاسبات و انتقال اطلاعات زمانی را برای این رکوردها تلف نکنیم. ابتدا تعریفی از یک تقاضای تحت رتبه بندی را در زیر بیان        می کنیم.

    در تقاضای تحت رتبه بندی، تقاضا بر روی M  صفت A1، A2، ... ، AN  و N رابطه به صورت R1، R2، ... ، RN تعریف می شود که هر  Ai(i=1:M) متعلق به یک رابطه Rj (j=1:N)     می باشد. هر یک از صفتها نسبت به نوع شان دارای دامنه خاصی می باشند. R1، R2، ... ، RN در M سیستم به صورت توزیع شده قرار دارند به صورتیکه هر رابطه به طور کامل بر روی یک سیستم قرار دارد. به عبارت دیگر عمل قسمت بندی[5] بر روی رابطه ها را در پایگاه توزیع شده بین سیستمها را در این تحقیق نداریم.

     با توجه به تقاضا یکسری از صفتهای این رابطه ها برای عمل پرتو[6] بکار می روند که به عنوان صفتهایی می باشند که در رکوردهای حاصل مورد استفاده قرار می گیرند. یکسری از صفتهای این رابطه ها برای عمل انتخاب[7] بکار می روند که در واقع شرط های منطقی هستند که بر روی رکوردهای رابطه ها اعمال می شوند و رکودهایی دارای این محدودیتها می باشند می توانند برای مراحل بعدی مورد استفاده قرار بگیرند. برخی از صفتها برای عمل اتصال مورد استفاده قرار می گیرد، هنگامیکه چند رابطه داریم برای اینکه عمل اتصال بین آنها را بر قرار کنیم، می بایست صفتهای اتصال را برای هر یک از روابط تعیین نماییم. اگر برای دو رابطه Ri و Rj صفتی برای اتصال وجود نداشته باشد، SQL به جای عمل اتصال، ضرب دکارتی را بین این دو رابطه انجام  می دهد. در تقاضا ها ی تحت رتبه بندی بخشی برای رتبه بندی داریم که برخی از صفتهای رابطه ها به صورت یک عبارت رتبه بندی بیان می شود که به آن تابع رتبه بندی گفته می شود.

    تابع رتبه بندی f به صورت ترکیبی از M' صفت تشکیل شده است که درآن MM' می باشد. فرضی که برای تابع رتبه بندی f داریم این است که تغییرات تابع رتبه بندی نسبت به کل رابطه ها یکنواخت باشد. البته در تابع رتبه بندی  مورد نظر تغییرات تابع نسبت به هر رابطه می تواند غیر یکنواخت باشد علاوه براین در تقاضاها ی تحت رتبه بندی تعداد جوابهای مطلوب نیز تعیین می شود که همان K جواب بهتر می باشد. نمونه ای از یک تقاضای تحت رتبه بندی در مثال 1 بیان شده است.

     

    مثال1:  یک خانواده مایل به خرید خانه‌ای در نزدیکی یک مدرسه می‌باشد و هدف آنها کاهش هزینه‌های کلی‌شان می‌باشد. یک تابع رتبه بندی ساده که مجموع قیمت خانه و هزینه شهریه 5 سال مدرسه را برآورد می کند در نظر بگیرید. می بایست عمل جستجو در دو رابطه  خانه‌ و مدرسه در پایگاه داده، بر اساس تقاضای شکل 1-1 صورت گیرد.

     

    شکل 1-1: تقاضای نمونه

    رابطه های House  و School می توانند در یک سیستم توزیع شده بر روی یک یا دو سیستم وجود داشته باشند. البته از هر رابطه فقط یک نمونه وجود دارد یعنی عمل تکرار[8] نیز در سیستم مورد بررسی نداریم. در این تقاضا خانواده تنها حداکثر به 10 نتیجه بجای همه نتایج ممکن احتیاج دارد که از بین این 10 نتیجه تصمیم گیری نماید و خانه مطلوب را انتخاب نماید. راه حل سنتی این است که ابتدا همه رابطه های مورد نیاز تقاضا در صورت عدم وجود به سیستم اجرا کننده تقاضا به طور کامل ارسال می شوند سپس عمل اتصال[9] بر روی دو رابطه انجام می شود، کلیه جوابها  محاسبه شده و در نهایت بر اساس تابع رتبه بندی جوابها مرتب شده و 10 تای اول انتخاب می شوند. در حالتیکه رابطه ها بزرگ و تعداد جوابها زیاد باشد، هزینه محاسبات و انتقال اطلاعات نسبتا زیاد می باشد. البته برای K های بزرگ روش سنتی هزینه محاسباتی کمتری نسبت به روشهایی که اندازه ورودی را تخمین می زنند، دارد اما در این حالت نیز مشکل هزینه انتقال اطلاعات نسبتا زیاد می باشد.

    در این تحقیق به جای اینکه در ابتدا رابطه ها را به طور کامل به سیستم تقاضا کننده ارسال کنیم، ابتدا بهینه سازی محلی را بر روی رابطه ها اعمال می کنیم و آنها را بر اساس عبارتیکه صفتهای رتبه بندی آنها در تابع رتبه بندی دارند، مرتب می کنیم، سپس ورودی های مورد نیاز برای ورودی ها را برای بدست آوردن K جواب بهتر تعیین می نماییم، هزینه های انتقال را بررسی کرده و میزان اطلاعاتی از رابطه ها را می بایست منتقل شود به سیستمی با کمترین هزینه ارسال می نماییم، در نهایت بر روی رابطه های نهایی عمل اتصال را انجام داده و نتایج نهایی را بدست می آوریم یا در این حالت به جای عمل اتصال با الهام گرفتن از الگوریتمهای جستجوی آگاهانه، مسئله بهینه سازی را تبدیل به جستجوی آگاهانه کرده سپس توسط این رابطه های نهایی گراف را برای جستجو بر اساس صفتها و تابع رتبه بندی تشکیل داده و K جواب بهتر را بدست می آوریم.

     

    2- چالشها

    برخی مشکلات برای انجام این تحقیق شامل موارد زیر می باشند:

    تعیین اندازه ورودی N رابطه بر اساس اندازه خروجی مورد نظر آنها: تا به حال روشهای ارائه شده الگوریتمی را برای N رابطه ارائه نداده اند فقط الگوریتمها برای تعیین اندازه ورودی دو رابطه     می باشد.

    اعمال الگوریتمی برای سیستم توزیع شده: روشهای بررسی شده برای بهینه سازی تقاضای تحت رتبه بندی، در سیستم های محلی هستند، بکار بردن الگوریتم در سیستم توزیع شده باعث می شود که یکسری محدودیتها را ماهیت سیستم توزیع شده بر روی الگوریتم تحمیل کند، در واقع پارامترهایی که در انتقال اطلاعات بین سیستمها موثرند بر روی روش پیشنهادی تاثیر می گذارند. کنترل ارسال و دریافت اطلاعات و نوع پروتکل نیز در الگوریتم کلی تاثیر گذارند.

    برای تبدیل مسئله بهینه سازی تقاضا به جستجوی آگاهانه : در این حالت البته روشهای کارایی ارائه شده است که چالش اصلی در آنها ساختن شاخصها بر روی رابطه ها بر اساس عبارتی که صفتهای رتبه بندی آنها در تابع رتبه بندی دارند و در نهایت ایجاد گراف حاصل از تمامی شاخصها بر اساس تابع رتبه بندی و جستجو بر روی آن می باشد. در ایجاد گراف و جستجو بر روی آن می بایست شرایط جستجوی آگاهانه را در نظر گرفت.   

  • فهرست و منابع پروژه بهینه سازی تقاضا تحت رتبه بندی در سیستم های توزیع شده

    فهرست:

    فهرست مطالب                                                                                                  

    فهرست شکلها                                                                                                       

    فصل اول: مقدمه                                                                                                      

      1: تشریح مسئله                                                                                              

      2: چالشها                                                                                                                  

    فصل دوم: مفاهیم اولیه و کار های پیشین                                                                       

      1: پردازش تقاضا                                                                                                    

    : تجزیه تقاضا                                                                                                           

    :  بهینه سازی تقاضا                                                                                                  

    : اجرای تقاضا                                                                                                      

    : روشهای بهینه سازی تقاضا                                                                                 

    : تقاضای  تحت رتبه ‌بندی                                                                                

    : کارهای پیشین                                                                                             

    : یک دستاورد مبتنی بر هرس کردن برای پشتیبانی اتصال تقاضاها یی با K جواب بهتر                 

        4-1-1: مساله مورد بررسی                                                                                                    

        4-1-2: معماری کلی روش                                                                                                   

    : بهینه سازی تقاضای تحت رتبه بندی                                                                  

        4-2-1: رتبه بندی تجمعی                                                                                     

        4-2-2: عملگرهای تقاضای اتصال رتبه بندی                                                                               

        4-2-3: بهینه سازی تقاضا بر پایه هزینه                                                                                      17

        4-2-4: طرح شمارش با استفاده از برنامه نویسی پویا                                                                       17

        4-2-5: توسعه فضای شمارشی                                                                                                18

        4-2-6: طرح های هرس                                                                                                       19

    : بهینه سازی تطبیقی تقاضا های تحت رتبه بندی در پایگاه داده های رابطه ای                            22

              4-3-1: اجرای تطبیقی تقاضای رتبه‌بندی                                                                                        23

                  4-3-2: اصلاح و استفاده‌ی مجدد طرح‌های رتبه‌بندی                                                                   23  

                  4-3-3: تغییر طرح بر اساس بهینه‌ساز:                                                                     25

                  4-3-4: شیوه طرح اکتشافی تغییر برای تاخیرهای غیرمنتظره                                                  25

    : بهینه سازی تقاضای محدود شده بهK                                                                            26

                 4-4-1: استنتاج فضای وضعیت ایندکس                                                                                  28

                 4-4-2: وضعیت  هدف                                                                                                     29

                 4-4-3: الگوریتم *OPT                                                                                                     32

    فصل سوم: روش پیشنهادی                                                                                     34

      1: بیان برخی از نقصهای کارهای پیشین                                                                      35

      2: تجزیه کننده تقاضا                                                                                         36

      3: بهینه سازی تقاضای تحت رتبه بندی در سیستم متمرکز                                                  37

      3-1: بهینه سازی تقاضای تحت رتبه بندی در سیستم متمرکز مبتنی بر هرس کردن ورودی رابطه ها                38

                 3-1-1: ساختار کلی الگوریتم                                                                                                         40

       3-2: بهینه سازی تقاضای تحت رتبه بندی در سیستم متمرکز با الهام گرفتن از جستجوی آگاهانه              48

      4: بهینه سازی تقاضای تحت رتبه بندی در سیستم توزیع شده                                              57

      4-1: بهینه سازی تقاضای تحت رتبه بندی در سیستم توزیع شده مبتنی بر هرس کردن ورودی رابطه ها                 61

      4-2: بهینه سازی تقاضای تحت رتبه بندی در سیستم توزیع شده با الهام گرفتن از جستجوی آگاهانه                  72

    فصل چهارم: پیاده سازی و آزمایشها                                                                          74                                                                            

      1: پیاده سازی های انجام شده                                                                                75

      2: پایگاه داده های نمونه                                                                                      77

      3: پارامترهای مورد نظر برای مقایسه روشها                                                                 79

      4: آزمایشهای انجام شده                                                                                      80

    فصل پنجم: نتایج و پیشنهادها                                                                                   91

      1: نتایج                                                                                                        92

      2: پیشنهادها                                                                                                           92

    مراجع                                                                                                                   

    منبع:

    [1] Bennet, Kristin, “A Genetic Algorithm for Database Query Optimization”, Technical Report, University of Wisconsin,1997.

    [2] Bernstein, P. A., N. Goodman, “Query Processing in a System for Distributed Database ”, ACM Transactions Database System, 6(4): 602-625, December 1981.

    [3] Bitton, D., H. Boral, D. J. Dewitt, W. K. Wilkinson, “Parallel Algorithms for the Execution of Relational Database Operations”, ACM Transactions Database System, 8(3): 324-353, Sept. 1983.

    [4] Chen, Zhiyuan, “Query Optimization in Compressed Database Systems”, In Proceedings of the ACM SIGMOD, May 2001.

    [5] Connolly, Thomas, “Database Systems”, 3rd ed., Addison-Wesley, USA, 2002.

    [6] Date, C.J., “An Introduction to Database Systems”, 7th ed., Addison-Wesley, USA, 2000.

    [7] Graefe, G., D. Dewitt. “The EXODUS optimizer generator”, In Proceedings of the ACM SIGMOD Conference on Management of Data, 160-172, May 1987.

    [8] Graefe, G., W. J. Mckenna, “The volcano optimizer generator: Extensibility and efficient search”, In Proceedings of the 9th International Conference on Data Engineering, 209-218, April 1993.

    [9] Ilyas, I. F., W. G. Aref, A. K. Elmagarmid, H. G. Elmongui, R. Shah and J. S.Vitter, “Adaptive Rank-aware Query Optimization in Relational Databases”, ACM Transactions on Database Systems, 2006.

    [10] Ilyas, I. F., R. Shah, W. G. Aref, J. S. Vitter, and A. K. Elmagarmid, “Rank-aware query optimization”, In Proceedings ACM SIGMOD International Conference on Management of Data, 203–214, 2004.

    [11] Ilyas, I. F., W. G. Aref, A. K. Elmagarmid, “Supporting Top-k Join Queries in Relational Databases”, In Proceedings 29th International Conference on Very Large Data Bases, 754–765, 2003.

    [12] Ilyas, I. F., C. Li, K. Chang and S. Song, “Ranksql: Query algebra and optimization for relational top-k queries”, In Proceedings ACM SIGMOD International Conference on Management of Data, 2005.

    [13]Ioannidis, Y. E., Y. C. Kang, “Randomized algorithms for optimizing large join queries”, In Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, 312-321, May 1990.

    [14] Jarke, Matthlas, Jijrgen Koch, “Query Optimization in Database Systems”, ACM Computing Surveys, 16(2), June 1984.

    [15] Kossmann Donnald, Konrad Storcker, “Iterative Dynamic Programming: A New Class of Query Optimization Algorithms”, ACM Transactions on Database Systems, 25(1): 43–82, March 2000.

    [16] Lanzelotte, R., P. Valduries, M Zait, “On the effectiveness of optimization search strategies for parallel execution spaces”, In Proceedings of the Conference on Very Large Data Bases, 493-504, Auguest 1993.

    [17] Lee, S.G., “Identifying element constraints for semantic Query Optimization”, Information and Software Technology 42, 2000.

    [18] Legaria, Galindo, C. Pellenkoft, A. Kersten, M. Fast, “randomized join-order selection why use transformations”, In Proceedings of the 20th International Conference on Very Large Data Bases, 85-95, September 1994.

    [19] Liu, Jie, Liang Feng, and Yunpeng Xing, “A Pruning-based Approach for Supporting Top-K Join Queries”, ACM Transactions on Database Systems, Edinburgh, Scotland, May 2006.

    [20] Ono, K., G. Lohman, “Measuring the complexity of join enumeration in query optimization”, In Proceedings of the 16th International Conference on Very Large DataBases, 314-325, August 1990.

    [21] Palermo, F. P., “A data base search problem”, In Information Systems COINS IV, 67-101, 1974.

    [22] Ramakrishnan, Raghu, “Database Management Systems”, WCB/Mc Graw Hill, Singapore, 1999.

    [23] Selinger, P. G., M. M. Astrahan, R. A. Lorie, T. G. Price, “Access path selection in a relational database management system”, In Proceedings of the ACM SIGMOD International Conference on Management of Data, 23-34, May-June 1979.

     [24] Shekita, E., H. Young, K. Tan, “Multi-join optimization for symmetric multiprocessors”, In   

          Proceedings Conference on Very Large Data Bases, 479-492, Auguest 1993.

    [25] Silberschatz, Henry F., “Database System Concepts”, 3th ed., WCB/Mc Graw Hill, USA, 1999.

    [26] Sloan Jan, Christopher D. Henry, Melanie Hopkins and Steve Ludington, “National  

         Geochronological Database”, Geological Survey,1999.

    [27] Steinbrunn, M., G. Moerkotte, A. Kemper, “Heuristic and randomized optimization for the join  

         ordering problem”, 191-208, Auguest 1997.

    [28] Swami, A., “Optimization of large join queries: Combining heuristics and combinational  

         techniques", In Proceedings of the ACM Conference on Management of Data, 367-376, May 1989.

    [29] Tanenbaum, Andrew S., Maarten VanSteen, “Distributed System principles and paradigms”, 2th

         ed., Prentice Hall,USA,  2002.

    [30] Wang, Jiunn-Chin, Jorng-Tzong Horng, Yi-Ming Hsu, “A genetic algorithm for set query

         optimization in distributed database systems”, IEEE International Conference on Systems, Man,  

         and Cybernetics, 3: 14-17, October 1996.

    [31] Zhang, Z., S.Hwang, K. ChenChuan, Ch.M. Wang, Ch. A. Lang, Y. Chang, “Boolean + Ranking:  

         Querying a Database by KConstrained Optimization”, In Proceedings of the ACM SIGMOD,

         Chicago, Illinois, USA, June 2006.

    ]32[ روحانی رانکوهی، سید محمد تقی، ”سیستمهای مدیریت پایگاه داده(مفاهیم و تکنیکها “، چاپ اول، انتشارات جلوه، تهران، 1383.

    ]33[ روحانی رانکوهی، سید محمد تقی، ”سیستم و ساختار فایلها“، چاپ دوازدهم، انتشارات جلوه، تهران، 1381.

ثبت سفارش
عنوان محصول
قیمت