نوشته‌ها

database backup plans

آموزش بکاپ گیری از دیتابیس MySQL

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

روش‌های بکاپ گیری از دیتابیس MySQL

روش‌های مختلفی برای بکاپ گیری (Backup) از پایگاه داده MySQL وجود دارد که براساس نحوه پیاده سازی سرویس شما و زیرساختی که از آن استفاده می‌کنید متفاوت است. چنانچه سایت یا اپلیکیشن خود را بطور مستقیم روی سرور مجازی پیاده سازی کرده‌اید، باید از ابزار mysqldump برای بکاپ استفاده کنید. اگر در کنار سرویس‌های سایت یا اپلیکیشن خود، ابزار phpMyAdmin را هم نصب کرده‌اید، می‌توانید از رابط گرافیکی آن برای دانلود نسخه پشتیبان از پایگاه داده خود استفاده کنید. همچنین در صورتی که سرویس دهنده شما پنل دایرکت ادمین یا cpanel در اختیار شما قرار داده یا از ارائه دهندگان دیتابیس ابری خدمت می‌گیرید، می‌توانید به راحتی از پرتال آن‌ها برای زمان‌بندی و بک آپ گیری دیتابیس خود استفاده کنید. در ادامه هر کدام از این روش‌ها را با جزئیات بیشتر شرح می‌دهیم.

نحوه بکاپ گیری از دیتابیس با استفاده از خط فرمان CLI سرور

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

$ sudo mysqldump -u [user] -p [database_name] > [filename].sql

فراموش نکنید که باید نام کاربری دیتابیس، نام دیتابیس و نام فایل را در دستور بالا جایگزین کنید. اگر می‌خواهید از همه دیتابیس‌های سیستم بکاپ بگیرید می‌توانید دستور مذکور را با آپشن‌های زیر اجرا کنید. این دستور تاریخ روز را هم به اسم فایل بکاپ اضافه می‌کند:

$ mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p

نحوه برگرداندن بکاپ دیتابیس با استفاده از خط فرمان CLI سرور

بازگردانی (Restore) بکاپ دیتابیسی که با استفاده از خط فرمان گرفته‌اید هم به اندازه بکاپ گیری آن ساده بوده و با یک خط انجام می‌شود. فقط به خاطر داشته باشید که برای برگرداندن بکاپ باید بجای mysqldump از دستور mysql استفاده کنید:

$ mysql -u [user] -p [database_name] < [filename].sql

نحوه بکاپ گیری از MySQL با استفاده از phpMyAdmin

یکی از ابزارهای اختیاری که مدیریت پایگاه داده MySQL را تسهیل می کند phpMyAdmin است. اگر این ابزار را روی سرور دیتابیس خود نصب کرده‌اید، می‌توانید از آن برای بکاپ گیری دیتابیس خود استفاده کنید.

برای این کار ابتدا وارد پنل phpMyAdmin شده و از ستون سمت چپ دیتابیس مورد نظر خود را انتخاب کنید.

سپس از نوار بالا روی لینک Export کلیک کنید. برای سرعت بیشتر متد بکاپ quick و فرمت sql را انتخاب کرده و دکمه Go را بزنید تا فایل بکاپ شما دانلود شود.

phpmyadmin database backup

نحوه برگرداندن بکاپ دیتابیس MySQL با استفاده از phpMyAdmin

بازگردانی بکاپ دیتابیس را هم می‌توانید بوسیله پنل phpMyAdmin انجام دهید. تنها نکته‌ای که هنگام برگرداندن بک آپ دیتابیس باید به آن توجه کنید خالی بودن دیتابیس فعلی است؛ چراکه اطلاعات بازگردانی شده با اطلاعات قبلی جایگزین (overwrite) نمی‌شود. بنابراین اگر داده‌ای از قبل در دیتابیس وجود داشته باشد، بازگردانی بک آپ ممکن است باعث ایجاد ردیف‌های تکراری یا اختلال و خطا شود.

