MYSQL چیست؟ بررسی انجین های MYSQL

MYSQL چیست؟ بررسی انجین های MYSQL

MYSQL یکی از محبوب ترین دیتابیس سرورهاست که به صورت پیش فرض روی بیشتر سرورهای هاستینگ لینوکس قرار دارد.

MYSQL چیست؟

MYSQL همانطور که گفته شد یک دیتابیس سرور است که در بین کاربران از محبوبیت زیادی برخوردار است. و این دیتابیس به صورت پیش فرض روی سرورهای هاست، CPanel، دایرکت ادمین و Plesk لینوکس نصب می باشد.

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

نسخه تجاری دیتابیس سرور MYSQL به نام  Enterprise است که قابلیت های بسیار زیادی دارد. شرکت های تجاری بزرگ و سایت های قدرتمند از این نسخه استفاده می کنند چون نسخه رایگان ممکن است برای آنها کارایی لازم را نداشته باشد.

 

میتوان با اطمینان گفت که دیتابیس سرور MYSQL یکی از بهترین ها در دنیاست که مزایای زیادی دارد. در اینجا به تعدادی از مزیت های آن می پردازیم :

  • ارائه نسخه رایگان و اپن سورس دیتابیس MYSQL بدون نیاز به پرداخت هزینه لایسنس.
  • دیتابیس MYSQL بیشتر سیستم عامل ها را پشتیبانی می کند.
  • MYSQL  یک دیتابیس با کاربرد بسیار راحت و سریع حتی هنگام کار با دیتابیس های حجیم است.
  • دیتابیس MYSQL در کلیه زبان های برنامه نویسی استفاده می شود.

دیتابیس MYSQL و موتورهای myisam وinnodb و csv

تمام دیتابیس سرورها برای پردازش دستورات خود از موتورهای انجین پشتیبانی می کنند. در واقع نقطه عطف دیتابیس سرور MYSQL موتورهای Engine آن هستند که با توجه به نیاز دیتابیس و مزایا و معایب هر کدام از آن ها می توان یکی از موتورها را انتخاب کرده و از آن استفاده کرد.

 

موتورهای Engine  دیتابیس سرور Mysql عبارتند از:

MyISAM

InnoDB

MEREGE

Memory Heap

ARCHIVE

CSV

FEDERATED

تمام این موتورهای انجین مزایا و معایبی دارند که با توجه به آنها دیتابیس سرور MYSQL می تواند بهترین انتخاب را برای استفاده از هر یک از آن ها داشته باشد. در این قسمت به بررسی موتورهای انجین می پردازیم.

نقشه MYSQL و انجین های آن

MyISAM

مهمترین ویژگی این Engine استفاده بهینه از منابع موجود در سرور است. مدیران سایت همیشه در تلاشند که مصرف منابع سرور را بهینه سازی کنند به خصوص اگر منابع سرور محدود باشند. پس مصرف درست منابع و بهینه سازی آن از اهمیت بالایی برخوردار است و همیشه مورد توجه مدیران سرور بوده است.

موتور MyISAM در جدول های بزرگ با ایندکس گذاری و همچنین کلیدهای اصلی میتواند بهترین عملکرد  را در Query یک SQL سرور برای کاربر ایجاد کند.

این موتور نه تنها از نظر بهینه سازی منابع بسیار عالی عمل می کند بلکه استفاده از آن بسیار ساده و راحت است و نوشتن تمام نرم افزارهایی که با موتور MyISAM سازگار هستند بسیار سریع و راحت است.

موتور InnoDB

از مزیت های موتور InnoDB که مورد توجه متخصصان برنامه نویسی قرار گرفته مصرف بیش از حد از Ram سرور است. هر چند برخی متخصصان معتقدند که موتور InnoDB به دلیل مصرف غیر بهینه حرفی برای گفتن در مقابل موتور MyISAM ندارد اما باید به این نکته توجه کنند که همه امکانات موتور InnoDB را مورد بررسی قرار دهند.

این موتور به دلیل این که در برابر پردازش های موازی OLTP (ترنزکشن) و همینطور پاسخگو بودن این موتور در محیط های عملیاتی می توان گفت مصرف میزان Ram در این Engine بسیار بهینه است.

موتور InnoDB در مبحث Cluster statues نتایج بسیار عالی بوجود آورده است. همچنین این موتور به دلیل داشتن قابلیت Clustering از موتورهای دیگر MYSQL پیشی گرفته است.

یکی دیگر از مزیت های این Engine قابلیت (Fail Recovery  (Crash recovery است که باعث می شود بسیار سریع و راحت زمان کرش کردن دیتابیس ریکاوری شود.

یکی از معایب موتور InnoDB این است که در پردازش های بالا با حجم بالای دیتابیس در صورت کمبود منابع ممکن است کارایی لازم را نداشته باشد. البته این انجین تکنیک های بسیار جالبی دارد که باعث رسیدن به نتیجه سریع می شود. یکی از این تکنیک ها ایجاد یک جدول با اندیس های مرتب برای Query هاست که باعث می شود سرعت دسترسی به داده ها بسیار بهینه شود. اما همین ویژگی باعث استفاده بیش از حد از Ram سرور می شود.

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

موتور MERGE

موتور MERGE که نام دیگر آن MRG_MYISAAM است در واقع به صورت کاملا منطقی با استفاده از یک روش خاص جدول های MyISAAM را ادغام می کند که این عمل باعث می شود سرعت افزایش یابد.

موتور Memory

موتور Memory در هاستینگ کاربرد چندانی ندارد. زیرا این موتور برای ذخیره سازی و پردازش داده ها از Ram استفاده می کند و عمر آن بستگی به تایم فعال سرور دارد.

البته به این نکته توجه کنید که MyISAAM که نام دیگر آن HEAP است بسیار سریعتر عمل می کند.

موتور Archive

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

موتور CSV

موتور CSV داده ها را بوسیله کاما از هم جدا کرده و به صورت فرمت CSV ذخیره می کند و این موتور داده های NULL را پشتیبانی نمی کند.

 

سخن آخر

موتورهای دیتابیس MYSQL قابلیت ها و کارایی زیادی دارند که باعث شده بین کاربران از محبوبیت زیادی برخوردار باشند. در این مقاله ما به بخشی از این قابلیت ها اشاره کردیم.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.