ارتقا به MariaDB

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

شرکت MySQL AB که سازنده اصلی MySQL بود، یک شرکت فنلاندی/سوئدی بود که توسط ۳ نفر هدایت می شد:

  • David Axmark
  • Allan Larsson
  • Michael (Monty) Widenius

محصول کار مشترک این جمع که در حقیقت با نیت استفاده شخصی بود در سال ۱۹۹۵ اولین نسخه رسمی MySQL بود که بعد ها با ارائه نسخه حرفه ای تر از آن به مرور به یکی از محبوب ترین و در نهایت به محبوب ترین دیتابیس اپن سورس جهان تبدیل شده که هنوز هم این مسئله برقرار می باشد.

در سال ۲۰۰۸ خبر تکان دهنده ای منتشر شد در دنیای نرم افزار مبنی بر خریداری MySQL توسط شرکت معروف Sun Microsystems به ارزش ۱ میلیارد دلار (با نرخ روز دلار معادل ۱۱,۵۰۰,۰۰۰,۰۰۰,۰۰۰ ریال – یازده هزار و پانصد میلیارد تومان). جدا از خود قیمت این معامله که جزو بزرگترین معاملات تاریخ نرم افزار به حساب می آید نگرانی های فراوانی از سرنوشت این دیتابیس نیز پدیدار شد که رقم زننده حوادث مختلفی در این حوزه شد. اما در همین زمان بود که Oracle پیرو رای کمیسیون اتحادیه اروپا موفق به مالکیت کامل بر Sun Microsystems شد. نکته قابل اشاره این است که اصرار اصلی اوراکل برای تصاحب سان نشات گرفته از مالکیت MySQL و به نوعی کنار زدن این رقیب جدی از مارکت ها بود.

در نهایت سال ۲۰۰۹ MySQL محبوب در دست دشمن دیرینه خودش افتاده بود مشخصا شاهد هیچ طرح توسعه یا عرضه آپدیت قابل توجه ای نبود که شدیدا نگرانی ها را در خصوص سرنوشت آن تشدید کرد. در همین زمان سازنده اصلی MySQL مجدد یک دیتابیس جدید مبتنی بر MySQL برپا کرد با عنوان MariaDB که فرایند انتقال ساده ای از MySQL را نیز فراهم کرده بود.

در سال ۲۰۱۳ رفته رفته نام MariaDB فراگیر شده و با توجه به رها شدن MySQL توسط مالکش جهت از بین رفتن، موج گسترده ای در بین مدیران سرور جهت انتقال یا به نوعی ارتقا به MariaDB راه افتاد که اوج آن سال ۲۰۱۴ بوده و حجم قابل توجهی از سرورها در این سال دیتابیس خود را به MariaDB انتقال دادند. اکنون در سال ۲۰۱۶ که این مطلب را منتشر می کنیم هنوز جمع قابل توجهی از دیتابیس ها مبتنی بر MySQL است اما امیدواریم بتوانم شما را قانع کنیم که ارتقا به MariaDB یک انتخاب درست و به موقع است.

ارتقا به MariaDB – توسعه دهندگان بیشتر و سر زنده

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

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

ارتقا به MariaDB – عرضه شفاف و سریع تر پیوست های امنیتی

اوراکل هر ۳ ماه یک بار به عرضه پیوست های امنیتی سیستم هایش از جمله MySQL می پردازد، و البته در این عرضه ها صرفا پیوست ها ارائه شده و به صورت خیلی مبهم در خصوص مشکلات و نقص های رفع شده گزارشی ارائه می گردد. حتی گاهی این عرضه ها شامل فهرست CVE هم نمی باشد که واقعا ترسناک است. به این معنا که MySQL هر روز در حال نا امن تر شدن نسبت به قبل است. گویا با وجود مالکیت اما دشمنی اوراکل با این دیتابیس پایان ناپذیر است.

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

ارتقا به MariaDB – حرکت در لبه تکنولوژی