بنابراین همیشه قبل از بازگردانی فایل پکاپ دیتابیس، دیتابیس فعلی را پاک کنید. برای این کار از ستون سمت چپ phpMyAdmin پایگاه داده مورد نظر خود را انتخاب کنید. سپس در انتهای لیست جدول‌ها گزینه Check All را انتخاب کرده و در لیست مقابل آن Drop را بزنید. برای تایید دکمه Yes را بزنید.

حالا برای بازگردانی بک آپ دیتابیس همانند ساخت بکاپ، روی دیتابیس مورد نظر کلیک کنید، فقط این بار بجای گزینه Export گزینه Import را انتخاب کنید. فایل بکاپ پایگاه داده را انتخاب کرده و دکمه Go را بزنید.

نحوه بکاپ گرفتن از دیتابیس در فضای ابری

اصولا نگهداری بکاپ روی فضای محلی سرور یا دانلود آن روی کامپیوتر شخصی کار درستی نیست. این کار دو ایراد اساسی دارد: اول اینکه در صورت خرابی سخت افزار سرور اصلی (هارد یا SSD) یا از دسترس خارج شدن آن (مشکل شبکه) شما دسترسی به بکاپ‌های دیتابیس خود را هم از دست می‌دهید؛ که در بدترین حالت ممکن است منجر به از دست رفتن همه اطلاعات دیتابیس شما شود و بازگردانی اطلاعات پایگاه داده در سروری دیگر را غیرممکن کند. دانلود بک آپ‌های دیتابیس هم خیلی کاربردی نیست چراکه در صورت بروز خرابی، زمان بازگردانی دیتابیس و به طبع آن سرویس شما را به شدت افزایش می‌دهد.

یکی از روش‌های بهینه برای ذخیره سازی و نگهداری بک آپ های دیتابیس استفاده از فضای ابری است. فضای ذخیره سازی ابری که پرکاربردترین نوع آن آبجکت استوریج (object storage) است، به شما این امکان را می‌دهد تا فایل‌های خود را بصورت آبجکت در فضای امن و همیشه در دسترس ذخیره و نگهداری کنید. شرکت‌های ارائه‌ دهنده فضای ابری معمولا پلن‌های مختلفی متناسب با نیازهای شما ارائه می‌دهند که ذخیره‌سازی بکاپ‌های شما در فضای ابری را بسیار مقرون به صرفه می‌کند. برای مثال آمازون AWS پلن آبجکت استوریج با عنوان S3 IA (Infrequently Accessed) ارائه می‌کند؛ S3 IA یک آبجکیت استوریج برای فایل‌هایی است که به ندرت به آن‌ها نیاز خواهید داشت، دقیقا مثل فایل‌های بکاپ پایگاه داده. با استفاده از این پلن، هزینه نگهداری بکاپ‌های شما در فضای ابری بسیار پایین خواهد بود اما به ازای هر دانلود هزینه‌ای به فاکتور شما اضافه می‌شود. در ادامه نحوه بکاپ گیری از دیتابیس MySQL در فضای ابری AWS و همچنین آبجکت استوریج ابر آروان (که از استاندارد S3 آمازون AWS استفاده می‌کند) را آموزش خواهیم داد.

آموزش بک آپ گیری از دیتابیس روی آبجکت استوریج آمازون AWS

بهترین گزینه برای فضای ابری، سرویس S3 آمازون AWS است. آمازون S3 نه تنها ماندگاری داده‌های شما را با درصد ۹۹.۹۹۹۹۹۹۹۹۹۹۹ تضمین می‌کند، بلکه ۵ گیگابایت فضای ذخیره سازی رایگان ابری در اختیار شما قرار می‌دهد. پلن فضای ذخیره سازی ابری رایگان AWS یک ساله بوده و شما علاوه بر ۵ گیگابایت فضای رایگان، تا ۲۰۰۰ ریکوئست آپلود و ۲۰۰۰۰ ریکوئست دانلود رایگان خواهید داشت.

ابتدا یک باکت (Bucket) در کنسول آمازون AWS ایجاد کنید (دقت کنید که پلن 5GB Standard Free Tier را انتخاب کرده باشید). این قسمت در بخش S3 (زیر مجموعه Storage) قرار دارد. دقت کنید که قبل از ساخت باکت، region یا ناحیه مورد نظر خود را درست انتخاب کرده باشید. برای تغییر ناحیه از لیستی که سمت راست نوار بالای کنسول قرار دارد استفاده کنید.

