Er is een specifiek moment waarop een managed database ophoudt handig te zijn en een muur begint te worden. Je wilt een extensie die de tier niet biedt. Je wilt het daadwerkelijke query plan zien en work_mem tunen. Je wilt een superuser. Een managed service is een geweldige standaard, precies tot het punt waarop je het ding moet bezitten — en dan is een VPS met volledige root het eerlijke antwoord.
Deze pagina gaat over het correct draaien van je eigen PostgreSQL of Redis, en over duidelijk zijn over waar een gedeelde box de juiste keuze is en waar niet.
Wat een database echt nodig heeft
Databases geven om twee dingen die een gameserver niet doet: geheugen voor de working set en schijf-I/O. De ruwe vorm:
- Eén app — een Postgres- (of Redis-)instance plus een backend-service. De working set is meestal 1,7-2 GB. Small ($8) handelt het af zonder drama.
- Een paar apps, of echte productie-concurrency — meer connecties, grotere caches, achtergrondtaken. Medium ($12) geeft je de ruimte.
- Andere machines moeten hem bereiken — je wilt een stabiel, routeerbaar adres, dus een dedicated-IPv4-plan (Small-IP $16 en hoger). Meer daarover hieronder.
Redis is nog lichter — het is memory-bound, dus dimensioneer het plan op je dataset plus overhead en je bent klaar. Postgres is degene die een beetje tuning beloont.
De echte reden om zelf te hosten: controle
Dit is waar een VPS zijn plek verdient. Op je eigen box krijg je:
- De hele
postgresql.conf—shared_buffers,work_mem,max_connections, WAL-instellingen, alles, getuned op je workload in plaats van de standaardwaarden van een leverancier. - Elke extensie.
pgvectorvoor embeddings en semantisch zoeken,PostGISvoor geospatiaal,TimescaleDBvoor tijdreeksen,pg_cron,pg_stat_statements— installeer wat je nodig hebt. Managed tiers beperken vaak de extensielijst of zetten hem achter een hoger plan. - Superuser en het OS eronder. Je kunt de datadirectory verplaatsen, de kernel tunen,
pg_dumpop je eigen schema draaien, en streaming-replicatie naar een andere box opzetten als je dat wilt.
Als niets daarvan voor jou telt, is een managed database echt prima en zou je er een moeten gebruiken. Deze pagina is voor het geval waarin het wel telt.
Waar een gedeelde box het verkeerde middel is
Om er eerlijk over te zijn: een shared-vCPU-VPS is niet gebouwd voor zware OLTP — honderden transacties per seconde met latency-kritische writes. Die workload leeft of sterft op gegarandeerde schijf-I/O en een stabiele klok, en gedeelde plannen beloven geen van beide. Als dat jou is, wil je dedicated hardware, en we vertellen het je liever nu dan dat we je p99-latency ons allebei zien beschamen.
Voor het veel voorkomender geval — een database achter één app, een intern tool, een analytics-store, een cache — is een gedeeld plan precies goed.
Back-ups zijn niet optioneel
Zelf hosten betekent dat back-ups jouw taak zijn, en de ene regel is: doe ze voordat je ze nodig hebt. Voor Postgres, pg_dump op een cron voor logische back-ups, of WAL-archivering voor point-in-time recovery op alles waar je echt om geeft. Verscheep de dumps van de box af — naar object storage of een andere server — zodat een dode schijf de back-ups niet meeneemt. Test minstens één keer een restore. Een back-up die je nooit hebt hersteld is een hoop, geen back-up.
Andere servers laten verbinden
Als de database alleen een app op dezelfde box bedient, bind hem aan localhost en je bent klaar — niets om bloot te stellen. Op het moment dat een andere machine erin moet, veranderen twee dingen:
- Je hebt een stabiel, routeerbaar adres nodig — dat is een dedicated-IPv4-plan (Small-IP $16, Medium-IP $20). NAT-plannen delen een adres, wat prima is voor outbound maar niet voor het zijn van een database waar andere servers naartoe bellen.
- Je firewallt het hard. Open 5432 (of 6379) alleen voor de specifieke IP's die het nodig hebben, nooit voor
0.0.0.0/0, en vereis TLS. Een open Postgres-poort op het publieke internet wordt binnen minuten gevonden.
Het plan kiezen
| Opstelling | Plan |
|---|---|
| DB achter één app, alleen localhost | Small ($8) |
| Een paar apps / productie-concurrency | Medium ($12) |
| Andere servers moeten kunnen verbinden | Small-IP ($16) / Medium-IP ($20) |
| Zware OLTP, honderden TPS | dedicated hardware, geen gedeelde VPS |
De meeste zelf-gehoste databases beginnen op Small en groeien in Medium of een dedicated-IP-plan naarmate ze meer apps of externe clients aannemen.
Waarom hier
Volledige root betekent dat het jouw database is, helemaal tot de bodem — elke configuratieregel, elke extensie, je eigen back-upschema, geen tier die beslist wat je mag installeren. Betaling is crypto (USDC of USDT op Base, Ethereum of Polygon), geen KYC, geen documenten. Root in ongeveer 60 seconden na betaling, en je kunt een paar minuten later Postgres connecties laten accepteren.
De eerlijke samenvatting: host zelf wanneer je controle wilt — extensies, tuning, superuser — en wanneer je workload matig is. Voor de database van een kleine-tot-middelgrote app is een gedeeld plan het juiste middel. Voor honderden TPS aan latency-kritische OLTP is het dat niet, en we zeggen dat. Klaar? Kies een plan.
Reacties
Nog geen reacties. Wees de eerste.