MariaDB یک پایگاه داده بسیار امن، سریع و البته آشنا برای اغلب برنامهنویسان و توسعهدهندگان نرمافزارهای مبتنی بر وب است. اگر هنوز برای انتخاب نوع پایگاه داده مناسب اپلیکیشن خود، مردد هستید، همراه ما باشید.
در این مطلب، ابتدا MariaDB و تاریخچه آن را با هم مرور خواهیم کرد، تفاوتهای اصلی آن با MySQL را بررسی میکنیم و در آخر، روشی ساده برای ساخت یک پایگاه داده ماریا دی بی را با هم میخوانیم.
MariaDB چیست؟
ماریا دی بی یک پایگاه داده امن، سریع و رابطهای یا همان RDBMS است که از همان تکنولوژی آشنا و قابل اعتماد MySQL، استفاده میکند. به عبارت سادهتر باید بگوییم که ماریا دی بی، انشعاب جدیدی از پایگاه داده MySQL است و همه ویژگیهای مثبت آن را بهصورت کامل دارد.
البته همانطور که احتمالا شما هم حدس میزنید، این انشعاب جدید با قابلیتها و ویژگیهای فوقالعادهای عرضه شده است که توسعهدهندگان و برنامهنویسان زیادی را به استفاده از ماریا دی بی، ترغیب میکند.
پایگاه داده MariaDB دارای چندین موتور ذخیرهسازی است، بیش از 200 هزار کانکشن را پشتیبانی میکند و کاملا اوپنسورس است. سرعت عملکرد این پایگاه داده، 24 درصد بیش از دیتابیس مادر خود یعنی MySQL بوده و این موضوع در تستهای مختلف، اثبات شده است.
نکته بسیار مهمی که باید درباره MariaDB بدانید این است که این دیتابیس بهعنوان یکی از پایگاههای داده NewSQL دستهبندی میشود. این پایگاههای داده جدید، برخی از مهمترین ویژگیهای موجود در دیتابیسهای NoSQL را با مشخصههای پرکاربرد دیتابیسهای مبتنی بر روابط، ترکیب میکنند. به این شکل، دیتابیس نهایی بالاترین عملکرد و بهترین مشخصهها را بهصورت همزمان دارد.
ماریا دی بی، شباهتهای بسیار زیادی به MySQL دارد و مهمترین ویژگیهای آن را به ارث برده است. اگر الان با این سوال مواجه هستید که با وجود MySQL، چه نیازی به ماریا دی بی داریم، با ما به بخش بعدی بیایید تا تاریخچه ایجاد دیتابیس MariaDB و دلیل ایجاد آن را به شما هم بگوییم.
تاریخچه ماریا دی بی و معرفی توسعهدهندگان آن
«مایکل وایندیوس»، «آلن لارسون» و «دیوید آکسمارک»، توسعهدهندگان اولیه MySQL بودند که اولین نسخه از این پایگاه داده را در اوایل دهه 90 میلادی، منتشر کردند. پس از سالها کار بر این دیتابیس، شرکت اوراکل در سال 2008 وارد عمل شد و MySQL را از توسعهدهندههای اصلی، خرید. البته که هر سه نفر، بهعنوان پشتیبان و توسعهدهنده در این شرکت مشغول به کار شدند.
با گذشت مدت کمی، اختلافات کوچک و بزرگ در فضای کاری، باعث شد که مایکل وایندیوس، از اوراکل جدا شود. پس از آن در سال 2009، نسخه اولیه دیتابیس MariaDB را منتشر کرد.
این پایگاه داده انشعاب تازهای از MySQL بود و به همین خاطر، در ابتدا محبوبیت چندانی در بازارهای جهانی پیدا نکرد. کمکم و با معرفی کامل این دیتابیس، عملکرد فوقالعاده ماریا دی بی، سرعت عالی آن و از همه مهمتر پیشتیبانی کامل از انواع دادهها، باعث شد پایگاه داده ماریا دی بی طرفداران زیادی پیدا کند.
کمپانیهای مشهور و بزرگی همچون RedHat، آمازون، گوگل، ویکیپدیا، Tumbler و دهها مجموعه بینالمللی دیگر، از ماریا دی بی استفاده میکنند. در حال حاضر بیش از 15.555 شرکت، این پایگاه داده را به کار برده و دادههای خود را با کمک آن، ذخیره و بازیابی مینمایند. بدون شک شما هم میدانید که مشخصههای بینظیر این پایگاه داده، باعث محبوبیت و استفاده روزافزون آن شده است و در بخش بعدی، برخی از مهمترین ویژگیهای MariaDB را با هم مرور میکنیم.
مهمترین ویژگیهای ماریا دیبی
سرعت، امنیت و پایداری دادهها، تنها بخشی از ویژگیهای اصلی این پایگاه داده هستند. در این بخش، به بررسی دقیق و کامل مشخصههای اصلی MariaDB میپردازیم. مهمترین مزیتهای ماریا دی بی شامل این موارد هستند:
نصب سریع و ساده
برای نصب ماریا دی بی، دو گزینه پیش رو دارید. میتوانید بهعنوان یک سرور مجزا از ماریا دی بی استفاده کرده یا اینکه آن را در کنار یک پلتفرم پردازشی، نصب نمایید. بدین شکل، برای نصب این پایگاه داده بر روی سیستمهای توزیع یافته سازمانتان، هیچ چالشی نخواهید داشت. ساختار بسیار منعطف ماریا دی بی، امکان نصب آن بر روی سرویسدهندههای ابری را نیز فراهم میکند و بهسادگی میتوانید ماریا دی بی را بهعنوان کانتینر یا یک سرور مجزا، اجرا کنید.
پشتیبانی از عملیات کلان داده (Big Data)
کمپانیها در حال حاضر، حجم عظیمی از دادهها را ذخیره و پردازش میکنند. ماریا دی بی یکی از بهترین پایگاههای داده موجود در دنیا است که امکان ذخیره و بازیابی این دادهها را در اختیار شما میگذارد. ماریا دی بی دادههای خود را بهصورت ستونی ذخیره میکند و یک پایگاه داده ستونگرا است. این روش ذخیرهسازی، میتواند چندین پپتابایت از داده را پردازش کند و از آن مهمتر اینکه بهراحتی دادههای روزافزون اپلیکیشنهای مبتنی بر وب در دنیای واقعی را پشتیبانی نماید.
سرعت و کارایی بالاتر
به دلیل ذخیرهسازی ستونگرا در ماریا دی بی، سرعت عملکرد این پایگاه داده به شکل قابل توجهی بیشتر شده و امکان فشردهسازی 10 برابری نیز فراهم شده است. تقسیم بارکاری در این نوع دیتابیس و با توجه به روش ذخیرهسازی دادهها در آن، خیلی سریعتر بوده و کارایی بسیار بیشتری در اختیار شما میگذارد.
پاسخگویی به انواع درخواستها
بدون شک شما هم نمیتوانید دقیقا مشخص کنید که کاربران در آینده، چه نوع کوئریهایی را اجرا خواهند کرد یا شما و دیگر اعضای تیم توسعه، برای بررسی بخشی از دادههای خود، به چه اطلاعاتی نیاز دارید. خوشبختانه ماریا دی بی، امکان اجرای هر نوع کوئری را در اختیار شما میگذارد و شما در زمان استفاده از MariaDB، هیچ محدودیتی برای اجرای انواع کوئریها نخواهید داشت. انعطافپذیری فوقالعاده و امکان پاسخگویی به انواع درخواستها، یکی از مهمترین مزیتهای ماریا دی بی است.
ذخیرهسازی مقرون بهصرفه با ذخیرهسازی ابر بومی
با استفاده از ماریا دی بی، میتوانید هزینههای مرتبط به ذخیرهسازی دادههای سازمان خود را به شکل قابل توجهی کاهش دهید. فقط کافی است که سرویسدهنده منتخب شما، از آمازون S3’s API، پشتیبانی کند. در این صورت بهراحتی میتوانید که آن را با پلتفرم ماریا دی بی، ترکیب کرده و هزینه ذخیرهسازی دادهها را کمتر کنید.
علاوه بر این 5 مزیت گفته شده، امکان گسترش سریع و فوقالعاده راحت ماریا دی بی، امکان وارد کردن ساده دادهها (Import) و چابکسازی کسبوکار، همه از مزایای مهم پایگاه داده MariaDB هستند.
تفاوت ماریا دی بی و MySQL
حالا و پس از بررسی مهمترین مزایای ماریا دی بی، اجازه دهید که تفاوتهای اصلی و مهم میان MySQL و ماریا دی بی را بررسی کنیم. 5 تفاوت بین ماریا دی بی و MySQL، شامل موارد زیر هستند:
پشتیبانی در محیطهای مختلف
MariaDB را میتوانید در محیطهای مختلف لینوکس مثل Ubuntu، Debian و CentOS اجرا کنید. ماریا دی بی را بهصورت پیشفرض هم میتوانید در ویندوز اجرا نمایید و هم با استفاده از Homebrew، این پایگاه داده را در سیستم عامل Mac OSX اجرا کنید.
این مشخصه برای MySQL، شامل محیطهای بیشتری است و میتوانید بهراحتی پایگاه داده MySQL را در چندین محیط مختلف از جمله OSX، Solaris و FreeBSD اجرا نمایید. البته که لینوکس و ویندوز هم از MySQL پشتیبانی میکنند و خیلی راحت میتوانید در این محیطها، MySQL را اجرا کنید.
نوع دادههای ذخیره شده
همانطور که شما هم میدانید، MySQl از دادههای JSON پشتیبانی کرده و این نوع داده را بهصورت محلی، دارد. بنابراین برای ذخیره دادههای JSON، نوع داده آن را به رشته تغییر نداده و به همان شکل، ذخیره میکند. این موضوع دو مزیت اصلی دارد: مزیت اول این است که MySQL میتواند بهراحتی نوع داده JSON را پارس کند. مزیت دوم، سرعت دسترسی به دادههای ذخیرهشده با این فرمت در MySQL است.
یکی از تفاوتهای اصلی میان MariaDB و MySQL در همین بخش است. ماریا دی بی این نوع داده را به شکل MySQL ذخیره نمیکند. در واقع یک نوع داده JSON در ماریا دی بی وجود دارد که بهعنوان LONGTEXT ذخیره میشود. میتوانید بهراحتی فرآیند اعتبارسنجی را بر این نوع داده، اجرا کنید تا از درستبودن دادهJSON اطمینان بیابید.
کارایی و عملکرد
یکی از مهمترین تفاوتهای میان ماریا دی بی و MySQL، عملکرد بسیار سریعتر MariaDB است. ساخت کوئریها و بازیابی دادهها در ماریا دی بی، خیلی سریعتر بوده و اگر شما به یک پایگاه داده سریع برای دادههای بزرگ نیاز دارید، MariaDB گزینه بهتری برای شما خواهد بود.
موتورهای ذخیرهسازی
ذخیرهسازی یکی از مهمترین تفاوتهای میان این دو پایگاه داده است. ماریا دی بی دارای 12 موتور ذخیرهسازی پیشفرض است که XtraDB، Aria و… را در بر میگیرد. از طرف دیگر، MySQL دارای موتورهای ذخیرهسازی کمتری بوده و حتی نصب دستی این موتورهای جستوجوی کارآمد بر روی آن، نمیتواند همان کارایی را در اختیارتان بگذارد.
اجرای موازی کوئریها
یکی از مهمترین مزیتها و تفاوتهای ماریا دی بی نسبت به MySQL، امکان اجرای موازی کوئریها در آن است. کانسپت اصلی برای اجرای این نوع کوئری این است که میتوان برخی سوالات کلیدی را بهصورت موازی در چندین Slave تکثیر و بهصورت همزمان اجرا کرد. اجرای موازی کوئریها، یکی از مزایای اصلی و واضح MariaDB نسبت به MySQL است.
علاوه بر این 5 تفاوت اصلی، میتوانیم به موارد زیر هم اشاره کنیم:
- ماریا دی بی کاملا اوپنسورس است، در صورتی که برخی از کدهای اختصاصی MySQL را تنها با پرداخت هزینه، میتوانید بهدست آورید.
- ماریا دی بی دارای مخزن اتصال بزرگتر است که از 200 هزار اتصال پشتیبانی میکند. مخزن اتصال MySQL کوچکتر بوده و اتصالات بسیار کمتری را پشتیبانی میکند. بنابراین برای دادههای بزرگ، استفاده از ماریا دی بی مناسبتر خواهد بود.
- MySQL از ماریا دی بی پشتیبانی نمیکند، اما شما هر زمان که بخواهید، میتوانید بهراحتی از MySQL به ماریا دی بی مهاجرت کرده و از پشتیبانی کامل ماریا دی بی، استفاده کنید.
- ماریا دی بی از ذخیرهسازی ستونگرا (ColumnStore) پشتیبانی میکند. این معماری داده توزیعیافته، باعث شده که گسترش ماریا دی بی بهصورت خطی انجام شود و بتواند حجم بسیار عظیمی از داده را در هزاران کامپیوتر، ذخیره کند.
ساخت MariaDB در کنسول همروش
حالا و با بررسی تمام جنبههای ماریا دی بی، تنها یک نکته مهم دیگر باقی میماند. اگر برای اولین بار است که میخواهید از این پایگاه داده استفاده کنید و هنوز نمیدانید که بهترین روش راهاندازی آن چیست، پیشنهاد ما استفاده از دیتابیس MariaDB در فضای ابری است.
با این روش، دسترسی سریع و راحتی به پایگاه داده خود خواهید داشت و در هر زمان و از هرجا، بهسادگی میتوانید دادههای خود را ذخیره، پردازش و بازیابی کنید. خوشبختانه روش سادهتر دیگری هم برای راهاندازی ماریا دی بی وجود دارد و تنها با یک کلیک، میتوانید در پلتفرم دارکوب، یک دیتابیس ماریا دی بی داشته باشید. امنیت بالا، راهاندازی سریع و راحت و قابلیت دسترسی فوقالعاده، تنها بخشی از مزیتهای راهاندازی MariaDB در کنسول همروش است.