· database / postgres / neon

Neon năm 2026 — một năm dùng serverless Postgres thực tế

Neon 2026: copy-on-write branching và free tier vĩnh viễn của Neon là điểm mạnh. Cold start và độ tin cậy không ổn là cảnh báo thực tế bạn cần biết.

Bởi

2.706 từ · 14 phút đọc

Neon là lựa chọn Postgres phù hợp cho các ứng dụng deploy trên Vercel, các dự án cá nhân có thể chấp nhận cold start, và quy trình CI/CD cần database branch riêng cho từng PR. Neon không thể thay thế Supabase nếu bạn cần auth và storage đi kèm, và không phải lựa chọn đáng tin cho production workload có uptime SLA nếu bạn không trả tiền theo gói Scale. Câu chuyện về độ tin cậy trong năm đầu tiên có không ít vết nứt — và bạn nên biết trước khi cam kết.

Bài này dành cho ai

Lập trình viên indie và team nhỏ đang chọn serverless Postgres cho side project, MVP, hoặc ứng dụng deploy trên Vercel. Bỏ qua nếu workload của bạn cần kết nối luôn sẵn sàng với mức giá dưới $25/tháng — Railway hoặc Supabase Pro phù hợp hơn.

Những gì chúng tôi kiểm tra

Chúng tôi đánh giá gói Free và Launch của Neon vào tháng 6 năm 2026. Số liệu cold-start latency lấy từ neon-latency-benchmarks.vercel.app, một benchmark mã nguồn mở do Neon duy trì, kiểm tra tất cả các AWS region mỗi 15 phút từ Vercel serverless functions. Benchmark kiểm tra ba phương thức kết nối: HTTP qua driver @neondatabase/serverless, WebSocket qua NeonPool, và TCP qua pg.Pool tiêu chuẩn. Số liệu giá lấy từ tài liệu chính thức tính đến tháng 6 năm 2026. Các quan sát về branching workflow dựa trên tài liệu GitHub Actions integration và báo cáo từ cộng đồng.

Lưu ý: Chúng tôi không thực hiện bài test billing thực tế 48–72 giờ trên workload đại diện cho bài đánh giá này. Ví dụ billing dưới đây là tính toán từ mức giá được công bố. Hãy tự test trước khi đưa ra quyết định dựa trên chi phí — autoscaling có thể gây bất ngờ theo cả hai hướng.

Cold-start latency của Neon

Neon databases tự động suspend sau 5 phút không hoạt động. Với gói Free, tính năng này không thể tắt.

Bức tranh latency hiện tại (us-east-1, 0.25 CU compute, HTTP driver):

MetricGiá trị
Median cold start~1.8s
P95 cold start~2.6s
Tệ nhất ghi nhận~3.1s
Hot query (SELECT đơn giản, HTTP)~2.1ms
So sánh mốc (cuối 2024)~4–5s

Xu hướng tốt — cold start đã giảm khoảng một nửa so với cuối 2024. Tuy nhiên con số tuyệt đối vẫn có thực: 1.8 giây cold start là điều người dùng sẽ cảm nhận được khi chờ phản hồi từ API.

Phương thức kết nối quan trọng hơn phần lớn nội dung marketing của Neon. HTTP serverless driver (@neondatabase/serverless) nhanh hơn pg.Pool qua TCP khi cold start. Với deployment trên Vercel hoặc Cloudflare Workers, hãy dùng HTTP driver. Kết nối TCP tạo thêm overhead mà HTTP path bỏ qua hoàn toàn.

Khoảng biến thiên rộng theo region và compute tier. Số liệu từ ap-southeast-1 hoặc eu-central-1 sẽ khác us-east-1. Luôn kiểm tra dashboard benchmark thực tế với region và phương thức kết nối của bạn trước khi kết luận — chênh lệch giữa P50 300ms và P50 2s là thật và ảnh hưởng đến kiến trúc hệ thống của bạn.

Autoscaling và thực tế billing

Giá hiện tại (tháng 6 năm 2026)

Gói Free — không cần thẻ tín dụng, không hết hạn:

  • 100 CU-hours/project/tháng (tăng gấp đôi từ 50 vào tháng 9 năm 2025)
  • 0.5 GB storage mỗi project
  • Tối đa 100 project
  • Autoscaling lên tới 2 CU (8 GB RAM)
  • Scale-to-zero sau 5 phút, không thể tắt
  • 10 branch mỗi project

