EQVPS

VPS cho một Cơ sở dữ liệu

Tự host PostgreSQL hoặc Redis trên một VPS với toàn quyền root — toàn bộ postgresql.conf, các extension mà dịch vụ có quản lý sẽ không cho bạn cài, và những giới hạn trung thực về điều một cỗ máy dùng chung có thể và không thể chịu. Từ $8/tháng.

Có một khoảnh khắc cụ thể khi một cơ sở dữ liệu có quản lý ngừng tiện lợi và bắt đầu trở thành một bức tường. Bạn muốn một extension mà cấp đó không cung cấp. Bạn muốn xem query plan thực và tinh chỉnh work_mem. Bạn muốn một superuser. Một dịch vụ có quản lý là một lựa chọn mặc định tuyệt vời cho tới đúng lúc bạn cần sở hữu cái đó — và rồi một VPS với toàn quyền root là câu trả lời trung thực.

Trang này nói về việc chạy PostgreSQL hoặc Redis của riêng bạn đúng cách, và nói rõ nơi một cỗ máy dùng chung là lựa chọn đúng và nơi không phải.

Một cơ sở dữ liệu thực sự cần gì

Các cơ sở dữ liệu quan tâm đến hai thứ mà một máy chủ game không: bộ nhớ cho tập làm việcI/O đĩa. Hình dạng đại khái:

Redis còn nhẹ hơn — nó bị ràng buộc bởi bộ nhớ, nên chọn kích cỡ gói theo tập dữ liệu của bạn cộng chi phí phụ và bạn xong. Postgres là cái tưởng thưởng cho một chút tinh chỉnh.

Lý do thật sự để tự host: kiểm soát

Đây là chỗ một VPS xứng đáng có mặt. Trên cỗ máy của riêng bạn, bạn có:

Nếu không điều nào trong đó quan trọng với bạn, một cơ sở dữ liệu có quản lý thực sự ổn và bạn nên dùng một cái. Trang này dành cho trường hợp nó quan trọng.

Nơi một cỗ máy dùng chung là công cụ sai

Nói thẳng: một VPS vCPU dùng chung không được xây dựng cho OLTP nặng — hàng trăm giao dịch mỗi giây với các thao tác ghi nhạy độ trễ. Khối lượng công việc đó sống chết theo I/O đĩa được bảo đảm và một xung nhịp ổn định, và các gói dùng chung không hứa cái nào. Nếu đó là bạn, bạn muốn phần cứng riêng, và chúng tôi thà nói với bạn bây giờ còn hơn xem độ trễ p99 của bạn làm cả hai xấu hổ.

Cho trường hợp phổ biến hơn nhiều — một cơ sở dữ liệu sau một ứng dụng, một công cụ nội bộ, một kho phân tích, một cache — một gói dùng chung là hoàn toàn đúng.

Sao lưu không phải là tùy chọn

Tự host nghĩa là sao lưu là việc của bạn, và quy tắc duy nhất là: làm chúng trước khi bạn cần. Với Postgres, pg_dump trên một cron cho sao lưu logic, hoặc lưu trữ WAL để khôi phục về một thời điểm cho bất cứ gì bạn thực sự quan tâm. Chuyển các bản dump ra khỏi cỗ máy — tới object storage hoặc một máy chủ khác — để một đĩa chết không mang theo cả các bản sao lưu. Kiểm tra một lần khôi phục ít nhất một lần. Một bản sao lưu bạn chưa bao giờ khôi phục là một hy vọng, không phải một bản sao lưu.

Cho các máy chủ khác kết nối

Nếu cơ sở dữ liệu chỉ phục vụ một ứng dụng trên cùng cỗ máy, gắn nó vào localhost và bạn xong — không có gì để phơi. Khoảnh khắc một máy khác cần vào, hai điều thay đổi:

  1. Bạn cần một địa chỉ ổn định, định tuyến được — đó là một gói IPv4 riêng (Small-IP $16, Medium-IP $20). Các gói NAT chia sẻ một địa chỉ, ổn cho đi ra nhưng không ổn để làm một cơ sở dữ liệu mà các máy chủ khác gọi vào.
  2. Bạn tường lửa nó thật chặt. Mở 5432 (hoặc 6379) chỉ cho các IP cụ thể cần nó, không bao giờ cho 0.0.0.0/0, và yêu cầu TLS. Một cổng Postgres mở trên internet công cộng bị tìm ra trong vài phút.

