EQVPS

VPS για Βάση Δεδομένων

Self-host PostgreSQL ή Redis σε ένα VPS με πλήρες root — ολόκληρο το postgresql.conf, extensions που μια managed υπηρεσία δεν σας αφήνει να εγκαταστήσετε, και έντιμα όρια για το τι μπορεί και τι δεν μπορεί να αντέξει ένα κοινόχρηστο box. Από $8/μήνα.

Υπάρχει μια συγκεκριμένη στιγμή όπου μια managed βάση δεδομένων παύει να είναι βολική και αρχίζει να είναι τοίχος. Θέλετε ένα extension που η βαθμίδα δεν προσφέρει. Θέλετε να δείτε το πραγματικό query plan και να ρυθμίσετε το work_mem. Θέλετε έναν superuser. Μια managed υπηρεσία είναι μια εξαιρετική προεπιλογή μέχρι τη στιγμή που χρειάζεται να κατέχετε το πράγμα — και τότε ένα VPS με πλήρες root είναι η έντιμη απάντηση.

Αυτή η σελίδα αφορά το να τρέχετε τον δικό σας PostgreSQL ή Redis σωστά, και να είστε σαφείς για το πού ένα κοινόχρηστο box είναι η σωστή επιλογή και πού όχι.

Τι χρειάζεται πραγματικά μια βάση δεδομένων

Οι βάσεις δεδομένων νοιάζονται για δύο πράγματα που ένας game server δεν νοιάζεται: μνήμη για το working set και disk I/O. Το πρόχειρο σχήμα:

Το Redis είναι ακόμη ελαφρύτερο — είναι memory-bound, οπότε ορίστε το μέγεθος του πακέτου στο dataset σας συν το overhead και τελειώσατε. Το Postgres είναι αυτό που ανταμείβει λίγο tuning.

Ο πραγματικός λόγος για self-host: έλεγχος

Εδώ ένα VPS κερδίζει τη θέση του. Στο δικό σας box αποκτάτε:

Αν τίποτα από αυτά δεν σας ενδιαφέρει, μια managed βάση δεδομένων είναι γνήσια εντάξει και θα πρέπει να χρησιμοποιήσετε μία. Αυτή η σελίδα είναι για την περίπτωση που σας ενδιαφέρει.

Πού ένα κοινόχρηστο box είναι το λάθος εργαλείο

Ας το πούμε ευθέως: ένα VPS κοινόχρηστου vCPU δεν είναι φτιαγμένο για βαρύ OLTP — εκατοντάδες συναλλαγές το δευτερόλεπτο με εγγραφές κρίσιμες σε latency. Αυτό το φορτίο ζει ή πεθαίνει στο εγγυημένο disk I/O και ένα σταθερό ρολόι, και τα κοινόχρηστα πακέτα δεν υπόσχονται κανένα. Αν αυτό είστε εσείς, θέλετε αποκλειστικό hardware, και προτιμάμε να σας το πούμε τώρα παρά να παρακολουθήσουμε το p99 latency σας να ντροπιάζει και τους δύο μας.

Για την πολύ πιο κοινή περίπτωση — μια βάση δεδομένων πίσω από μία εφαρμογή, ένα εσωτερικό εργαλείο, ένα analytics store, ένα cache — ένα κοινόχρηστο πακέτο είναι ακριβώς το σωστό.

Τα backups δεν είναι προαιρετικά

Το self-hosting σημαίνει ότι τα backups είναι δική σας δουλειά, και ο ένας κανόνας είναι: κάντε τα πριν τα χρειαστείτε. Για το Postgres, pg_dump σε cron για λογικά backups, ή WAL archiving για point-in-time recovery σε οτιδήποτε πραγματικά σας ενδιαφέρει. Στείλτε τα dumps εκτός του box — σε object storage ή άλλον server — ώστε ένας νεκρός δίσκος να μην πάρει μαζί του και τα backups. Δοκιμάστε μια επαναφορά τουλάχιστον μία φορά. Ένα backup που δεν έχετε ποτέ επαναφέρει είναι ελπίδα, όχι backup.

Αφήνοντας άλλους servers να συνδεθούν

Αν η βάση δεδομένων εξυπηρετεί μόνο μια εφαρμογή στο ίδιο box, δέστε την στο localhost και τελειώσατε — τίποτα να εκθέσετε. Τη στιγμή που μια άλλη μηχανή χρειάζεται είσοδο, δύο πράγματα αλλάζουν:

  1. Χρειάζεστε μια σταθερή, δρομολογήσιμη διεύθυνση — αυτό είναι ένα πακέτο αποκλειστικού IPv4 (Small-IP $16, Medium-IP $20). Τα πακέτα NAT μοιράζονται μια διεύθυνση, που είναι εντάξει για εξερχόμενα αλλά όχι για να είστε μια βάση δεδομένων που άλλοι servers καλούν.
  2. Το βάζετε σε firewall σκληρά. Ανοίξτε το 5432 (ή 6379) μόνο στα συγκεκριμένα IPs που το χρειάζονται, ποτέ στο 0.0.0.0/0, και απαιτήστε TLS. Ένα ανοιχτό port Postgres στο δημόσιο διαδίκτυο βρίσκεται σε λεπτά.