اگر نخواهی اوراکل را زامبی فرض کنیم و از اقدامات خوبش نام ببریم می تونیم به پشتیبانی از GIS (سیستم اطلاعات جغرافیایی) در نسخه ۵.۷ MySQL اشاره کنیم. با وجود این حرکت امید بخش اما در سمت مقابل، شاهد عرضه تکنولوژی های به روز فراوانی هستیم که فاصله عمیقی را بین MariaDB و MySQL ایجاد کرده است.

به طور مثال پشتیبانی از سیستم GIS در نسخه ۵.۳ MariaDB با قابلیت هایی مثل ثبت مختصات و سهولت کوئری گرفتن از موقعیت ها ارائه شد و ضمن پیشتاز بودن با کیفیت بهتری نیز این قابلیت به نسبت عرضه اورکل بوده است. در مثال دیگر میتوان به قابلیت منحصر به فرد “Dynamic column” اشاره داشت که مفهوم جدیدی را در دیتابیس ها ارائه نموده است که البته تا این لحظه تنها در دیتابیس MariaDB امکان استفاده از آن وجود دارد.

ارتقا به MariaDB – گستره وسیع تر موتورهای ذخیره سازی

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

ارتقا به MariaDB – پشتیبانی از معماری Galera

هر چند از سال ۲۰۰۷ تکنولوژی Galera ارائه شده است (امکان کلاسترینگ به صورت active-active) اما هیچ گاه در عرضه های اوراکل از MySQL شاهد پشتیبانی آن نبوده ایم. آخرین نسخه MySQL تا زمان انتشار این مطلب همچنان از همان شیوه سنتی Master-Slave استفاده می کند. شاید اگر مالیکت MySQL فقط یک سال دیرتر منتقل شده بود به اوراکل ما شاهد پشتیبانی از Galera در MySQL هم بودیم. این در حالی است که سیستم هایی مثل MariaDB یا حتی Percona مدت هاست از معماری Galera برای کلاسترینگ پشتیبانی می کنند.

ارتقا به MariaDB – ارتقا به محبوب ترین دیتابیس در آینده

با نگاه اجمالی به جمع هواداران MariaDB و همچنین موجب مهاجرت به آن نام شرکت ها و برند های بزرگی را می توان یافت که به ما تاکید می کند این یک سفر بی بازگشت و اجباری است. گوگل، ویکیپدیا و پس از آنها توییتر، پین ترست و لینکد این همگی از مجموعه های بزرگی هستند که به سراغ این دیتابیس رفته اند. حمایت مالی از Automattic (تیم سازنده وردپرس) تضمین کننده حرکت وردپرس به این سمت است (که تحقق یافت). در سیستم عامل هایی مانند Fedora و OpenSUSE سال هاست که دیتابیس پیش فرض MariaDB می باشد. همچنین ردهت از نسخه Red Hat Enterprise 7 خود MariaDB راه به صورت مادام العمر دیتابیس پیش فرض سیستم عامل های خود معرفی کرد.

بزرگترین ناکامی MariaDB در باگ های مربوط به ناسازگاری آن با Debian و Ubuntu بود که از سال ۲۰۱۴ و با عرصه نسخه های جدید سیستم عامل ها دیگر خبری از آنها نیست و عملا ubuntu 14,01 به خوبی از MariaDB پشتبیانی می کند.

ارتقا به MariaDB – امروز آسان تر از فردا

ساده ترین فرایند انتقال از MySQL به MariaDB در نسخه ۵.۵ Mysql بود. دقیقا نسخه MariaDB 5.5 به گونه ای بود که ارتقا به آن با کمترین ریسک همراه بود. هر چند برای نسخه های بالاتر و بعدی هم همواره امکان ارتقا تعبیه شده است اما فرایند پیچیده تر، شانس بروز مشکل را بیشتر نموده است.

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

اکنون که این مهاجرت اجتناب ناپذیر است، بهتر است با ریسک کمتر به آن دست زده و زودتر به جمع هواداران و مصرف کنندگان MariaDb پیوسه و زودتر از اتوبوس MySQL که با هدایت اوراکل به عمق دره میرود بیرون بپرید 😉 .

لطفا اگر این مطلب را مفید دانستید و قصد بازنشر آن را داشتید به این صفحه با عنوان زیر لینک بدهید:

ارتقا به MariaDB