Gói Launch:

  • $0.106/CU-hour compute (giảm từ $0.14 vào tháng 11 năm 2025)
  • $0.35/GB-month storage
  • Autoscaling lên tới 16 CU (64 GB RAM)
  • Scale-to-zero tùy chọn
  • Không có uptime SLA
  • 10 branch được bao gồm; thêm $1.50/branch-month tối đa 5.000 branch

Gói Scale:

  • $0.222/CU-hour compute
  • Autoscaling lên tới 16 CU (64 GB RAM); fixed compute lên tới 56 CU (224 GB RAM)
  • Scale-to-zero cấu hình từ 1 phút đến luôn bật
  • 25 branch được bao gồm
  • Uptime SLA 99.95% — chỉ áp dụng ở gói này, không có ở Launch

Tại sao giá giảm vào tháng 11 năm 2025

Databricks mua lại Neon vào tháng 5 năm 2025. Ngày 3 tháng 11 năm 2025, Neon giảm giá compute 15–25%, do AWS volume discount đạt được qua thương vụ này. Gói Launch giảm từ $0.14 xuống $0.106/CU-hour; gói Scale từ $0.26 xuống $0.222. Đây là mức giảm thực sự, không phải tái cơ cấu giá.

Ví dụ tính chi phí

Side project traffic thấp: autoscaling trung bình 0.25 CU, active 4 giờ/ngày, 1 GB storage:

  • Compute: 0.25 CU × 4h × 30 ngày × $0.106 = $3.18
  • Storage: 1 GB × $0.35 = $0.35
  • Tổng: ~$3.53/tháng

So sánh: Supabase Pro là $25/tháng cố định. Railway Postgres khoảng $5–10/tháng tùy mức dùng. Với dự án traffic thực sự thấp, autoscaling-to-zero của Neon chiếm ưu thế.

Rủi ro: traffic đột biến giữ compute ở tier cao hơn lâu hơn dự kiến. Một scheduled job, một deploy với nhiều migration nặng, hay một đợt traffic spike có thể đẩy tháng $3 lên $25. Kiểm tra billing breakdown trong vài tuần đầu.

Mới từ ngày 1 tháng 5 năm 2026: Snapshot billing ở mức $0.09/GB-month. Nếu bạn tạo project trước tháng 5 năm 2026, đây là dòng chi phí mới — hãy kiểm tra hóa đơn. Giới hạn manual snapshot cũng tăng từ 10 lên 100 mỗi project trên các gói trả phí (ngày 22 tháng 5 năm 2026).

Branching workflow trong CI/CD

Đây mới là điểm khác biệt thực sự của Neon. Giá cạnh tranh nhưng không độc đáo. Branching thì có.

Branch của Neon dùng copy-on-write ở tầng storage: tạo branch là thao tác metadata O(1). Không có data nào được copy, hiệu năng của parent không bị ảnh hưởng, và branch chỉ lưu delta khi có ghi mới. Điều này có nghĩa là branch-per-PR không tốn kém gì cho đến khi feature branch của bạn có ghi mới so với main.

GitHub Actions integration đi kèm bốn action bao quát toàn bộ quy trình CI/CD:

# Khi PR mở: tạo preview branch
- uses: neondatabase/create-branch-action@v6
  with:
    project_id: ${{ vars.NEON_PROJECT_ID }}
    branch_name: preview/${{ github.event.pull_request.number }}

# Khi PR đóng: xóa branch
- uses: neondatabase/delete-branch-action@v3
  with:
    project_id: ${{ vars.NEON_PROJECT_ID }}
    branch: preview/${{ github.event.pull_request.number }}

# Trong CI: hiển thị schema diff so với main
- uses: neondatabase/schema-diff-action@v1
  with:
    project_id: ${{ vars.NEON_PROJECT_ID }}
    compare_branch: preview/${{ github.event.pull_request.number }}

# Sau khi main cập nhật: đồng bộ feature branch
- uses: neondatabase/reset-branch-action@v1
  with:
    project_id: ${{ vars.NEON_PROJECT_ID }}
    parent: true

Schema diff action phát hiện schema drift trong CI mà không cần thêm công cụ nào. Chỉ điểm này thôi đã đủ để cân nhắc Neon cho bất kỳ team nào từng bị bất ngờ bởi migration trên môi trường production.

Những điểm còn vướng mắc:

Native Vercel integration không tự xóa branch khi PR đóng. Branch cũ tích lũy dần cho đến khi bạn chạm giới hạn. Cần cấu hình thêm delete action khi PR đóng hoặc xây dựng bước dọn dẹp định kỳ — không tự động.