حتما بعد از ساخت باکت یک حساب کاربری جدید با سطح دسترسی به باکت‌های S3 ایجاد کنید. برای این کار به بخش IAM در کنسول AWS وارد شده و از قسمت Users یک حساب کاربری جدید بسازید. هنگام ساخت یوزر جدید این موارد را رعایت کنید: اول اینکه نوع دسترسی کاربر (Access Type) را Programmatic Access انتخاب کنید تا کاربر شما امکان دسترسی با aws cli را داشته باشد. مورد دوم که باید رعایت کنید نوع permission انتخابی برای کاربر است که حتما باید شامل policy ادمین یا S3 باشد. در مرحله آخر هم حتما کلیدهای access و secret را ذخیره کنید زیرا فقط یک بار برای شما نمایش داده می‌شوند.

در نهایت شما باید موارد زیر را در اختیار داشته باشید که هنگام ذخیره سازی بکاپ به آن‌ها نیاز خواهیم داشت.

AWS Bucket Name

AWS Access Key ID

AWS Secret Access Key

بعد از ساخت باکت به ترمینال SSH سرور مجازی خود برگردید. برای اینکه امکان ذخیره سازی بکاپ دیتابیس روی فضای ابری AWS را داشته باشید باید AWS CLI را روی ماشین مجازی خود نصب کرده و Access key  و Secret Key خود را روی آن تنظیم کنید. در صورتی که از سرور مجازی AWS یا همان اینستنس EC2 استفاده می‌کنید این ابزار به صورت پیشفرض روی سرور شما نصب است.

$ apt install unzip curl
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ ./aws/install
$ aws configure

بعد از زدن دستور آخر، ترمینال Access Key و Secret Key اکانت AWS شما را خواهد پرسید. اطلاعات خود را وارد کرده و اینتر کنید. از این به بعد به راحتی و تنها با یک خط می‌توانید بک آپ های دیتابیس خود را به فضای ابری AWS منتقل کنید:

$ aws s3 cp [filename].sql s3://[bucket-name]

با استفاده از دستور زیر می‌توانید لیست بکاپ‌های دیتابیس My SQL روی فضای ابری را مشاهده کنید:

$ aws s3 ls s3://[bucket-name]/

آموزش بک آپ گیری از دیتابیس روی آبجکت استوریج ابر آروان

چنانچه تمایل دارید از فضای ذخیره سازی ابری ایرانی برای نگهداری بک آپ پایگاه داده خود استفاده کنید، آبجکت استوریج ابر آروان و ایرانسل گزینه‌های مناسبی هستند. با توجه به اینکه ابر آروان دارای پلن فضای ذخیره سازی رایگان ۵ گیگابایتی (با محدودیت پهنای باند ۲۰ گیگابایت) است، ما هم در ادامه نحوه پشتیبان گیری دیتابیس روی این فضای ابری را شرح می‌دهیم. قیمت فضای ذخیره سازی آبجکت با همین مشخصات در خدمات ابری ایرانسل ماهیانه حدودا ۱۱۸۸۰ تومان است.

نحوه ذخیره سازی بکاپ دیتبایس روی فضای ابری ابر آروان بسیار شبیه به آمازون AWS است، با این تفاوت که به جای ابزار aws باید از rclone استفاده کنید. rclone قابلیت انتقال فایل به اکثر ارائه دهندگان فضای ابری، مخصوصا آن‌هایی که از استاندارد S3 آمازون استفاده می‌کنند را داراست. برای این منظور ابتدا پکیج rclone را نصب کرده و تنظیمات آن را به صورت زیر انجام دهید:

$ apt install rclone
$ rclone config

بعد از زدن آخرین دستور، لیست استوریج‌هایی که به rclone اضافه کرده‌اید را مشاهده خواهید کرد. قاعدتا این لیست باید خالی باشد. کاراکتر n  را برای اضافه کردن استوریج جدید وارد کنید. سپس یک اسم دلخواه برای سرویس دهنده خود وارد کنید، مثلا arvan. در مراحل بعدی نوع آبجکت استوریج را s3 انتخاب کرده و other را برای provider وارد کنید.

