بلاگ/دیتابیس ابری (Cloud Database) چیست و چه تفاوتی با دیتابیس سنتی روی سرور شما دارد؟
به‌روز شده

دیتابیس ابری (Cloud Database) چیست و چه تفاوتی با دیتابیس سنتی روی سرور شما دارد؟

1405/08/180 بازدید
دیتابیس ابری (Cloud Database) چیست و چه تفاوتی با دیتابیس سنتی روی سرور شما دارد؟

دیتابیس ابری (Cloud Database) چیست و چه تفاوتی با دیتابیس سنتی روی سرور شما دارد؟

اگر تا حالا دیتابیس را فقط روی یک سرور ثابت نصب کرده‌اید، احتمالا با شنیدن «دیتابیس ابری» این سؤال برایتان پیش می‌آید که دقیقا چه چیزی عوض می‌شود. جواب کوتاهش این است: جایی که دیتابیس اجرا می‌شود و نحوه رسیدن ظرفیت به آن فرق می‌کند، نه لزوما خود موتور دیتابیس.

دیتابیس ابری چیست

دیتابیس ابری چیست؟

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

  • موتور دیتابیس روی سرور ابری — MySQL، PostgreSQL، MongoDB یا هر موتور دیگری را خودتان روی یک سرور ابری (یک VPS ابری با رم و دیسک کافی) نصب می‌کنید و مدیریت‌اش هم با خودتان است. فقط جای اجرا عوض شده، نه مسئولیت نگهداری.
  • سرویس مدیریت‌شده (Database as a Service) — چیزی مثل Amazon RDS یا Google Cloud SQL که نصب، پچ امنیتی، بکاپ خودکار و تا حدی مقیاس‌پذیری را خود سرویس انجام می‌دهد و شما فقط با یک آدرس اتصال به دیتابیس وصل می‌شوید.

نکته‌ای که معمولا گم می‌شود همین است: «ابری بودن» به معنی مدیریت‌شده بودن نیست. می‌توانید یک دیتابیس کاملا سنتی و خودمدیریتی را روی یک سرور ابری اجرا کنید، درست مثل روی یک سرور اختصاصی.

دیتابیس سنتی روی سرور خودتان چطور کار می‌کند؟

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

مسئولیت نصب نسخه درست موتور، آپدیت امنیتی، تنظیم بکاپ و تست بازیابی هم کامل روی دوش شماست. هیچ‌کس این‌ها را به‌جای شما انجام نمی‌دهد، چون چیزی غیر از خود سرور وجود ندارد که این کار را بکند.

جدول مقایسه: دیتابیس ابری در برابر دیتابیس سنتی

ویژگیدیتابیس سنتی روی سرور خودتاندیتابیس ابری (خودمیزبان یا مدیریت‌شده)
زمان راه‌اندازیخرید و تحویل سخت‌افزار، چند روز تا چند هفتهچند دقیقه تا چند ساعت
تغییر ظرفیتخرید سخت‌افزار جدید یا مهاجرت دادهارتقای پلن یا رفتن سراغ سرور ابری دیگر
نصب و نگهداری موتوربا خودتانبا خودتان (حالت خودمیزبان) یا با سرویس‌دهنده (حالت مدیریت‌شده)
بکاپ و بازیابیباید خودتان تنظیم و تست کنیدباید خودتان تنظیم کنید، یا بخشی از سرویس مدیریت‌شده است
هزینهسرمایه اولیه سنگین‌تر، ثابتمعمولا ماهانه یا ساعتی، متناسب با مصرف واقعی
کنترل روی تنظیمات موتورکاملکامل در حالت خودمیزبان، محدودتر در حالت مدیریت‌شده

چه زمانی سمت سرویس مدیریت‌شده بروید و چه زمانی خودتان نصب کنید؟

سرویس‌های مدیریت‌شده بین‌المللی مثل RDS یا Cloud SQL برای تیم‌هایی که نیروی DevOps کافی ندارند یا نمی‌خواهند وقتشان روی پچ و بکاپ دستی برود، گزینه راحتی هستند. اما قیمت‌شان معمولا دلاری است و دیتاسنترشان هم به ایران نزدیک نیست، پس اگر کاربر یا اپلیکیشن شما این‌طرف است، تاخیر شبکه به‌عنوان یک هزینه پنهان اضافه می‌شود.

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