Chọn gói

Thiết lậpGói
DB sau một ứng dụng, chỉ localhostSmall ($8)
Vài ứng dụng / đồng thời productionMedium ($12)
Các máy chủ khác phải kết nối vàoSmall-IP ($16) / Medium-IP ($20)
OLTP nặng, hàng trăm TPSphần cứng riêng, không phải một VPS dùng chung

Hầu hết các cơ sở dữ liệu tự host bắt đầu trên Small và lớn lên thành Medium hoặc một gói IP riêng khi chúng gánh thêm nhiều ứng dụng hoặc client bên ngoài.

Vì sao ở đây

Toàn quyền root nghĩa là nó là cơ sở dữ liệu của bạn, suốt đến tận đáy — mọi dòng cấu hình, mọi extension, lịch sao lưu của riêng bạn, không có cấp nào quyết định bạn được phép cài gì. Thanh toán là crypto (USDC hoặc USDT trên Base, Ethereum, hoặc Polygon), không KYC, không giấy tờ. Root trong khoảng 60 giây sau thanh toán, và bạn có thể có Postgres nhận kết nối vài phút sau.

Tóm tắt trung thực: tự host khi bạn muốn kiểm soát — extension, tinh chỉnh, superuser — và khi khối lượng công việc của bạn vừa phải. Cho cơ sở dữ liệu của một ứng dụng nhỏ-đến-vừa, một gói dùng chung là công cụ đúng. Cho hàng trăm TPS OLTP nhạy độ trễ, thì không, và chúng tôi sẽ nói vậy. Sẵn sàng chưa? Chọn một gói.

Sẵn sàng triển khai? Thanh toán bằng crypto, không KYC — trực tuyến trong khoảng một phút.

Triển khai ngay →

FAQ

Một cơ sở dữ liệu tự host cần bao nhiêu RAM?

Cho một ứng dụng — một instance Postgres hoặc Redis cộng backend của nó — 1.7-2 GB là một tập làm việc thực tế, nên Small ($8) vừa. Vài ứng dụng, hoặc một cơ sở dữ liệu production với đồng thời thực, đẩy bạn lên Medium ($12), và nếu các máy khác cần tới nó, một gói IP riêng. Chọn kích cỡ theo tập làm việc và số kết nối, không theo hy vọng.

Vì sao tự host thay vì một cơ sở dữ liệu có quản lý?

Kiểm soát. Bạn có toàn bộ postgresql.conf, superuser, và bất kỳ extension nào bạn muốn — pgvector, PostGIS, TimescaleDB, pg_cron — những thứ mà các cấp có quản lý thường khóa lại hoặc tính thêm tiền. Đánh đổi là sao lưu, tinh chỉnh và nâng cấp là việc của bạn. Nếu bạn muốn sở hữu cỗ máy, đây là mục đích.

Một VPS dùng chung có ổn cho một cơ sở dữ liệu production không?

Cho một ứng dụng nhỏ-đến-vừa, thì có. Cho OLTP nặng — hàng trăm giao dịch mỗi giây, các thao tác ghi nhạy độ trễ — một cỗ máy vCPU dùng chung là công cụ sai, và chúng tôi sẽ nói vậy thay vì bán cho bạn một cái. I/O đĩa và một xung nhịp được bảo đảm quan trọng ở đó, và các gói dùng chung không hứa cái nào.

Làm sao để các máy chủ khác của tôi kết nối tới cơ sở dữ liệu?

Gắn Postgres vào đúng interface, mở cổng chỉ cho các IP cần nó, và dùng một gói với một IPv4 riêng để địa chỉ ổn định và tiếp cận được. Đừng bao giờ phơi 5432 ra toàn bộ internet — tường lửa nó chỉ cho các máy chủ ứng dụng của bạn và yêu cầu TLS.

Tôi có cần cung cấp giấy tờ cho bạn không?

Không. Email để đăng ký, USDC hoặc USDT để thanh toán. Không giấy tờ, root trong khoảng một phút.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.