در مرحله بعدی false را انتخاب کنید تا بتوانید access key و secret key آروان را به صورت دستی وارد کنید. سپس گزینه ۱ را برای ریجن انتخاب کرده و در آخر آدرس endpoint که از ابر آروان دریافت کرده‌اید را وارد کنید.

از این پس می‌توانید با دستور زیر بک اپ های خود را به فضای ابری آروان منتقل کنید:

$ rclone copy [filename].sql arvan:[bucket-name]/[filename].sql

بکاپ گیری و بازگردانی اتوماتیک دیتابیس MySQL

راهکارهایی که تا الان بررسی کردیم مزایا و معایب متفاوتی دارند. اما مشکل یا عیب اصلی که بین همه‌ی این روش‌ها مشترک است، مدت زمان زیاد بازیابی یا ریستور دیتابیس است که Disaster Recovery Plan شما را بسیار کند می‌کند.  در صورتی که سرور عملیاتی شما دچار خرابی شده یا از دسترس خارج شود، شما نسخه‌ای از دیتابیس خود را در فضای ابری خواهید داشت، اما برگرداندن دیتابیس از فضای ابری و راه اندازی آن در سرور عملیاتی جدید زمان زیادی نیاز دارد که صدمه زیادی به سایت یا سرویس شما می‌رساند.

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

استفاده از سرویس دیتابیس ابری مدیریت شده به شما این امکان را می‌دهد تا در کنار مزایای همه روش‌های مذکور، این ۲ چالش برزگ را هم حل کنید.

بکاپ گیری و بازگردانی اتوماتیک دیتابیس با استفاده از دیتابیس ابری مدیریت شده

استفاده از دیتابیس ابری مدیریت شده به شما این توانایی را می‌دهد تا:

بکاپ اتوماتیک با فاصله زمانی کوتاه روی سرورهای عملیاتی جاری و ثالث ایجاد کنید.

هشدار کارایی و سلامت برای دیتابیس‌های خود داشته باشید.

تنها با یک کلیک و در عرض چند ثانیه بک آپ دیتابیس را روی سرور عملیاتی بازگردانید.

برای دسترسی به لیست بکاپ‌های دیتابیس ابتدا وارد پنل مدیریت پنکیک شوید. در صورتی که قبلا دیتابیس خود را ایجاد کرده باشید، سکوی ابری پنکیک بصورت خودکار هر ساعت از دیتابیس شما فول بکاپ می‌گیرد. برای مشاهده لیست بکاپ‌ها، کافی است دیتابیس مورد نظر خود را از ستون سمت راست انتخاب کرده و وارد تب Fork Database شوید. لیست نسخه‌های بکاپ دیتابیس شامل ۴۸ فول بکاپِ ساعتی از ۴۸ ساعت گذشته و همچنین ۲۸ فول بکاپِ روزانه از ۳۰ روز گذشته است.

pancake DBaaS backup

برای برگرداندن هر کدام از بکاپ‌ها کافی است روی آیکون کنار ردیف مورد نظر کلیک کرده تا در کمتر از یک دقیقه دیتابیس مورد نظر روی سرور عملیاتی ریستور شود. بک آپ گیری اتوماتیک از دیتابیس و بازگردانی آن در دیتابیس‌های ابری پنکیک منحصر به پایگاه داده ی خاصی نیست و به صورت پیش‌فرض برای همه‌ی دیتابیس‌های پنکیک شامل MySQL، PostgreSQL، MongoDB و SQL Server فعال است.

aws ec2 rds

مقایسه سرویس دیتابیس آمازون AWS با پیاده سازی دستی دیتابیس ابری در سرور مجازی EC2

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

