
به اشتراک بگذارید

به اشتراک بگذارید
💡 سرور پایگاه داده = سروری که دادهها را نگه میدارد و به پرسوجوها پاسخ میدهد
🔶 سرور اختصاصی برای پایگاه داده
Users ➡️ Web / App servers (PHP, Node.js, .NET)
⬇️ private network
MySQL 3306 | PostgreSQL 5432 | SQL Server 1433
[ Database server ]
RAM : buffer pool / shared_buffers cache
Disk : NVMe (RAID 10)
⬇️
[ Replica ] + [ Backups ]
🔸 نکته فنی: چرا رم برای پایگاه داده اینقدر مهم است؟
⚠️ جداسازی هم هزینه دارد


| موتور | پارامتر اصلی | توصیه رسمی | نکته مهم |
|---|---|---|---|
| MySQL 8.4 (InnoDB) | innodb_buffer_pool_size | اغلب تا 80 درصد رم در سرور اختصاصی | innodb_dedicated_server فقط برای سرور غیرمشترک |
| PostgreSQL 18 | shared_buffers | شروع با 25 درصد رم | بیش از 40 درصد معمولاً بهتر نیست |
| SQL Server | max server memory | 75 درصد حافظه آزاد از سایر پردازهها | پیشفرض عملاً بدون سقف است |
⚠️ RAID نسخه پشتیبان نیست
[mysqld]
# 64 GB RAM, MySQL is the only service
innodb_buffer_pool_size = 48G
# NVMe / SSD: no neighbor page flushing
innodb_flush_neighbors = 0
# listen on the private network only
bind-address = 10.0.0.10
📚 از منابع معتبر

| ویژگی | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
| نوع مجوز | Community متنباز و ویرایشهای تجاری | متنباز و رایگان | تجاری؛ Express و Developer رایگان با محدودیت |
| نسخههای فعلی | 8.4 LTS و 9.7 LTS | 18 (آخرین نسخه اصلی) | SQL Server 2025 (17.x) |
| پارامتر کش اصلی | innodb_buffer_pool_size | shared_buffers | max server memory |
| کاربرد رایج | وردپرس و سایتهای PHP | اپلیکیشنهای پیچیده و تحلیلی | نرمافزارهای .NET، حسابداری و ERP |
⚠️ شفاف بگوییم
عدد ثابتی وجود ندارد؛ معیار اصلی حجم دادههای پرکاربرد شماست. هدف این است که Working Set در Buffer Pool جا شود. مستندات MySQL میگوید در سرور اختصاصی اغلب تا 80 درصد رم به Buffer Pool داده میشود. اگر نسبت خواندن از دیسک به خواندن از کش بالا بود، یا باید رم را بیشتر کنید یا پرسوجوها و ایندکسها را بهینه کنید.
وقتی وب و پایگاه داده بر سر CPU و رم رقابت میکنند، چند وب سرور به یک پایگاه داده مشترک نیاز دارند یا میخواهید پایگاه داده از اینترنت عمومی جدا باشد. برای سایتهای کوچک، جداسازی هزینه و پیچیدگی اضافه دارد و یک سرور خوب با تنظیم درست معمولاً کافی است.
برای پایگاه دادههای پرنوشتن، RAID 10 معمولاً انتخاب بهتری است، چون سربار محاسبه Parity ندارد و هنگام خرابی دیسک افت کارایی کمتری دارد. RAID 5 ظرفیت مفید بیشتری میدهد و برای بارهای عمدتاً خواندنی قابل قبول است. در هر دو حالت، RAID جایگزین نسخه پشتیبان نیست.
ویرایش Express رایگان است اما در SQL Server 2025 به کمترِ یک سوکت یا 4 هسته، 1410 مگابایت حافظه Buffer Pool و 50 گیگابایت حجم هر پایگاه داده محدود است. ویرایشهای Developer هم رایگاناند، ولی فقط برای توسعه و تست مجوز دارند. برای محیط عملیاتی بزرگتر، به مجوز Standard یا Enterprise نیاز دارید.
MySQL Community، MariaDB و PostgreSQL هر سه متنباز و رایگاناند و محدودیت نرمافزاری ظرفیت ندارند. انتخاب بین آنها معمولاً به نرمافزار شما بستگی دارد؛ مثلاً وردپرس با MySQL یا MariaDB کار میکند. به خاطر داشته باشید که رایگان بودن نرمافزار یعنی هزینه سختافزار، نگهداری و نسخه پشتیبان همچنان با شماست.
بله، برای پایگاه دادههای کوچک و متوسط سرور مجازی کاملاً قابل استفاده است. محدودیت اصلی، اشتراک منابع دیسک و پردازنده با کاربران دیگر میزبان است که در بارهای سنگین نوشتن، تأخیر را غیرقابل پیشبینی میکند. وقتی پایگاه داده حیاتی و پرترافیک شد، سرور اختصاصی با NVMe ثبات بیشتری میدهد.
MySQL 8.0 همچنان کار میکند، اما طبق اطلاعیه Oracle از 21 آوریل 2026 وارد دوره Sustaining Support شده است؛ یعنی دیگر مثل قبل بهروزرسانی دریافت نمیکند. Oracle ارتقا به MySQL 8.4 LTS یا 9.7 LTS را توصیه میکند. پیش از ارتقا، سازگاری برنامه را روی یک نسخه آزمایشی تست کنید.
پایگاه داده را فقط روی IP خصوصی در دسترس بگذارید، پورت آن را در فایروال برای عموم ببندید، برای هر برنامه کاربر جداگانه با حداقل دسترسی بسازید و ارتباط بین سرورها را رمزنگاری کنید. نسخه پشتیبان رمزنگاریشده و بهروزرسانی منظم موتور پایگاه داده را هم فراموش نکنید.