有那么一个特定的时刻,托管数据库不再是省心,而是变成一堵墙。你想要一个套餐没提供的扩展。你想看到真实的查询计划、想去调 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,它不合适,我们会直说。准备好了?挑一个套餐吧。
评论
暂无评论。来做第一个吧。