نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: مقایسه موتور های ذخیره سازی Innodb و MyISAM

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #4
    عضو انجمن Marketer آواتار ها
    تاریخ عضویت
    Sep 2015
    محل سکونت
    /#Root
    نوشته ها
    122
    تشکر تشکر کرده 
    84
    تشکر تشکر شده 
    80
    تشکر شده در
    67 پست

    پیش فرض پاسخ : مقایسه موتور های ذخیره سازی Innodb و MyISAM

    نقل قول نوشته اصلی توسط git نمایش پست ها
    MariaDB با mysql چه فرقی داره؟
    موتور های پایگاه داده myISAM و InnoDB ، تفاوت ها و نقاط ضعف و قدرت هر کدام !
    بخش بسیار زیادی از کاربران امروزی در پایگاه داده های معروف با این سوال مواجه شده اند که ایا innoDB ارزش استفاده را دارد یا خیر ؟
    من همیشه برای موتور های ذخیره سازی خودم از innoDB استفاده می کنم . کاربری آسان ، قدرت کنترل دوره نقاهت در سیستم های پایگاه داده ، پشتیبان گیری آنلاین آسان تر و رفع مشکل قفل شدن کل جدول در سیستم های myISAM و بسیاری موارد دیگر که به تفکیک در ادامه مقاله امده است .
    ولی با تمام این موارد هنوز هم باید نکاتی را در نظر گرفت .
    دلیل استفاده از myISAM ؟ فقط به خاطر پیش فرض بودن در سیستم یا قابل انتخاب بودن ان است ؟ خیلی وقت ها این سوال مهمی برای یک معمار دیتابیس می باشد ! مدیران پایگاه داده متاسفانه در بسیاری از موارد به دلیل پیش فرض بودن myISAM از آن استفاده می کنند ولی در مواردی هم از این موتور ذخیره سازی به شکل کاملا هوشمندانه و بهینه شده استفاده می شود .
    حالا اگر شما هم می خواهید به صورت هوشمندانه از سیستم استفاده کنید پیشنهاد می کنم حتما موارد زیر را مطالعه کنید :
    مقایسه از جوانب مثبت و منفی
    در دو نوع اصلی موتور های ذخیره سازی در پایگاه داده ، myISAM & InnoDB می توان به موارد زیر اشاره کرد :
    innoDB موتور ذخیره ساز جدید تری است در حالی که myISAM گسترده تر است .
    innoDB پیچیدگی های بیشتری نسبت به MyISAM ساده دارد .
    innoDB در نگهداشت داده ها پاسخگو تر است به نسبت myisam
    Innodb از transaction ها پشتیبانی می کند در حالی که myISAM این قابلیت را ندارد .
    innoDB دارای قابلیت کلید خارجی برای ارتباط های محدود در حالی که myisam ان را پشتیبانی نمی کند .
    myISAM قابلیت full-text در ایندکس ها را دارد ولی InnoDB پشتیبانی نمی کند ( توضیح مختصری در مورد fulltext در انتهای مقاله آمده است )
    درست است در بسیاری از موارد بالا Innodb نقاط قوتی دارد که مطرح شده است ولی هر کدام از این دوتا موتور ذخیره سازی توانایی و ضعف هایی را دارند که معمار دیتابیس پروژه بر اساس نیاز میتواند یکی را انتخاب کند .
    به طور خلاصه به مواردی که در ادامه مقاله آمده است توجه فرمایید :
    معایب استفاده از Innodb :
    به دلیل اینکه در Innodb شما نیاز به مراقبت از تمام روابط بین جداول درون پایگاه داده را دارید لذا معمار دیتابیس شما نیاز به گذاشتن زمان بیشتری برای طراحی به نسبتmyisam می باشد .
    استفاده از فضا اصلی سیستم بیشتری نسبت به Myisam می باشد . که البته وقتی در سایت خود mysql یا اوراکل شما مطالعه می کنید اکیدا بر این نکته اشاره دارد که در صورتی که ساختار پایگاه داده شما در حالت Innodb نمی باشد موتور Innodb نصب شده ( سرویس ) ان را خاموش کنید .
    ناتوانی در پشتیبانی از قابلیت های transaction برای پایگاه داده های حساس
    مزایای استفاده از Myisam :
    طراحی و پیاده سازی بسیار ساده ، بنابراین بهترین راهکار برای مبتدیان در پروژه های پایگاه داده می باشد .
    عدم نیاز به طراحی برای روابط خارجی در بین جداول
    در پایگاه داده های سبک ، بسیار سریع تر از innodb می باشد ، پس هزینه نگهداری سرور هم نیز پایین تر است .
    امکان فشرده سازی داده ها برای سرعت بیشتر در هنگام select گرفتن از جداول
    معایب myISAM :
    عدم مدیریت تمامیت داده ها ، ارتباط بین جداول ، هنگامی که این عیب وجود داشته باشد در واقع مسئولیت درست کردن رابطه بین جداول فرآیندی سربار می شود برای برنامه نویس های پروژه .
    توانایی پشتیبانی از transaction ها که در برنامه های کاربردی و حساس مانند بانکداری بسیار مورد توجه می باشند را ندارد
    در حالتی که قرار است رکورد ها بالا مدیریت شوند توسط پایگاه داده ، بسیار کند تر از InnoDB می باشد مثلا برای اضافه کردن یک رکورد خاص ، کل جدول را قفل می کند و بعد از اتمام کار آزاد سازی جدول را انجام می دهد .
    نتیجه : مقایسه را می توان ساده کرد اگر بخواهیم در سیستم به روز رسانی ها مکرر داشته باشیم باید از Innodb حتما استفاده کنیم و اگر از سوی دیگر ، فقط در سیستم نیاز کلی به انتخاب و نمایش و اضافه کردن رکورد ها در حد پروژه های ساده تر می باشد حتما از myISAM استفاده کنید .
    پ . ن : Full Text Search امکان index کردن و جستجوی دیتای متنی را بر مبنای لغات کلیدی در SQL Server فراهم می کند . بر خلاف LIKE که محدوده عمل آن روی کاراکترهاست ، Full Text Search بر روی کلمات بر مبنای زبان متن ، پرس و جو انجام می دهد . اختلاف سرعت Full Text Search و LIKE در زمانی که می خواهیم یک Query را بر روی چند میلیون رکورد اجرا کنیم بسیار مشهود است . اگر با LIKE دنبال یک ترکیب بگردیم ، تهیه گزارش ممکن است چندین دقیقه طول بکشد در حالی که استفاده از Full Text Search آن را به چند ثانیه کاهش می دهد .
    Soon

  2. تعداد تشکر ها از Marketer به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. MyISAM یا InnoDB کدام یک بهتره
    توسط entel در انجمن دايرکت ادمين DirectAdmin
    پاسخ ها: 3
    آخرين نوشته: September 22nd, 2016, 13:14
  2. تغییر جداول دیتابیس از MyISAM به InnoDB
    توسط joomla2 در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: June 10th, 2016, 10:49
  3. سوال : innodb یا myisam
    توسط raminramz در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: November 23rd, 2014, 08:13
  4. تغییر نوع جداول از InnoDB به MyISAM
    توسط Ashkankamangar.ir در انجمن سوالات و مشکلات
    پاسخ ها: 10
    آخرين نوشته: December 7th, 2012, 01:30
  5. myIsam و InnoDB و یک سوال بسیار کلیدی
    توسط konjkav در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: November 26th, 2011, 11:12

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •