آنچه در این مقاله میخوانید
آموزش شخصی سازی دیتابیس مدیریتشده در سرور مجازی اوبونتو
۲۷ دی ۱۴۰۴
راهاندازی و نگهداری دیتابیسها، فعالیتی پر از پیچیدگی و چالش است. دیتابیس های مدیریت شده به شما این امکان را میدهند که بدون نیاز به نگرانی از بابت پیکربندی، مدیریت منابع یا بکاپ گیری، فقط روی توسعه اپلیکیشن خود تمرکز کنید و تمام مسائل پیچیده را بر عهده سرویس دهنده بگذارید. علاوه بر این، میتوانید ویژگیهای مختلفی مانند پارامترهای لاگگیری، زمانبندیها، اندازه بافرها و حتی پیکربندی خاص دیگر را بر اساس نیاز خاص خودتان تغییر دهید. این سطح از شخصیسازی باعث میشود دیتابیس شما انعطافپذیرتر باشد. تمامی این قابلیتها از طریق یک API ساده قابل دسترسی است. در این آموزش یاد میگیرید چگونه تمامی تنظیمات مورد انتظارتان را اعمال کرده و دیتابیس را کاملا مطابق با شرایط خاص پروژهتان در سرور مجازی اوبونتو بهینه کنید. API سرویسهای ابری، امکان دسترسی به تمامی ویژگیها و خدماتی که در پنل مدیریت سرویس ابری موجود هستند را به صورت مستقیم برای شما فراهم میکنند.
اگر به تازگی وارد دنیای APIها شدهاید، پیشنهاد میکنیم مقالات زیر را مطالعه کنید.
API چیست؟ معرفی کاربرد ها و انواع API
۱۰ API معروف
در ادامه میخوانید:
- دیتابیس مدیریت شده چیست؟
- مزایای استفاده از دیتابیس مدیریتشده
- امنیت دیتابیسهای مدیریتشده
- ویژگیهای پیکربندی دیتابیس مدیریتشده چیست؟
- تنظیم ویژگیهای سفارشی دیتابیس
- جمعبندی
- سوالات متداول

دیتابیس مدیریت شده چیست؟
دیتابیس مدیریت شده، نوعی سرویس ابری است که تمام جنبههای فنی پایگاه داده را از جمله نگهداری، بکاپگیری و ارتقا به عهده سرویس دهنده میگذارد. با این سرویسها دیگر نیازی نیست، کاربران نگران مدیریت پایگاه دادههای خود باشند و فقط کافیست از دادههایشان در دیتابیس استفاده کنند. دیتابیس مدیریت شده برای افرادی که میخواهند زمان خود را صرف توسعه اپلیکیشن و کسبوکار خود کنند، بسیار مناسب است. شاید بهتر است بگوییم دیتابیس مدیریت شده به کاربران این امکان را میدهند تا بدون نیاز به درک عمیق فنی، از تمام قابلیتهای یک پایگاه داده استفاده کنند.
آموزش کامل بکاپ گیری از PostgreSQL در اوبونتو 24.04 را در مقاله زیر بخوانید.
بکاپ گیری از PostgreSQL
یکی از انواع رایج دیتابیسهای مدیریت شده، سرویسهای DBaaS (Database as a Service) هستند که بر پایه زیرساخت ابری ارائه میشوند. این پایگاهدادهها را کاربران میتوانند تنها با چند کلیک ساده ایجاد، تنظیم و بهروزرسانی کنند.
سرویسهای DBaaS با ارائه ابزارهای مدیریتی قدرتمند، فرآیندهای پیچیده مدیریت پایگاه دادهها را به صورت اتوماتیک و ساده انجام میدهند. بهطور مثال سرویسهایی مانند Amazon RDS و Google Cloud SQL این اجازه را میدهند که از دیتابیسهای پرقدرت استفاده کنید، بدون اینکه نیاز به دانش فنی خاصی داشته باشید.
اگر قصد خرید دیتابیس ابری (DBaaS) را دارید ولی نمیدانید از کجا شروع کنید، نگران نباشید! لیارا با خدمات ابری پیشرفته و پشتیبانی حرفهای، گزینهای مناسب برای خرید سرویس DBaaS است.
با پایگاه داده MySQL لیارا، در کمترین زمان، یک دیتابیس پرسرعت و امن راهاندازی کنید.
✅ پشتیبانگیری خودکار ✅ امنیت بالا ✅ عملکرد بهینه
خرید دیتابیس MySQL لیارا
مزایای استفاده از دیتابیس مدیریتشده
استفاده از دیتابیسهای مدیریت شده مزایای زیادی دارد که در ادامه به مهمترین آنها اشاره میکنیم:
پشتیبانی از محبوبترین پایگاههای داده
دیتابیسهای مدیریتشده به شما این امکان را میدهند که بهراحتی از پایگاههای داده معروف مانند PostgreSQL، MySQL، MongoDB، Redis، MariaDB، ElasticSearch و MSSQL استفاده کنید.
هزینه پائین و ساعتی
یکی از مزایای اصلی دیتابیسهای مدیریتشده این است که هزینهها معمولاً بهصورت ساعتی محاسبه میشود، بنابراین شما تنها برای مصرف واقعی خود هزینه میکنید.
امنیت بالا
در دیتابیسهای مدیریتشده معمولاً از ویژگیهای امنیتی پیشرفتهای مانند فایروال، رمزگذاری اتصالات و پشتیبانگیری روزانه استفاده شده است.
عدم نیاز به مدیریت سرور
با انتخاب دیتابیسهای مدیریتشده، تمام فرآیندهای پیچیدهای مانند نصب، بهروزرسانی، مانیتورینگ و مقیاسپذیری توسط سرویسدهنده انجام میشود.
پشتیبانی ۲۴/۷
سرویسهای دیتابیس مدیریتشده به کاربران این امکان را میدهند که بهطور ۲۴ ساعته و در تمام روزهای هفته به دادههای خود دسترسی داشته باشند.
آموزش کامل نصب و استفاده از PostgreSQL در سرور مجازی اوبونتو 22.04 را میتوانید در مقاله زیر مطالعه کنید.
نحوه نصب PostgreSQL
امنیت دیتابیسهای مدیریتشده
امنیت دیتابیسهای مدیریتشده یکی از مهمترین ویژگیهای آنها است، زیرا دادهها همیشه باید در امان باشند. این نوع دیتابیسها معمولا از شیوه رمزگذاری دادهها استفاده میکنند؛ یعنی هم زمانی که دادهها در حال انتقال هستند و هم زمانی که در دیتابیس ذخیره میشوند، همه موارد رمزگذاری میشود. علاوهبراین، فایروالها و سیستمهای امنیتی دیگری نیز دارند که از ورود افراد غیرمجاز به دیتابیس جلوگیری میکند.
یکی دیگر از مزایای مهم امنیتی این دیتابیسها، بکاپگیری خودکار آنها میباشد. بهصورت منظم از دادهها بکاپ گرفته میشود، چنانچه مشکلی پیش بیاید، بتوانید سریعا دادهها را بازیابی کنید.
ویژگیهای پیکربندی دیتابیس مدیریتشده چیست؟
ویژگیهای قابل پیکربندی بسته به نوع دیتابیسی که استفاده میکنید، متفاوت هستند. هر کدام از دیتابیسهای MySQL و PostgreSQL تنظیمات قابل شخصیسازی مخصوص به خودشان را دارند که میتوانید با کوئری گرفتن از نوع سرویسها، آنها را مشاهده کنید.
برای دیدن لیست ویژگیهای قابل پیکربندی هر دیتابیس، میتوانید از ویژگیهای دیتابیس MySQL و PostgreSQL که در ادامه به آنها اشاره کردهایم، استفاده کنید.
نحوه استفاده از Fast API با دیتابیس رابطه ای در سرور مجازی اوبونتو Ubuntu را در مقاله زیر بخوانید.
نحوه استفاده از Fast API
ویژگیهای قابل پیکربندی MySQL
اگر از دیتابیس MySQL استفاده میکنید، باید درخواست API مشخصشده در پایین را اجرا کنید:
GET /1.3/database/service-types/mysql
پس از ارسال درخواست، یک پاسخ دریافت میکنید، خروجی مشابه زیر خواهد بود:
HTTP/1.0 200 OK
{
"name": "mysql",
"description": "MySQL - Relational Database Management System",
"latest_available_version": "8.0.26",
"service_plans": [
... service plan options ...
],
"properties": {
"admin_password": {
"createOnly": true,
"example": "z66o9QXqKM",
"maxLength": 256,
"minLength": 8,
"pattern": "^[a-zA-Z0-9-_]+$",
"title": "Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.",
"type": ["string","null"],
"user_error": "Must consist of alphanumeric characters, underscores or dashes"
},
"admin_username": {
"createOnly": true,
"example": "avnadmin",
"maxLength": 64,
"pattern": "^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$",
"title": "Custom username for admin user. This must be set only when a new service is being created.",
"type": ["string","null"],
"user_error": "Must consist of alphanumeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"
},
"automatic_utility_network_ip_filter": {
"default": true,
"title": "Automatic utility network IP Filter",
"type": "boolean",
"description": "Automatically allow connections from servers in the utility network within the same zone"
},
"backup_hour": {
"example": 3,
"title": "The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.",
"type": ["integer","null"],
"minimum": 0,
"maximum": 23
},
... more configurations properties ...
}
}
}
در خروجی بالا، لیست خلاصه ویژگیهای قابل تنظیم را میتوانید مشاهده کنید.
ویژگیهای قابل پیکربندی PostgreSQL
برای دیدن لیست ویژگیهای PostgreSQL، میتوانید از درخواست زیر استفاده کنید:
GET /1.3/database/service-types/pg
پس از ارسال درخواست، پاسخی دریافت میکنید که خروجی آن مشابه نمونه زیر خواهد بود:
HTTP/1.0 200 OK
{
"name": "pg",
"description": "PostgreSQL - Object-Relational Database Management System",
"latest_available_version": "14.2",
"service_plans": [
... service plan options ...
"properties": {
"admin_password": {
"createOnly": true,
"example": "z66o9QXqKM",
"maxLength": 256,
"minLength": 8,
"pattern": "^[a-zA-Z0-9-_]+$",
"title": "Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.",
"type": [
"string",
"null"
],
"user_error": "Must consist of alphanumeric characters, underscores or dashes"
},
"admin_username": {
"createOnly": true,
"example": "avnadmin",
"maxLength": 64,
"pattern": "^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$",
"title": "Custom username for admin user. This must be set only when a new service is being created.",
"type": [
"string",
"null"
],
"user_error": "Must consist of alphanumeric characters, dots, underscores or dashes, may not start with dash or dot, max 64 characters"
},
"automatic_utility_network_ip_filter": {
"default": true,
"title": "Automatic utility network IP Filter",
"type": "boolean",
"description": "Automatically allow connections from servers in the utility network within the same zone"
},
"autovacuum_analyze_scale_factor": {
"title": "autovacuum_analyze_scale_factor",
"type": "number",
"description": "Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size)",
"minimum": 0,
"maximum": 1
},
... more configurations properties ...
}
}
}
در خروجی بالا، لیست خلاصه ویژگیهای قابل تنظیم دیتابیس PostgreSQL را مشاهده کردید.
برای آشنایی با نحوه راهاندازی کلاستر K3s Kubernetes در اوبونتو 22.04، مقاله زیر را مطالعه کنید.
راهاندازی کلاستر K3s Kubernetes
تنظیم ویژگیهای سفارشی دیتابیس
با ویژگیهای پیکربندی دیتابیسهای مدیریتشده، میتوانید، تنظیمات دیتابیس را همزمان با ایجاد آن انجام دهید یا بعداً تغییرات لازم را اعمال کنید. به عنوان مثال، هنگام ایجاد یک دیتابیس جدید، میتوانید تنظیمات خاصی مانند اندازه بافرها، پارامترهای لاگگیری یا تنظیمات امنیتی را مطابق با نیاز خود تعیین کنید.
برای انجام این کار، کافی است که بخش ویژگیها را به درخواست ساخت دیتابیس اضافه کرده و پارامترهای مورد نظر خود را وارد کنید. ممکن است بخواهید تنظیمات خاصی برای پروژهتان اعمال کنید یا از تنظیمات پیشفرض استفاده نمایید.
حتی پس از ایجاد دیتابیس نیز، در صورت نیاز میتوانید این ویژگیها را به راحتی تغییر دهید. این انعطافپذیری به شما کمک میکند تا دیتابیس را مطابق با نیازهای پروژه خود بهروزرسانی کرده و اکثر اوقات عملکرد بهتری داشته باشید.
دستور زیر یک دیتابیس جدید از نوع MySQL ایجاد میکند:
POST /1.3/database
{
"hostname_prefix": "doc-api-unique-prefix",
"plan": "1x1xCPU-2GB-25GB",
"title": "my-managed-database",
"type": "mysql",
"zone": "de-fra1",
"maintenance": {
"dow": "sunday",
"time": "05:00:00"
},
"properties": {
"automatic_utility_network_ip_filter": true,
"backup_hour": 4,
"backup_minute": 30
}
}
همانطور که میبینید، پارامترهایی مانند پیشوند، نام هاست، پلن مشخص برای منابع، تنظیمات نگهداری و زمانبندی بکاپگیری به همراه ویژگیهای سفارشیسازی، مانند فیلتر IP شبکه و زمان بکاپگیری مشخص شده است.
حالا، برای تغییر ویژگیهای یک دیتابیس مدیریتشده موجود، میتوانید از درخواست PATCH استفاده کنید. در این حالت، باید شناسه یکتا (UUID) دیتابیس مورد نظر را مشخص کنید تا تغییرات به درستی اعمال شوند.
PATCH /1.3/database/{uuid}
سپس ویژگیهایی که میخواهید تغییر دهید را در بدنه درخواست (Request Body) تعریف کنید. برای این کار، کافی است به پارامترهایی که قصد دارید تنظیمات آنها را بهروزرسانی کنید، اشاره کنید و مقادیر جدید را در بدنه درخواست قرار دهید:
{
"properties": {
"automatic_utility_network_ip_filter": true,
"backup_hour": 4,
"backup_minute": 30
}
}
خروجی:
{
"status": "success",
"message": "Database properties updated successfully.",
"updated_properties": {
"automatic_utility_network_ip_filter": true,
"backup_hour": 4,
"backup_minute": 30
}
}
بعد از درخواست موفق برای تغییر ویژگیهای دیتابیس، شما تأییدی از پیکربندی جدید دریافت خواهید کرد. این تأییدیه شامل اطلاعات بهروز شده است که نشان میدهد تغییرات به درستی اعمال شدهاند.
برای آشنایی با کوبرنتیز (Kubernetes) و چگونگی کارکرد آن، مقاله زیر را میتوانید مطالعه کنید.
کوبرنتیز(Kubernetes) چیست؟
جمعبندی
در این مقاله از لیارا نشان دادیم که دیتابیسهای مدیریتشده یک پیکربندی حرفهای و آسان برای نیازهای مختلف دیتابیس ارائه میدهند. این سرویس یک راهحل آماده برای دیتابیسها شامل قابلیتهایی مانند تکثیر (Replication) و پشتیبانگیری بهصورت نقطهای (Point-in-Time Backups) فراهم میآورد که معمولاً نیاز به پیکربندی پیچیدهای دارند.
سوالات متداول
دیتابیس مدیریتشده چیست و چه مزایایی دارد؟
دیتابیس مدیریتشده یک سرویس ابری است که تمام وظایف مرتبط با پیکربندی، نگهداری، پشتیبانگیری و بهروزرسانی دیتابیس را بهطور خودکار انجام میدهد.
آیا میتوانم ویژگیهای دیتابیس مدیریتشده را پس از راهاندازی تغییر دهم؟
بله، شما میتوانید ویژگیهای دیتابیس خود را پس از راهاندازی تغییر دهید.
آیا دیتابیسهای مدیریتشده برای پروژههای بزرگ مناسب هستند؟
بله، دیتابیسهای مدیریتشده بهویژه برای پروژههای بزرگ و پیچیده طراحی شدهاند.