有那麼一個特定的時刻,託管資料庫不再是省心,而是變成一堵牆。您想要一個方案沒提供的擴充。您想看到真實的查詢計畫、想去調 work_mem。您想要超級使用者權限。託管服務是個很好的預設選項——直到您需要真正擁有這東西為止,這時候一台帶完整 root 的 VPS 才是老實的答案。
這篇講的是如何正確地跑自己的 PostgreSQL 或 Redis,並把話說清楚:什麼情況下共享機器是對的選擇,什麼情況下不是。
資料庫到底需要什麼
資料庫在意兩樣遊戲伺服器不在意的東西:裝工作集的記憶體和磁碟 I/O。大致是這個樣子:
- 單個應用——一個 Postgres(或 Redis)執行個體加一個後端服務。工作集通常是 1.7 到 2 GB。Small($8)輕鬆搞定,毫無壓力。
- 幾個應用,或真實的生產同時執行——更多連線、更大的快取、背景任務。Medium($12)給您留出餘量。
- 別的機器要連進來——您需要一個穩定、可路由的位址,所以要選獨立 IPv4 方案(Small-IP $16 起)。下面細說。
Redis 更輕——它受記憶體約束,所以按資料集加上開銷來定規格就完事了。真正值得花點心思調優的是 Postgres。
自建的真正理由:掌控
這正是 VPS 體現價值的地方。在您自己的機器上,您能拿到:
- 整個
postgresql.conf——shared_buffers、work_mem、max_connections、WAL 設定,全都在內,按您的負載調,而不是照廠商的預設值。 - 任何擴充。
pgvector做向量嵌入和語義搜尋、PostGIS做地理空間、TimescaleDB做時序、pg_cron、pg_stat_statements——需要什麼裝什麼。託管方案經常限制擴充清單,或者把它擋在更高的方案後面。 - 超級使用者以及底層作業系統。 您可以移動資料目錄、調核心、按自己的節奏跑
pg_dump,想要的話還能設定到另一台機器的流複製。
如果這些對您都無所謂,那託管資料庫確實挺好,您就該用它。這篇是寫給在意這些的場景的。
什麼情況下共享機器是錯的工具
把話說明白:共享 vCPU 的 VPS 不是為重型 OLTP 造的——每秒幾百筆事務、延遲敏感的寫入。那種負載的生死取決於有保證的磁碟 I/O 和穩定的主頻,而共享方案兩樣都不保證。如果您是這種情況,您需要的是獨享硬體,我們寧願現在就告訴您,也不想看著您的 p99 延遲讓我們倆都尷尬。
而對於遠為常見的場景——資料庫背後就一個應用、一個內部工具、一個分析儲存、一個快取——共享方案恰好合適。
備份不是可選項
自建意味著備份是您自己的活兒,唯一的鐵律是:在您需要它之前就做好。 對 Postgres 來說,用 cron 跑 pg_dump 做邏輯備份,或者對任何您真正在乎的東西做 WAL 封存來實作時間點恢復。把匯出的檔案轉移到機器之外——轉到物件儲存或另一台伺服器——這樣一塊壞盤不會把備份一起帶走。至少測試一次恢復。從沒恢復過的備份是一種指望,不是備份。
讓別的伺服器連進來
如果資料庫只服務同一台機器上的一個應用,把它綁到 localhost 就完事了——沒什麼要暴露的。但只要另一台機器需要連進來,兩件事就變了:
- 您需要一個穩定、可路由的位址——也就是獨立 IPv4 方案(Small-IP $16、Medium-IP $20)。NAT 方案共享一個位址,這對對外沒問題,但拿來當別的伺服器撥號連入的資料庫就不行。
- 您要把防火牆做到位。 只對具體需要的那些 IP 開放 5432(或 6379),永遠不要對
0.0.0.0/0開放,並強制啟用 TLS。一個開放在公用上的 Postgres 埠,幾分鐘內就會被掃到。
怎麼選方案
| 場景 | 方案 |
|---|---|
| 資料庫背後就一個應用,僅 localhost | Small($8) |
| 幾個應用 / 生產同時執行 | Medium($12) |
| 別的伺服器必須連進來 | Small-IP($16)/ Medium-IP($20) |
| 重型 OLTP,每秒幾百筆事務 | 獨享硬體,不是共享 VPS |
大多數自建資料庫從 Small 起步,隨著接入更多應用或外部用戶端,再成長到 Medium 或獨立IP方案。
為什麼選這裡
完整 root 意味著這是您的資料庫,從頭到腳都是您的——每一行設定、每一個擴充、您自己的備份節奏,沒有哪個方案來決定您能裝什麼。付款用加密貨幣(Base、Ethereum 或 Polygon 上的 USDC 或 USDT),免 KYC,不要檔案。付款後大約 60 秒拿到 root,幾分鐘後就能讓 Postgres 開始接受連線。
老實地總結一下:當您想要掌控——擴充、調優、超級使用者——並且您的負載適中時,就自建。對於一箇中小型應用的資料庫,共享方案是對的工具。對於每秒幾百筆、延遲敏感的 OLTP,它不合適,我們會直說。準備好了?挑一個方案吧。
評論
目前還沒有評論。歡迎成為第一位。