−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

資料庫 VPS

在擁有完整 root 權限的 VPS 上自建 PostgreSQL 或 Redis——整個 postgresql.conf 隨您調,裝上託管服務不讓您裝的擴充,還有關於一台共享機器能扛什麼、不能扛什麼的實在話。$8/月起。

有那麼一個特定的時刻,託管資料庫不再是省心,而是變成一堵牆。您想要一個方案沒提供的擴充。您想看到真實的查詢計畫、想去調 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 就完事了——沒什麼要暴露的。但只要另一台機器需要連進來,兩件事就變了:

  1. 您需要一個穩定、可路由的位址——也就是獨立 IPv4 方案(Small-IP $16、Medium-IP $20)。NAT 方案共享一個位址,這對對外沒問題,但拿來當別的伺服器撥號連入的資料庫就不行。
  2. 您要把防火牆做到位。 只對具體需要的那些 IP 開放 5432(或 6379),永遠不要對 0.0.0.0/0 開放,並強制啟用 TLS。一個開放在公用上的 Postgres 埠,幾分鐘內就會被掃到。

怎麼選方案

場景方案
資料庫背後就一個應用,僅 localhostSmall($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,它不合適,我們會直說。準備好了?挑一個方案吧。

準備好部署了嗎?以加密貨幣付款,免 KYC——大約一分鐘上線。

立即部署 →

常見問題

自建資料庫需要多少記憶體?

如果只跑一個應用——一個 Postgres 或 Redis 執行個體加上它的後端——1.7 到 2 GB 是比較實際的工作集,所以 Small($8)夠用。要跑好幾個應用,或者一個有真實同時執行的生產庫,就得上 Medium($12);如果還要讓別的機器連進來,那就選獨立IP方案。按工作集和連線數來定規格,別憑想象。

為什麼要自建而不用託管資料庫?

為了掌控。您能拿到整個 postgresql.conf、超級使用者權限,以及任何您想要的擴充——pgvector、PostGIS、TimescaleDB、pg_cron——這些託管方案往往鎖死或額外收費。代價是備份、調優和升級都得您自己來。如果您想真正擁有這台機器,這就是意義所在。

共享 VPS 拿來跑生產資料庫行不行?

對於中小型應用,行。但要跑重型 OLTP——每秒幾百筆事務、延遲敏感的寫入——共享 vCPU 的機器就是錯的工具,我們會直說,而不是硬賣給您。那種場景吃的是磁碟 I/O 和穩定的主頻,而共享方案兩樣都不保證。

怎麼讓我別的伺服器連到資料庫?

把 Postgres 綁定到正確的網路卡介面,只對需要的 IP 開放埠,並使用帶獨立 IPv4 的方案,這樣位址穩定又可達。永遠別把 5432 暴露到整個網際網路——用防火牆只放行您的應用伺服器,並強制啟用 TLS。

需要給您們提供身分證件嗎?

不用。電子郵件註冊,USDC 或 USDT 付款。不要檔案,大約一分鐘就有 root。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。