Det finns ett specifikt ögonblick där en managed databas slutar vara bekväm och börjar vara en vägg. Du vill ha ett tillägg som nivån inte erbjuder. Du vill se den faktiska query-planen och tuna work_mem. Du vill ha en superuser. En managed tjänst är ett utmärkt standardval ända fram till den punkt där du behöver äga saken — och då är en VPS med full root det ärliga svaret.
Den här sidan handlar om att köra din egen PostgreSQL eller Redis korrekt, och om att vara tydlig med var en delad box är rätt val och var det inte är det.
Vad en databas faktiskt behöver
Databaser bryr sig om två saker som en gameserver inte gör: minne för working set och disk-I/O. Den grova formen:
- En app — en Postgres- (eller Redis-)instans plus en backend-tjänst. Working set är oftast 1,7-2 GB. Small ($8) klarar det utan drama.
- Ett par appar, eller verklig produktionssamtidighet — fler anslutningar, större cachar, bakgrundsjobb. Medium ($12) ger dig marginalen.
- Andra maskiner måste nå den — du vill ha en stabil, routbar adress, så ett dedikerat-IPv4-plan (Small-IP $16 och uppåt). Mer om det nedan.
Redis är ännu lättare — den är minnesbunden, så dimensionera planet efter din dataset plus overhead så är du klar. Postgres är den som belönar lite tuning.
Den verkliga anledningen att självhosta: kontroll
Det är här en VPS förtjänar sin plats. På din egen box får du:
- Hela
postgresql.conf—shared_buffers,work_mem,max_connections, WAL-inställningar, allt, tunat efter din workload istället för en leverantörs standardvärden. - Vilket tillägg som helst.
pgvectorför embeddings och semantisk sökning,PostGISför geospatialt,TimescaleDBför tidsserier,pg_cron,pg_stat_statements— installera vad du behöver. Managed-nivåer begränsar ofta tilläggslistan eller gömmer den bakom ett högre plan. - Superuser och OS:et under det. Du kan flytta datakatalogen, tuna kärnan, köra
pg_dumppå ditt eget schema, och sätta upp streaming-replikering till en annan box om du vill det.
Om inget av det spelar roll för dig är en managed databas verkligen bra och du bör använda en. Den här sidan är för fallet där det gör det.
Där en delad box är fel verktyg
För att vara rak om det: en shared-vCPU-VPS är inte byggd för tung OLTP — hundratals transaktioner i sekunden med latenskritiska skrivningar. Den workloaden lever eller dör på garanterad disk-I/O och en stadig klocka, och delade planer lovar ingetdera. Om det är du vill du ha dedikerad hårdvara, och vi berättar det hellre nu än ser din p99-latens skämma ut oss båda.
För det mycket vanligare fallet — en databas bakom en app, ett internt verktyg, en analytics-lagring, en cache — är ett delat plan precis rätt.
Säkerhetskopior är inte valfria
Att självhosta innebär att säkerhetskopior är ditt jobb, och den enda regeln är: gör dem innan du behöver dem. För Postgres, pg_dump på en cron för logiska säkerhetskopior, eller WAL-arkivering för point-in-time recovery på allt du faktiskt bryr dig om. Skeppa dumparna bort från boxen — till objektlagring eller en annan server — så att en död disk inte tar säkerhetskopiorna med sig. Testa en återställning minst en gång. En säkerhetskopia du aldrig återställt är ett hopp, inte en säkerhetskopia.
Att låta andra servrar ansluta
Om databasen bara betjänar en app på samma box, bind den till localhost så är du klar — inget att exponera. I det ögonblick en annan maskin måste in ändras två saker:
- Du behöver en stabil, routbar adress — det är ett dedikerat-IPv4-plan (Small-IP $16, Medium-IP $20). NAT-planer delar en adress, vilket är bra för utgående men inte för att vara en databas som andra servrar ringer in till.
- Du brandväggsskyddar den hårt. Öppna 5432 (eller 6379) bara för de specifika IP:er som behöver den, aldrig för
0.0.0.0/0, och kräv TLS. En öppen Postgres-port på det publika internet hittas på minuter.
Att välja planet
| Uppsättning | Plan |
|---|---|
| DB bakom en app, endast localhost | Small ($8) |
| Ett par appar / produktionssamtidighet | Medium ($12) |
| Andra servrar måste ansluta in | Small-IP ($16) / Medium-IP ($20) |
| Tung OLTP, hundratals TPS | dedikerad hårdvara, inte en delad VPS |
De flesta självhostade databaser börjar på Small och växer in i Medium eller ett dedikerat-IP-plan när de tar på sig fler appar eller externa klienter.
Varför här
Full root innebär att det är din databas, hela vägen ner — varje konfigurationsrad, varje tillägg, ditt eget säkerhetskopieringsschema, ingen nivå som bestämmer vad du får installera. Betalning är krypto (USDC eller USDT på Base, Ethereum eller Polygon), ingen KYC, inga dokument. Root på ungefär 60 sekunder efter betalning, och du kan ha Postgres som accepterar anslutningar några minuter senare.
Den ärliga sammanfattningen: självhosta när du vill ha kontroll — tillägg, tuning, superuser — och när din workload är måttlig. För en liten-till-medelstor apps databas är ett delat plan rätt verktyg. För hundratals TPS av latenskritisk OLTP är det inte det, och vi säger det. Redo? Välj ett plan.
Kommentarer
Inga kommentarer än. Bli först.