چند مثال عملی برای انتخاب:

  • یک محیط تست یا CI که فقط چند ساعت در روز به دیتابیس نیاز دارد، روی سرور ابری ساعتی ارزان‌تر از نگه‌داشتن یک سرور ماهانه تمام می‌شود.
  • اگر کاربرهای اصلی اپلیکیشن در ترکیه یا اروپا هستند، دیتابیس را هم در همان منطقه نگه دارید تا تاخیر رفت‌وبرگشت بین اپلیکیشن و دیتابیس کم بماند؛ مقایسه لوکیشن ترکیه و اروپا نکات انتخاب را باز کرده.
  • اگر دیتابیس شما از یک سرور بزرگ‌تر از منابع یک VPS ابری استفاده می‌کند یا به I/O دیسک پیوسته و زیاد نیاز دارد، وقتش رسیده سراغ یک سرور اختصاصی بروید.

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

نکات عملی برای نصب دیتابیس روی سرور ابری خودتان

وقتی تصمیم گرفتید موتور دیتابیس را خودتان روی سرور ابری نصب کنید، چند نکته جلوی مشکلات رایج را می‌گیرد:

  • دیتابیس را از اپلیکیشن جدا نگه دارید، حتی روی یک VPS ابری کوچک. یک سرور برای اپلیکیشن، یک سرور برای دیتابیس — این‌طوری هر کدام را جدا مقیاس می‌دهید.
  • پورت دیتابیس را به بیرون باز نگذارید. فقط آی‌پی سرور اپلیکیشن یا یک شبکه خصوصی باید به آن دسترسی داشته باشد.
  • بکاپ را از روز اول خودکار کنید، نه بعد از اولین حادثه. راهنمای بکاپ‌گیری خودکار MySQL به Object Storage یک روش عملی با mysqldump و rclone نشان می‌دهد.
  • هر چند وقت یک‌بار همان بکاپ را بازیابی کنید تا از سالم بودنش مطمئن شوید. بکاپی که هیچ‌وقت تست نشده، فقط یک فایل داخل یک پوشه است.
  • مصرف رم و کوئری‌های کند را رصد کنید؛ وقتی رم پر شد یا کوئری‌ها کند شدند، ارتقای پلن سرور ابری چند دقیقه طول می‌کشد، نه چند روز.

دیتابیس خودتان را روی سرور ابری آریانت راه‌اندازی کنید

جمع‌بندی

فرق اصلی دیتابیس ابری با دیتابیس سنتی، نحوه رسیدن ظرفیت به شماست: در حالت سنتی از قبل سخت‌افزار می‌خرید، در حالت ابری هر وقت لازم شد پلن را عوض می‌کنید. مدیریت‌شده بودن یک لایه جداست که می‌تواند روی هر کدام سوار شود یا نباشد. برای خیلی از پروژه‌های داخلی، نصب موتور دلخواه روی یک سرور ابری نزدیک به کاربرهایتان، نقطه شروع منطقی‌تری نسبت به یک سرویس مدیریت‌شده خارجی است.

سؤالات متداول

آیا دیتابیس ابری همیشه مدیریت‌شده است؟ نه. ابری بودن فقط به محل اجرا (روی زیرساخت ابری) اشاره دارد؛ می‌توانید همان موتور دیتابیس را کامل خودتان روی یک سرور ابری نصب و مدیریت کنید.

برای یک اپلیکیشن کوچک، دیتابیس را روی همان سرور اپلیکیشن بگذارم یا جدا؟ برای شروع می‌توانید روی یک VPS ابری یکجا نگه دارید، اما وقتی ترافیک بالا رفت، جدا کردن دیتابیس روی سرور ابری دیگر مقیاس‌پذیری را راحت‌تر می‌کند.

دیتابیس ابری از دیتابیس سنتی امن‌تر است؟ امنیت به تنظیمات شما وابسته است، نه به محل اجرا. در هر دو حالت باید پورت را محدود کنید، آپدیت امنیتی بزنید و بکاپ منظم داشته باشید.

مهاجرت از سرور سنتی به سرور ابری چقدر طول می‌کشد؟ برای دیتابیس‌های متوسط، معمولا با mysqldump یا ابزار مشابه و یک بازه کوتاه قطعی سرویس انجام می‌شود؛ زمان دقیق به حجم داده و پهنای باند بستگی دارد.