برای ساده‌تر شدن این مقایسه، در این مطلب مثال‌هایی از سرویس‌های AWS خواهیم آورد. خدمات وب آمازون یا همان AWS، از پیشگامان سرویس‌دهندگان ابری در سطح جهانی است که هر دو سرویس دیتابیس مدیریت‌شده و سرور مجازی ابری (برای پیاده‌سازی دستی دیتابیس) را ارائه می‌دهد. بنابرین با مقایسه این دو سرویس، درک درستی از ويژگی‌ها و مزایای هر روش، تغییر هزینه‌ها در کوتاه مدت و بلند مدت و راهکاری که بیشترین منفعت را برای کسب و کار شما ایجاد می‌کند کسب خواهید کرد.

پیاده سازی دستی دیتابیس ابری روی EC2

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

سرور مجازی ابری EC2 آمازون AWS

ابر پردازشی الستیک یا همان EC2 از اولین خدمات AWS است که در سال ۲۰۰۶ به لیست سرویس‌های آمازون اضافه شد. به زبان ساده، EC2 یک سرور مجازی است که روی زیرساخت ابری میزبانی می‌شود، از مزایای اصلی آن می‌توان به پیاده‌سازی سریع و آسان، مقیاس‌پذیری آنی و سیستم پرداخت ساعتی اشاره کرد. مشابه این سرویس را می‌توانید در شرکت‌های هاستینگ ابری در ایران مانند ابر آروان بیابید. با انتقال پایگاه داده از سرورهای سنتی به سرور مجازی ابری EC2، می‌توانید دیتابیس ابری خود را پیاده‌سازی کرده و از مزایای زیرساخت ابری که پیش‌تر به آن‌ها اشاره کردیم بهره ببرید.

مزایای پیاده‌سازی دستی دیتابیس روی سرور مجازی EC2

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

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

معایب پیاده‌سازی دستی دیتابیس ابری روی EC2

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

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

نکته دوم فضای ذخیره‌سازی اینستنس‌های EC2 است، به صورت پیش فرض SSD های معمولی (با iops حداکثر ۱۶۰۰۰) به سرورهای مجازی EC2 تخصیص داده می‌شود. در صورتی که بخواهید از فضای ذخیره‌سازی با iops بالا (تا ۶۴۰۰۰) استفاده کنید، باید هزینه بیشتری پرداخت کنید.

توجه! نکته اصلی که در این راهکار باید به آن توجه کنید این است که در صورت کوچ از سرورهای سنتی به ابری، الزاما دیتابیس شما افزایش کارایی یا سرعت نخواهد داشت. این فاکتور وابسته به کارایی ماشین مجازی ابری مورد استفاده شما و امکاناتی است که سرویس‌دهنده زیرساخت ابری در اختیار شما قرار می‌دهد، در صورتی که یک سرویس‌دهنده قدرتمند مانند آمازون را انتخاب کرده باشید، بهبود سرعت را هم در کنار دیگر مزایای زیرساخت ابری تجربه خواهید کرد. ولی اگر قصد خرید از یک هاستینگ ابری درجه ۳ را دارید باید کمی به شانس و دعا هم متوسل شوید.

استفاده از دیتابیس مدیریت شده RDS آمازون

سرویس دیتابیس مدیریت شده RDS جزو خدماتی بود که سال ۲۰۰۹ به لیست سرویس‌های AWS اضافه شد. این سرویس با پشتیبانی از پایگاه داده MySQL و با هدف ساده‌سازی نصب، راه‌اندازی و مدیریت دیتابیس‌های رابطه‌ای معرفی شد. این سرویس که جزو خدمات DBaaS قرار می‌گیرد نوعی SaaS است که علاوه برای میزبانی پایگاه داده در فضای ابری، مدیریت آن در سطح اپلیکیشن را هم انجام می‌دهد. از جمله ویژگی‌های سرویس دیتابیس مدیریت‌شده می‌توان موارد زیر را نام برد:

  • آپدیت خودکار دیتابیس
  • مانیتورینگ هوشمند
  • پشتیبان‌گیری خودکار
  • رپلیکیشن و تحمل خطا
  • دسترسی پذیری بالا

به عبارت دیگر، در صورت استفاده از پایگاه داده مدیریت شده RDS آمازون شما فقط مسئول طراحی اسکیم دیتابیس و بهینه‌سازی کوئری‌های خود هستید؛ بقیه موارد توسط AWS انجام می‌شود. در عکس زیر تفکیک وظایف شما و ارائه دهنده دیتابیس مدیریت شده به تصویر کشیده شده است.

