گرمای تابستان — همه‌چیز آب می‌شود، حتی قیمت‌های ما.−25%−۲۵٪ روی هر پلن سالانه، تا ۳۱ اوتدیدن پلن‌ها
EQVPS

VPS برای پایگاه‌داده

‏PostgreSQL یا Redis را روی یک VPS با دسترسی کامل root خودمیزبانی کنید — کل postgresql.conf، افزونه‌هایی که یک سرویس مدیریت‌شده اجازه نصبشان را نمی‌دهد، و محدودیت‌های صادقانه درباره اینکه یک ماشین مشترک چه چیزی را می‌تواند و چه چیزی را نمی‌تواند تحمل کند. از ۸ دلار در ماه.

یک لحظه مشخص وجود دارد که یک پایگاه‌داده مدیریت‌شده از راحت بودن دست می‌کشد و تبدیل به یک دیوار می‌شود. افزونه‌ای می‌خواهید که آن رده ارائه نمی‌دهد. می‌خواهید طرح واقعی کوئری را ببینید و work_mem را تنظیم کنید. یک superuser می‌خواهید. یک سرویس مدیریت‌شده تا لحظه‌ای که نیاز داشته باشید مالک آن چیز شوید یک پیش‌فرض عالی است — و آن‌وقت یک VPS با دسترسی کامل root پاسخ صادقانه است.

این صفحه درباره اجرای درست PostgreSQL یا Redis خودتان است، و درباره روشن بودن نسبت به اینکه کجا یک ماشین مشترک انتخاب درستی است و کجا نیست.

یک پایگاه‌داده واقعاً به چه چیزی نیاز دارد

پایگاه‌داده‌ها به دو چیزی اهمیت می‌دهند که یک سرور بازی نمی‌دهد: حافظه برای مجموعه کاری و I/O دیسک. شکل تقریبی‌اش:

Redis از این هم سبک‌تر است — به حافظه محدود است، پس پلن را به اندازه مجموعه‌داده به‌علاوه سربار تعیین کنید و کارتان تمام است. Postgres همان است که کمی تنظیم را پاداش می‌دهد.

دلیل واقعی خودمیزبانی: کنترل

اینجا همان‌جایی است که یک VPS جای خودش را به دست می‌آورد. روی ماشین خودتان این‌ها را می‌گیرید:

اگر هیچ‌کدام از این‌ها برای شما اهمیت ندارد، یک پایگاه‌داده مدیریت‌شده واقعاً خوب است و باید از آن استفاده کنید. این صفحه برای موردی است که اهمیت دارد.

کجا یک ماشین مشترک ابزار اشتباهی است

رک بگوییم: یک VPS با vCPU مشترک برای OLTP سنگین ساخته نشده — صدها تراکنش در ثانیه با نوشتن‌های حساس به تأخیر. آن بار کاری بر پایه I/O دیسک تضمین‌شده و یک کلاک پایدار زنده می‌ماند یا می‌میرد، و پلن‌های مشترک هیچ‌کدام را وعده نمی‌دهند. اگر این شما هستید، سخت‌افزار اختصاصی می‌خواهید، و ما ترجیح می‌دهیم همین حالا به شما بگوییم تا اینکه تأخیر p99 شما هر دوی ما را شرمنده کند.

برای مورد بسیار رایج‌تر — یک پایگاه‌داده پشت یک اپ، یک ابزار داخلی، یک انبار تحلیلی، یک کش — یک پلن مشترک دقیقاً درست است.

پشتیبان‌گیری اختیاری نیست

خودمیزبانی یعنی پشتیبان‌گیری کار شماست، و تنها قانون این است: قبل از آنکه به آن نیاز پیدا کنید انجامش دهید. برای Postgres، pg_dump روی یک cron برای پشتیبان‌های منطقی، یا آرشیو WAL برای بازیابی نقطه‌به‌نقطه در زمان روی هر چیزی که واقعاً برایتان مهم است. dumpها را از روی ماشین بیرون بفرستید — به object storage یا یک سرور دیگر — تا یک دیسک مرده پشتیبان‌ها را با خودش نبرد. حداقل یک بار یک بازیابی را آزمایش کنید. یک پشتیبانی که هرگز بازیابی‌اش نکرده‌اید یک امید است، نه یک پشتیبان.

اجازه دادن به سرورهای دیگر برای اتصال

اگر پایگاه‌داده فقط به یک اپ روی همان ماشین سرویس می‌دهد، آن را به localhost bind کنید و کارتان تمام است — چیزی برای در معرض گذاشتن نیست. لحظه‌ای که یک ماشین دیگر باید وارد شود، دو چیز تغییر می‌کند:

  1. به یک آدرس پایدار و مسیریابی‌پذیر نیاز دارید — که یک پلن با IPv4 اختصاصی است (Small-IP ۱۶ دلار، Medium-IP ۲۰ دلار). پلن‌های NAT یک آدرس را به اشتراک می‌گذارند، که برای خروجی خوب است اما نه برای بودن یک پایگاه‌داده‌ای که سرورهای دیگر به آن زنگ می‌زنند.
  2. آن را محکم با فایروال محدود می‌کنید. پورت ۵۴۳۲ (یا ۶۳۷۹) را فقط برای IPهای مشخصی که به آن نیاز دارند باز کنید، هرگز برای 0.0.0.0/0، و TLS را الزامی کنید. یک پورت باز Postgres روی اینترنت عمومی ظرف چند دقیقه پیدا می‌شود.

