طراحی وبسایت ارزان وب سایت شرکتی وب سایت رایگان

طراحی وب سایت ارزان

طراحی وب سایت ارزان وب طراحی شخصی و شرکتی

طراح وب سایت شرکت

طراح وبسایت

نیکا نیکا کامپیوتر طراحی اسکریپت اختصاصی طراحی اسکریپت شرکتی نیکاکامپیوتر website design ماژول طراحی وب سایتها بهترین طراحی طراحی وب سایت ارزان وبسایت ارزان نرم افزار وب سیستم مدیریت طراحی وب وب طراحی رتبه سایت افزایش رتبه طراحی قالب وب سایت طراح قالب اختصاص csm سامانه اینترنتی اندرویدی اموزش طراحی آموزش طراحی وبسایت مقاله وبسایت پکیج سئو اموزش طراحی وب سایت Website design seo package script website seo وبسایت شخصی طراحی وبسایت سازمانی ارزان رایگان طراحی وبسایت رایگانی وبسایت ها بسته های تخفیفی وبمستر


مقایسه کلی موتورهای ذخیره سازی در MYSQL

چهارشنبه ، ۲۷ اردیبهشت ۱۳۹۶ , ۲۲:۴۶ ۱۰۵۰ مقایسه کلی موتورهای ذخیره سازی در MYSQL

در مبحث بانک های اطلاعاتی موارد مهمی هستند که قبل از کار با آنها می بایست این موارد را آموخت و بکار گرفت . یکی از این مباحث موتورهای ذخیره سازی در بانک های اطلاعاتی است . در ادامه به معرفی و مقایسه انواع موتورهای ذخیره سازی در بانک اطلاعاتی mysql پرداخته خواهد شد . موتورهای ذخیره سازی در Mysql ابزارهایی هستند که کار ذخیره و بازیابی اطلاعات را برای جداول انجام می‌دهند. پرکاربردترین موتور ذخیره سازی InnoDB است که استفاده از آن در بیشتر موارد توصیه شده است.

انواع موتورهای ذخیره سازی در Mysql عبارتند از

  • InnoDB: این موتور پرکابردترین موتور ذخیره سازی است. این موتور از transaction پشتیبانی می‌کند و نیز دارای امکان crash-recovery است که در صورت آسیب دیدن جدول، به بازیابی آن کمک می‌کند. قفل (lock) در سطح رکورد و نیز عدم قفل شدن  کل جدول در عملیات ثبت و ویرایش ردیف‌ها، باعث کارایی بالای این موتور شده و آن را به موتور ذخیره سازی ایده آل برای سیستم‌های چند کاربره تبدیل کرده است.  همچنین این موتور از کلید خارجی پیشتیبانی می‌کند. از نسخه 5.5.5 به بعد، InnoDB موتور ذخیره سازی پیش فرض Mysql است.
  • MyISAM: جداول با این موتور ذخیره سازی فضای کمتری از دیسک را نسبت به سایر موتورهای ذخیره سازی اشغال می‌کنند. قفل در سطح جدول در این موتور ذخیره سازی باعث کاهش کارآیی در محیط‌هایی می‌شود، که در آنها نیاز به خواندن و نوشتن همزمان است. بنابراین، این موتور ذخیره سازی بیشتردر محیط‌هایی استفاده می‌شود که در آنها فقط نیاز به خواندن اطلاعات است، یا دفعات خواندن بمراتب بیشتر از دفعات نوشتن است؛ نظیر وب و انباره داده. برخلاف InnoDB، این موتور ذخیره سازی از full-text-search پشتیبانی می‌کند.
  • Memory: این موتور، اطلاعات جدول را جهت دسترسی سریع در RAM ذخیره می‌کند.
  • CSV: جداول در این موتور، در واقع فایل‌های متنی comma-separated هستند. بیشترین استفاده این نوع جداول در import/export است.
  • Archive: این نوع از جداول کم حجم و فشرده بوده وامکان شاخص گذاری (Indexing) ندارند. این نوع جدول، معمولاً در موارد زیر استفاده می‌شود:
    1. ذخیره و بازیابی حجم بالای اطلاعاتی که به ندرت به آنها نیاز داریم.
    2. آرشیو اطلاعاتی.
    3. ذخیره اطلاعات امنیتی.
  • Blackhole: این نوع جدول اطلاعات را گرفته ولی ذخیره نمی‌کند و مانند /dev/null در یونیکس است. این نوع جدول برای replication، بررسی سربار وارده به سرور هنگامی که binary-logg فعال است، و ... استفاده می‌شود.
  • Merge: این موتور ذخیره سازی امکانی را فراهم می‌کند که مدیر پایگاه داده، یک سری از جداول یکسان MyISAM را بطور منطقی دسته بندی کرده و بعنوان یک شی واحد درنظر بگیرد. این موتور ذخیره سازی برای محیط‌های با پایگاه‌های داده بسیار بزرگ، نظیر انبار داده، مناسب است.
  • Federated: این موتور ذخیره سازی امکانی را فراهم می‌آورد که چند سرور Mysql که ازنظر فیزیکی جدا هستند، به هم متصل شوند و یک پایگاه داده مجازی را تشکیل دهند. از اینرو، برای محیط‌هایی که اطلاعات توزیع شده دارند، نظیر بازارها و مراکز بازرگانی و ... مناسب است.

در بین موتورهای ذخیره سازی که شرح داده شد، InnoDB و MyISAM از بقیه پرکاربردتر هستند و بقیه به ندرت و در موارد خاص استفاده می‌شوند.

و در نهایت ، ایا InnoDB یا MyISAM ؟ انتخاب کدام است ؟

برای موارد روزمره، معمولاً یکی از دو موتور ذخیره سازی InnoDB و MyISAM استفاده می‌شود. ولی چگونه تصمیم بگیریم که از کدام استفاده کنیم؟

  • InnoDB بدلیل داشتن قفل در سطح رکورد و نیز داشتن cache، مناسب محیط‌های چند کاربره است. در حالی که MyISAM از قفل در سطح جدول استفاده می‌کند که آن را مناسب محیط هایی کرده است که درخواست خواندن نسبتا بیشتری دارند.
  • در مواردی که اطلاعات مهم و حساس باشند، InnoDB بدلیل داشتن سیستم crash-recovery جهت بازیابی اطلاعات، بعد از خطاهای احتمالی و نیز داشتن مکانیسم داخلی تشخیص خطاهای نرم افزاری و سخت افزاری، از ایجاد خطا در اطلاعات یا از بین رفتن اطلاعات جلوگیری می‌کند.
  • InnoDB مقدار حافظۀ بیشتری از MyISAM استفاده می‌کند و نیز فایل‌های فیزیکی آن نیز از MyISAM حجیم‌تر هستند. بنابراین در مواردی که سرور شما در ارائه منابع، محدودیت دارد، MyISAM گزینه بهتری به‌نظر میرسد.

در نهایت، انتخاب موتور ذخیره سازی به عوامل زیر بستگی دارد:

  • بستر.
  • نوع اطلاعاتی که باید ذخیره شود.
  • سرعت.
  • تعداد کاربران.
  • و مواردی نظیر این.

 

مقایسهکلیموتورهایذخیرهسازیدرMYSQL



شما هم دراین باره نظر بدهید !