1 / 27

ارزیابی کارآیی موتورهای ذخیره سازی InnoDB و Falcon در MySQL

ارزیابی کارآیی موتورهای ذخیره سازی InnoDB و Falcon در MySQL. استاد راهنما: دکتر رهگذر. ارائه دهنده: هما برادران هاشمي. زمستان 87. فهرست مطالب. بررسی موتورهای ذخیره سازی در MySQL مروری بر محیط تست و اسکریپت‌های نوشته شده روش ارزیابی نتایج ارزیابی جمع‌بندی منابع.

terrian
Download Presentation

ارزیابی کارآیی موتورهای ذخیره سازی InnoDB و Falcon در MySQL

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. ارزیابی کارآیی موتورهای ذخیره سازیInnoDB و Falconدر MySQL استاد راهنما: دکتر رهگذر ارائه دهنده: هما برادران هاشمي زمستان 87

  2. فهرست مطالب بررسی موتورهای ذخیره سازی در MySQL مروری بر محیط تست و اسکریپت‌های نوشته شده روش ارزیابی نتایج ارزیابی جمع‌بندی منابع

  3. مروری بر MySQL محبوب‌ترین پایگاه داده منبع آزاد • MySQL • قابلیت اطمینان بالا • کارآیی مناسب • آسانی استفاده • کم هزینه • معایب نسخه‌های اولیه MySQL • نبود دید (view) • نبود روال‌های ذخیره شده(store procedure) • نبود تریگرها • پشتیبانی از انواع داده‌ فضایی در نسخه‌های جدید

  4. موتور ذخیره سازی چیست؟ (Storage Engine) • معماری نسخه‌های ابتدایی MySQL • لایه SQL: مسئول تمام عملیات سطح بالا • لایه Storage: مسئول ذخیره سازی، تراکنش‌ها و غیره • تغییر معماری در MySQL 5.1 به بعد • وجود یک لایه رابط موتور ذخیره‌سازی پیمانه‌ای • قابلیت کامپایل جداگانه موتور ذخیره سازی و بارگذاری آن در سرور • ترویج توسعه موتورهای ذخیره سازی داخلی و خارجی • بنابراین افزایش تعداد زیادی از آنها

  5. معماریMySQL ماژول‌های مختلف موجود در‌‌MySQLبا نامگذاری براساس وظایفشان

  6. موتور ذخیره سازی چیست؟ (ادامه) • موتورهای ذخیره سازی مسئول ذخیره سازی داده‌ها • توانایی پیاده سازی • مفاهیم ذخیره سازی متفاوت • انواع فایل‌‌ها • ذخیره سازی از راه دور • پیمایش کارآ • عدم توانایی رفتار با توابع سطح بالا • Sorting • Group by • Limit • برآوردن این انتظارات در نسخه‌های آینده MySQL • بعضی از فروشندگان (همانند Kickfire) • دست‌کاری کد • قطع پردازش query • اجرای آن توسط موتور پردازشی جدید

  7. انواعموتورهای ذخیره سازی • موتورهای ذخیره سازی عمومی • تراکنشی • Innodb, Falcon, PBXT, Maria (future) • غیر تراکنشی • MyISAM, ISAM (dead),Maria(current) • موتورهای ذخیره سازی خوشه بندی • NDB, ScaleDB (CloseSource) • موتورهای ذخیره سازی خاص منظوره • Memory, Federated, Archive,Blackhole, CSV, NitroDB(CS), SphinxSE , InfoBright(CS), Queue, Graph(CS)

  8. موتورهای ذخیره سازی در MySQL(انواع جداول) عدم پشتیبانی از Transaction و کلید خارجی سرعت بیشتر پشتیبانی از Transaction و کلید خارجی تراکنش امن در سال 2001 به همراه نسخه MySQL-3.23.34a ISAM MyISAM BDB (BerkeleyDB) InnoDB Falcon

  9. موتور ذخیره سازی MyISAM CREATE TABLE articles (articleIDint not null auto_increment primary key,title varchar (2MERGE),body text,fulltext (title,body)); SELECT titleFROM articleWHERE MATCH (title, body) AGAINST ('miniprogrammer'); • بهینه سازی برای • افزایش سرعت • قابلیت اطمینان • ذخیره سازی سریع • ارائه تراکنش‌های غیر امن • امکان FullText Searching • جستجو برای یک کلمه یا رشته در یک متن • پشتیبانی از stemming

  10. موتور ذخیره سازیInnoDB • شروع نوشتن InnoDB 10 سال پیش • هدف نویسنده: • جستجوی راهی برای توسعه کارآیی پایگاه داده‌های سنتی • پشتیبانی کامل از سطح‌های جداسازی SQL • براي تراكنش هاي ACID • بهتر كردن زمان پاسخ توسط • MVCC(multi-version concurrency control ) • قفل گذاري سطح پايين (بر روي سطر) • Fuzzy Checkpointing • كلاستر كردن توسط كليد اصلي و نوشتن بر روي صفحات يكسان

  11. مزایای موتورهای ذخیره سازی InnoDB • امن‌تر • هنگام خرابی MySQL و یا سخت‌افزار • روش ترمیم خودکار از طریق داده‌های پشتیبان به همراه logهای تراکنش‌ها • پشتیبانی از کلید‌های خارجی • افزایش همزمانی • قفل در سطح سطر • خواند‌ن‌های بدون قفل در دستورات SELECT (مشابه Oracle) • برگشت تغییرات انجام شده توسط دستور ROLLBACK نیاز به امن بودن تراکنش موجب افزایش زمان اجرا، فضای دیسک و حافظه

  12. نتیجه کوئری خواندن یک سطر توسط کلید اصلی

  13. نتیجه کوئری خواندن چند سطر توسط کلید اصلی

  14. نتیجه کوئری خواندن چند سطر توسط کلید اصلی به همراه LIMIT

  15. خواندن چند سطر توسط کلید به همراه مقدار ذخیره شده در آن

  16. نتیجه کوئری خواندن چند سطر توسط کلید اصلی به همراه مقدار ذخیره شده در آن باLIMIT

  17. نتیجه کوئری خواندن یک سطر توسط کلید اصلی و INDEX

  18. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید اصلی

  19. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید اصلی و INDEX

  20. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید

  21. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید به همراه LIMIT

  22. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید به همراه مقدار ذخیره شده در آن

  23. نتیجه کوئری خواندن محدودای‌ از سطرها توسط کلید به همراه مقدار ذخیره شده در آن وLIMIT

  24. نتیجه کوئری خواندن کوچکترین مقدار

  25. نتیجه گیری و جمع‌بندی (ادامه) • نقاط ضعف InnoDB • سرعت توسعه کم در سال‌های اخیر • هنوز داشتن مشكل با چندین CPU • هنوز داشتن مشكل در یکپارچه شدن آن با MySQL

  26. منابع • Bannon, Chin, Kassam, and Roszko, “InnoDB Concrete Architecture”. Waterloo, Ontario: Software Architecture Group, University of Waterloo, 2002 • Leon Atkinson, “Core MySQL”, Prentice Hall PTR,ISBN 0-13-00661902, 2002. • Silberschatz, H. Korth and S. Sudarshan, “Database system concepts”, Mc Graw Hill 4th Edition, ISBN 0-07-112268-0, 2002. • MySQL reference manual, available at http://www.mysql.org. • Atkinson, Leon. Core, “MySQL: The Serious Developer’s Guide.” New Jersey: Prentice Hall Publishing, 2002. • http:// www.innoDB.com

  27. با تشكرسؤال

More Related