انتخاب پلن

راه‌اندازیپلن
پایگاه‌داده پشت یک اپ، فقط localhostSmall (۸ دلار)
چند اپ / هم‌روندی تولیدیMedium (۱۲ دلار)
سرورهای دیگر باید وصل شوندSmall-IP (۱۶ دلار) / Medium-IP (۲۰ دلار)
OLTP سنگین، صدها TPSسخت‌افزار اختصاصی، نه یک VPS مشترک

بیشتر پایگاه‌داده‌های خودمیزبان روی Small شروع می‌کنند و همان‌طور که اپ‌ها یا کلاینت‌های خارجی بیشتری می‌گیرند، به Medium یا یک پلن با IP اختصاصی رشد می‌کنند.

چرا اینجا

دسترسی کامل root یعنی این پایگاه‌داده مال شماست، تا ته — هر خط پیکربندی، هر افزونه، برنامه پشتیبان‌گیری خودتان، بدون هیچ رده‌ای که تصمیم بگیرد اجازه نصب چه چیزی را دارید. پرداخت با رمزارز است (USDC یا USDT روی Base، Ethereum یا Polygon)، بدون KYC، بدون مدرک. root در حدود ۶۰ ثانیه پس از پرداخت، و می‌توانید چند دقیقه بعد Postgres را در حال پذیرش اتصال‌ها داشته باشید.

جمع‌بندی صادقانه: وقتی کنترل می‌خواهید خودمیزبانی کنید — افزونه‌ها، تنظیم، superuser — و وقتی بار کاری‌تان متوسط است. برای پایگاه‌داده یک اپ کوچک تا متوسط، یک پلن مشترک ابزار درست است. برای صدها TPS از OLTP حساس به تأخیر، نیست، و ما این را می‌گوییم. آماده‌اید؟ یک پلن انتخاب کنید.

Ready to deploy? Pay with crypto, no KYC — live in about a minute.

Deploy now →

FAQ

یک پایگاه‌داده خودمیزبان به چقدر RAM نیاز دارد؟

برای یک اپ — یک نمونه Postgres یا Redis به‌علاوه بک‌اند آن — ۱.۷ تا ۲ گیگابایت یک مجموعه کاری واقع‌بینانه است، پس Small (۸ دلار) جا می‌گیرد. چند اپ، یا یک پایگاه‌داده تولیدی با هم‌روندی واقعی، شما را به Medium (۱۲ دلار) می‌رساند، و اگر ماشین‌های دیگری باید به آن برسند، به یک پلن با IP اختصاصی. اندازه را بر اساس مجموعه کاری و تعداد اتصال تعیین کنید، نه بر اساس امید.

چرا خودمیزبانی به جای یک پایگاه‌داده مدیریت‌شده؟

کنترل. کل postgresql.conf، دسترسی superuser، و هر افزونه‌ای که بخواهید را می‌گیرید — pgvector، PostGIS، TimescaleDB، pg_cron — چیزهایی که رده‌های مدیریت‌شده اغلب قفلشان می‌کنند یا برایشان هزینه اضافه می‌گیرند. مصالحه این است که پشتیبان‌گیری، تنظیم و ارتقاء بر عهده خودتان است. اگر می‌خواهید مالک ماشین باشید، این همان نقطه است.

آیا یک VPS مشترک برای یک پایگاه‌داده تولیدی مناسب است؟

برای یک اپ کوچک تا متوسط، بله. برای OLTP سنگین — صدها تراکنش در ثانیه، نوشتن‌های حساس به تأخیر — یک ماشین با vCPU مشترک ابزار اشتباهی است، و ما به جای فروختنش به شما این را می‌گوییم. I/O دیسک و یک کلاک تضمین‌شده آن‌جا اهمیت دارند، و پلن‌های مشترک هیچ‌کدام را وعده نمی‌دهند.

چطور اجازه دهم سرورهای دیگرم به پایگاه‌داده وصل شوند؟

‏Postgres را به رابط درست bind کنید، پورت را فقط برای IPهایی که به آن نیاز دارند باز کنید، و از پلنی با IPv4 اختصاصی استفاده کنید تا آدرس پایدار و در دسترس باشد. هرگز پورت ۵۴۳۲ را به کل اینترنت در معرض نگذارید — آن را با فایروال به سرورهای اپ خود محدود کنید و TLS را الزامی کنید.

آیا باید به شما مدرک شناسایی بدهم؟

نه. ایمیل برای ثبت‌نام، USDC یا USDT برای پرداخت. بدون مدرک، و root در حدود یک دقیقه.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.