Branch reset sau migration có thể thất bại nếu feature branch có trạng thái schema xung đột với những gì đã merge vào main từ lúc branch được tách ra. Không phổ biến, nhưng cần can thiệp thủ công khi xảy ra.

Prisma yêu cầu cấu hình SSL rõ ràng. Thêm ?sslmode=require vào connection string, hoặc cấu hình ssl: { rejectUnauthorized: false } trong Prisma client config. Tài liệu có hướng dẫn nhưng những ai bỏ qua phần dành riêng cho Neon thường vấp phải điều này lần đầu.

Độ tin cậy và hỗ trợ

Đọc phần này trước khi cam kết dùng Neon cho bất kỳ thứ gì production.

Lịch sử sự cố

Lịch sử downtime của Neon trong giai đoạn 2025–2026:

NgàyRegionẢnh hưởngThời gian
16–19 tháng 5, 2025us-east-1Không thể tạo và kích hoạt DB~5.5h tổng
8 tháng 5, 2026us-east-1 Cell 6~1.000 project: compute khởi động chậm/bị kẹt~2h
9–10 tháng 5, 2026us-east-2Tỷ lệ lỗi cao, vấn đề kết nối~5h
25 tháng 5, 2026sa-east-1Lỗi thao tác compute~1h 45m
1 tháng 6, 2026us-east-1, eu-central-1Lỗi tạo branch/project~1h

Bốn sự cố trong 90 ngày tính đến tháng 3 năm 2026. tryorbye.com xếp hạng độ tin cậy của Neon ở mức 55/100, mức độ ảnh hưởng của sự cố là 9/10.

Điểm chung: mọi sự cố đã xác nhận đều tập trung vào workload scale-to-zero và thao tác tạo branch hoặc project. Database chạy với compute always-on hầu như không bị ảnh hưởng. Điều này quan trọng: nếu bạn dùng gói Scale với scale-to-zero tắt, mức độ rủi ro từ các sự cố này thấp hơn đáng kể.

Nguyên nhân gốc rễ của sự cố tháng 5 năm 2025 được trình bày chi tiết trong bản postmortem công khai: PostgreSQL query planner chọn index không tối ưu trên một bảng nội bộ, thời gian query tăng từ ~200ms lên hơn 100 giây, CPU bão hòa khiến Activity Monitor không thể suspend các VM nhàn rỗi, VM pool tăng từ ~6.000 lên ~8.000, và hai VPC subnet cạn kiệt IPv4. Việc tạo và kích hoạt database mới trở nên không thể. Database đang chạy không bị ảnh hưởng. Cách khắc phục: cấu hình lại AWS CNI và tăng gấp đôi kích thước VPC subnet. Khắc phục cấu trúc dài hạn là kiến trúc “Cells”, hiện đang được triển khai.

Nhận xét “3 outages in five days” của Gergely Orosz về giai đoạn tháng 5 năm 2025 là chính xác. Khi nó xuất hiện trong các luồng bình luận, đó không phải phóng đại.

Thực tế về SLA

Uptime SLA 99.95% chỉ áp dụng cho gói Scale. Gói Launch không có SLA. Điều này không bị chôn vùi trong điều khoản nhỏ — nó nằm ngay trên trang giá — nhưng dễ bị bỏ qua khi bạn đang đánh giá sản phẩm dựa trên chi phí. Nếu bạn chạy production workload với bất kỳ cam kết uptime nào với bên ngoài, bạn cần giá gói Scale.

Chuyển đổi từ nền tảng khác

Neon hỗ trợ tất cả các phương thức migration thông thường:

Phương thứcPhù hợp vớiDowntime
Import Data Assistant< 10 GBTối thiểu
pg_dump / pg_restoreMọi kích thướcMột phần
pgcopydbMigration song song 10 GB+Một phần
Logical replicationProduction, gần như không downtimeGần bằng 0

Migration diễn ra suôn sẻ với các ứng dụng Postgres tiêu chuẩn. Tuy nhiên có những vấn đề cần biết trước:

Trở ngại cứng:

  • plv8 — bị từ chối với lỗi từ năm 2025.
  • Custom C extensions — không cài được.
  • track_commit_timestamp — không được hỗ trợ.