Επιλογή πακέτου

ΕγκατάστασηΠακέτο
DB πίσω από μία εφαρμογή, μόνο localhostSmall ($8)
Λίγες εφαρμογές / production ταυτοχρονίαMedium ($12)
Άλλοι servers πρέπει να συνδεθούνSmall-IP ($16) / Medium-IP ($20)
Βαρύ OLTP, εκατοντάδες TPSαποκλειστικό hardware, όχι κοινόχρηστο VPS

Οι περισσότερες self-hosted βάσεις δεδομένων ξεκινούν σε Small και μεγαλώνουν σε Medium ή ένα πακέτο αποκλειστικού IP καθώς αναλαμβάνουν περισσότερες εφαρμογές ή εξωτερικούς clients.

Γιατί εδώ

Το πλήρες root σημαίνει ότι είναι η βάση δεδομένων σας, μέχρι κάτω — κάθε γραμμή config, κάθε extension, το δικό σας πρόγραμμα backup, καμία βαθμίδα να αποφασίζει τι σας επιτρέπεται να εγκαταστήσετε. Η πληρωμή είναι crypto (USDC ή USDT σε Base, Ethereum ή Polygon), χωρίς KYC, χωρίς έγγραφα. Root σε περίπου 60 δευτερόλεπτα μετά την πληρωμή, και μπορείτε να έχετε το Postgres να δέχεται συνδέσεις μερικά λεπτά αργότερα.

Η έντιμη ανακεφαλαίωση: self-host όταν θέλετε έλεγχο — extensions, tuning, superuser — και όταν το φορτίο σας είναι μέτριο. Για τη βάση δεδομένων μιας μικρής-έως-μέτριας εφαρμογής, ένα κοινόχρηστο πακέτο είναι το σωστό εργαλείο. Για εκατοντάδες TPS OLTP κρίσιμου σε latency, δεν είναι, και θα το πούμε. Έτοιμοι; Επιλέξτε ένα πακέτο.

Έτοιμοι για ανάπτυξη; Πληρωμή με crypto, χωρίς KYC — έτοιμο σε περίπου ένα λεπτό.

Ανάπτυξη τώρα →

Συχνές ερωτήσεις

Πόση RAM χρειάζεται μια self-hosted βάση δεδομένων;

Για μία εφαρμογή — ένα instance Postgres ή Redis συν το backend του — 1,7-2 GB είναι ένα ρεαλιστικό working set, οπότε το Small ($8) ταιριάζει. Πολλές εφαρμογές, ή μια production βάση δεδομένων με πραγματική ταυτοχρονία, σας σπρώχνουν στο Medium ($12), και αν άλλες μηχανές χρειάζεται να τη φτάσουν, ένα πακέτο αποκλειστικού IP. Ορίστε το μέγεθος βάσει working set και αριθμού συνδέσεων, όχι βάσει ελπίδας.

Γιατί self-host αντί για managed βάση δεδομένων;

Έλεγχος. Αποκτάτε ολόκληρο το postgresql.conf, superuser, και όποιο extension θέλετε — pgvector, PostGIS, TimescaleDB, pg_cron — πράγματα που οι managed βαθμίδες συχνά κλειδώνουν ή χρεώνουν επιπλέον. Το trade-off είναι ότι τα backups, το tuning και οι αναβαθμίσεις είναι δικά σας. Αν θέλετε να κατέχετε το box, αυτό είναι το νόημα.

Είναι ένα κοινόχρηστο VPS εντάξει για production βάση δεδομένων;

Για μια μικρή-έως-μέτρια εφαρμογή, ναι. Για βαρύ OLTP — εκατοντάδες συναλλαγές το δευτερόλεπτο, εγγραφές κρίσιμες σε latency — ένα box κοινόχρηστου vCPU είναι το λάθος εργαλείο, και θα το πούμε αντί να σας πουλήσουμε ένα. Το disk I/O και ένα εγγυημένο ρολόι μετρούν εκεί, και τα κοινόχρηστα πακέτα δεν υπόσχονται κανένα από τα δύο.

Πώς αφήνω τους άλλους servers μου να συνδεθούν στη βάση δεδομένων;

Δέστε το Postgres στο σωστό interface, ανοίξτε το port μόνο στα IPs που το χρειάζονται, και χρησιμοποιήστε ένα πακέτο με αποκλειστικό IPv4 ώστε η διεύθυνση να είναι σταθερή και προσβάσιμη. Ποτέ μην εκθέτετε το 5432 σε όλο το διαδίκτυο — βάλτε το σε firewall στους app servers σας και απαιτήστε TLS.

Χρειάζεται να σας δώσω ID;

Όχι. Email για εγγραφή, USDC ή USDT για πληρωμή. Χωρίς έγγραφα, root σε περίπου ένα λεπτό.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.