خانه / NewSQL & SQL / مقایسه و انتخاب / نگاهی اجمالی به نسخه های مختلف مای اس کیو ال – MySQL
Mysql

نگاهی اجمالی به نسخه های مختلف مای اس کیو ال – MySQL

در نوشتار بررسی محبوبیت بانک های اطلاعاتی  مشاهده کردیم که مای اس کیو ال رتبه دوم محبوبیت را بعد از اوراکل به خود اختصاص داده است (البته با اتکا به آمار سایت DB-Engines ) بنابراین مای اس کیو ال می تواند یک انتخاب مناسب برای اغلب پروژه های تجاری امروزی باشد بخصوص اینکه  رایگان است و دارای جامعه کاربری و حرفه ای قوی در سراسر دنیاست. با این وجود دو نسخه اصلی از این بانک اطلاعاتی امروزه در دنیا موجود است و موتورهای ذخیره سازی متفاوتی هم برای آنها وجود دارد که برای یک انتخاب درست، نیاز به اطلاعات کاملتری داریم که در این مقاله سعی شده است به صورت خلاصه و با ذکر منابع مختلف، این اطلاعات در اختیار علاقه مندان قرار گیرد.

به صورت خلاصه ، در سال ۱۹۹۵ شرکت سوئدی MySQL AB اولین نسخه مای اس کیو ال را روانه بازار کرد که محبوبیت زیادی طی سالیان آتی در بین جوامع برنامه نویسی و کسب و کارهای کوچک به دست آورد. این امر باعث شد تا  اوراکل از سال ۲۰۰۵ شروع به خریدن بعضی از شرکتهای کوچک مرتبط با مای اس کیو ال کرد مانند Innobase که فراهم کننده یک موتور ذخیره سازی نوین تراکنشی با نام InnoDB بود. در سال ۲۰۰۸ شرکت سان مایکروسیستمز، مای اس کیو ال را به قیمت ۱ میلیارد دلار خرید و ابتدای سال ۲۰۱۰ اوراکل شرکت سان را با تمام متعلقاتش (جاوا، مای اس کیو ال و سرورهای سان ) را به قیمت ۵٫۶ میلیارد دلار خریداری کرد.

در همان تاریخ و قبل از انتقال رسمی مای اس کیو ال به اوراکل ، آقای Michael “Monty” Widenius یک انشعاب از مای اس کیو ال با نام MariaDB ایجاد کرد که متن باز بودن و رایگان بودن مای اس کیو ال را با نامی دیگر و با شعار نجات مای اس کیو ال را بتواند برای برنامه نویسان تضمین کند چون زمزمه هایی مبنی بر اینکه اوراکل تا سال ۲۰۱۵ مای اسکیو را به صورت رایگان و متن باز ارائه خواهد کردو بعد از آن تاریخ، ممکن است این دیتابیس محبوب به صورت قبلی و رایگان عرضه نشود به گوش می رسید .

از طرفی در سال ۲۰۱۳ چهار شرکت بزرگ و غول های صنعت وب دنیا یعنی گوگل ، توئیتر ، لینکدین و فیس بوک یک شاخه از مای اس کیو ال اصلی (مای اس کیو ال شرکت اوراکل) با نام WebScaleSQL با هدف ایجاد یک ساختار یکپارچه برای مقیاس پذیر کردن مای اس کیو ال و مدیریت آن برای حجم بالای داده ها ، ساختند که البته برخلاف ماریا دی بی ، خود را متعهد به مای اس کیو ال اصلی می دانند و امکانات جدید مای اس کیو ال در این نسخه هم ظاهر خواهد شد و بالعکس ، اوراکل هم بعضی از امکانات ارائه شده در این شاخه را به دیتابیس اصلی منتقل خواهد کرد.

Percona Server  و Drizzle نیز دو نسخه تغییر شکل یافته از مای اس کیو ال است که هر دو با هدف ارائه یک نسخه سریعتر و مقیاس پذیرتر از مای اس کیو ال، ایجاد شده اند.

mariadbmysql

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

یکی از مزایای ماریا دی بی، تنوع موتور های ذخیره سازی آن است . همانطور که می دانید یک بانک اطلاعاتی از چندین لایه مختلف تشکیل شده است که لایه ذخیره سازی آن ، وظیفه ذخیره داده ها را در فایل های مختلف و بازیابی اطلاعات را برعهده دارد در حالیکه لایه های دیگر روی این بخش، وظایفی مانند دریافت درخواستهای کاربر، بهینه سازی آنها و اجرای آنها را برعهده دارند . بنابراین می توان بدون اینکه از دید کاربر چیزی عوض شود، لایه زیرین آنرا یعنی نحوه فشرده سازی ، ذخیره و بازیابی داده ها در فایلها را تغییر داد که انتخاب درست موتور یا لایه ذخیره سازی هم امروزه اهمیت زیادی دارد.

یکی از این موتورهای ذخیره ساز که با تغییر روش فشرده سازی اطلاعات (استفاده از Fractal Indexing) باعث شده است که حجم ذخیره سازی داده ها بسیار کمتر شود، موتور TokuDB است که با وجود کاهش قابل ملاحظه حجم داده ها در مقایسه با سایر موتورهای ذخیره ساز، کارآیی آن هم تغییری نکرده است و حتی بهتر از بقیه ظاهر شده است (البته با تکیه بر ارزیابی Nikolaos Vyzas ).

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

به عنوان آخرین نکته در باب استفاده از مای اس کیو ال اینکه در نسخه ۵٫۷  مای اس کیو ال ، می توان به کمک موتور ذخیره سازی InnoDB مستقیماً از بانک اطلاعاتی مقیم در حافظه Memcached استفاده کرد که باعث افزایش چند برابری سرعت خواندن اطلاعات از این بانک اطلاعاتی شده است (این نسخه جدید البته بهبودهای بسیار زیادی در حوزه سرعت و کارآیی و مقیاس پذیری داشته است). البته این امکان هنوز جزء امکانات ماریا دی بی لحاظ نشده است اما به راحتی به عنوان یک پلاگین قابل نصب و استفاده باشد .

با ترکیب مای اس کیو ال ، Memcached، کاساندرا و ذخیره داده های جی سان در مای اس کیو ال ، می توان یک معماری منسجم با محوریت مای اس کیو ال برای سایتها و برنامه های وب مقیاس (برنامه هایی که حجم داده بالا و تراکنش های لحظه ای زیادی دارند)داشت .

یک نظر

  1. سید علی موسوی

    سلام استاد

    وقتتون بخیر

    کاش می شد یه مقاله کامل درباره لایه های اصلی دیتابیس و نحوه کارکردشون میذاشتید.

    هرچند می دونم سرتون حسابی شلوغه 🙂

    با تشکر

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload CAPTCHA.