Những bất ngờ về hành vi sẽ ảnh hưởng nếu bạn không biết trước:

  • pg_cron jobs bị bỏ qua trong lúc scale-to-zero. pg_cron được hỗ trợ trên Neon phiên bản 1.6 trên PostgreSQL 14–17. Nhưng cron jobs chỉ chạy khi compute đang hoạt động. Với các gói scale-to-zero (Free, hoặc Launch có bật scale-to-zero), mọi job được lên lịch trong lúc database đang suspend đều bị bỏ qua — không retry, không lỗi. Nếu bạn phụ thuộc vào pg_cron cho các tác vụ định kỳ, bạn cần tắt scale-to-zero (gói Scale) hoặc chuyển các job nhạy cảm về thời gian sang external scheduler (Trigger.dev, Inngest, hoặc một cron endpoint gọi vào API của bạn).
  • Unlogged tables bị xóa khi scale-to-zero, không chỉ khi shutdown bất thường. Postgres tiêu chuẩn chỉ xóa unlogged tables sau crash. Neon xóa chúng trong mỗi chu kỳ suspend. Nếu bất kỳ phần nào trong ứng dụng của bạn dùng unlogged tables như cache hay lưu trữ tạm và mong chúng tồn tại qua restart, giả định đó sẽ sai.
  • Session state (temp tables, prepared statements, subscription LISTEN/NOTIFY) bị mất khi idle connection bị đóng. Các pattern kết nối có trạng thái sẽ bị ảnh hưởng.
  • Không có quyền superuser.
  • Không có pg_upgrade — nâng cấp phiên bản Postgres chính yêu cầu tạo project mới và migrate dữ liệu.

Một ứng dụng Rails, Django, hay Node.js thông thường dùng ORM tiêu chuẩn có thể migrate mà không cần thay đổi code. Ứng dụng phụ thuộc vào unlogged tables hay quyền superuser cần điều chỉnh trước khi migration. Ứng dụng dùng pg_cron cần đánh giá lại lịch job theo các cửa sổ suspend của scale-to-zero.

Thương vụ Databricks mua lại

Databricks mua lại Neon vào tháng 5 năm 2025 với giá khoảng $1 tỷ. Mối lo của cộng đồng — rằng Neon sẽ bị hấp thụ vào hệ sinh thái enterprise của Databricks, tăng giá, hoặc bị khai tử — chưa được giải đáp chính thức trong roadmap công khai của cả hai công ty.

Bằng chứng đến nay là trung lập: giá đã giảm sau khi được mua lại, roadmap sản phẩm vẫn tiếp tục được phát triển, và đội ngũ có vẻ còn nguyên. Sự không chắc chắn là thật và chưa được giải quyết. Nếu bạn đang xây dựng dependency production vào Neon, đây là yếu tố đáng cân nhắc.

Kết luận

Chọn Neon nếu: Bạn đang xây dựng trên Vercel hoặc Cloudflare Workers, quy trình CI/CD của bạn sẽ được hưởng lợi từ branch-per-PR, hoặc bạn muốn free tier thực sự không cần thẻ tín dụng và không hết hạn. Trải nghiệm branching là tốt nhất hiện có ở mức giá này.

Chọn Supabase nếu: Bạn cần auth, storage và realtime trong một hóa đơn hàng tháng. Hoặc nếu bạn cần database production với lịch sử độ tin cậy tốt hơn gần đây ở mức $25/tháng cố định.

Chọn Railway nếu: Bạn muốn thiết lập đơn giản nhất có thể — đẩy repo, có Postgres ngay, không cold start, không cần cấu hình. Đắt hơn Neon với traffic thấp nhưng trải nghiệm thẳng tắp.

Không chọn Neon nếu: Bạn cần uptime SLA mà không trả theo giá gói Scale, ứng dụng của bạn phụ thuộc vào pg_cron chạy đúng giờ trong khi database có thể bị suspend (Free hoặc Launch có scale-to-zero), hoặc bạn có unlogged tables với dữ liệu không thể mất trong chu kỳ idle.

Lưu ý

Bài đánh giá này không bao gồm test billing thực tế hoặc đo cold-start trực tiếp. Số liệu cold-start lấy từ dashboard benchmark cộng đồng. Tính toán billing dựa trên mức giá được công bố. Cả hai cần được xác minh với workload thực tế của bạn trước khi đưa ra quyết định.

Chúng tôi không có quan hệ affiliate với Neon. Partner program của Neon là chương trình tích hợp kỹ thuật, không có revenue share hay referral commission.

Đánh giá rủi ro từ thương vụ Databricks mua lại là nhận định chủ quan. Kết quả thực tế phụ thuộc vào quyết định roadmap mà cả hai công ty chưa cam kết công khai.

Tham khảo