aws rds dbaas

گرچه هزینه ساعتی اینستنس‌های دیتابیس RDS نسبت به EC2 بیشتر است، اما کلیه عملیات پایگاه داده، از نصب و پشتیبانی تا کانفیگ تخصصی دیتابیس از دوش شما برداشته می‌شود. بنابراین، عدم نیاز شما به ادمین دیتابیس (DBA) در کاهش هزینه‌های شما تاثیر زیادی خواهد داشت. اگر هم تاکنون وظایف پایگاه داده به دوش دولوپرهای شما بوده، با خالی شدن زمان‌شان می‌توانند تمرکز بیشتری روی کار تخصصی خودشان، که توسعه محصول شماست، داشته باشند. لازم به ذکر است که تحقیقاتی که در این زمینه انجام شده از افزایش چشمگیر کارایی آن‌ها حکایت دارد.

جدول زیر مقایسه‌ای از قیمت ماهیانه اینستنس‌های EC2 و RDS با منابع مشابه در AWS را نشان می‌دهد.

EC2 – m4.large RDS – db.m4.large

RDS – db.m4.large – Multi-AZ 

هسته پردازشگر ۲ ۲ ۲
رم ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت
فضای ذخیره‌سازی

۵۰ گیگابایت

General SSD

۵۰ گیگابایت

General SSD

۵۰ گیگابایت

General SSD

قیمت ماهانه ۷۷.۳۲ دلار ۱۳۳.۸۵ دلار ۲۶۷.۷۰ دلار

همانطور که مشاهده می‌کنید قیمت دیتابیس ابری مدیریت‌شده AWS تقریبا ۷۵ درصد بیشتر از اینستنس EC2 با منابع مشابه است. همچنین در صورت استفاده از پلن Multi-AZ با نود رپلیکیشن، هزینه شما دو برابر می‌شود.

کدام راهکار را انتخاب کنیم؟

اگر سرویس یا اپلیکیشنی که روی پایگاه داده میزبانی می‌کنید حساسیت بالایی دارد، حتما از دیتابیس مدیریت‌شده Multi-AZ استفاده کنید.

اگر سازمان شما دارای تیم متخصص پایگاه داده است و می‌خواهید روی پایگاه داده خود کنترل صد در صد داشته باشید، می‌توانید از اینستنس EC2 برای میزبانی پایگاه داده استفاده کنید.

در موارد کلی استفاده از سرویس دیتابیس مدیریت‌شده عادی پیشنهاد می‌شود.

دیتابیس مدیریت شده پنکیک

سکوی دیتابیس ابری پنکیک، اولین و تنها ارائه دهنده دیتابیس مدیریت شده در ایران است که پایگاه‌داده‌های MySQL، MongoDB و PostgreSQL را به صورت سرویس (DBaaS) روی بهترین دیتاسنترهای ایران و خارج ارائه می‌دهد. چنانچه سایت یا سرویس شما در ایران میزبانی می‌شود یا پرداخت هزینه بالای دلاری AWS برای شما میسر نیست، می‌توانید در پلتفرم دیتابیس پنکیک از کلیه ویژگی‌های دیتابیس‌های مدیریت شده استفاده کنید. در جدول زیر مقایسه پلن‌های تکی و مولتی نود سرویس دیتابیس آمازون با پلن‌های مشابه آن در پنکیک مقایسه شده است.

RDS – db.m4.large Pancake DBaaS – 4- Instance RDS – db.m4.large – Multi-AZ

Pancake DBaaS – 4-Instance Replication

هسته پردازشگر ۲ ۴ ۲ ۴
رم ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت
فضای ذخیره‌سازی

۵۰ گیگابایت

General SSD

۴۰ گیگابایت

High iops NVMe

۵۰ گیگابایت

General SSD

۴۰ گیگابایت

High iops NVMe

قیمت ماهانه ۱۳۳.۸۵ دلار ۹۰۰.۰۰۰ تومان ۲۶۷.۷۰ دلار ۱.۸۰۰.۰۰۰ تومان