10 điểm bởi GN⁺ 2024-04-16 | 2 bình luận | Chia sẻ qua WhatsApp
  • Neon là một dịch vụ đưa ra cách tiếp cận mới cho việc phát triển cơ sở dữ liệu Postgres và gần đây đã chính thức ra mắt
  • Postgres là một trong những cơ sở dữ liệu phổ biến nhất với lập trình viên, nhưng gặp khó khăn về khả năng mở rộng và khôi phục sau sự cố
  • Các lập trình viên muốn việc tạo cụm Postgres diễn ra nhanh chóng, tự động mở rộng/thu hẹp, có thể tạo ngay các nhánh để làm việc độc lập, và khôi phục nhanh theo thời điểm

Kiến trúc và đặc điểm của Neon

  • Áp dụng kiến trúc tách biệt lưu trữ và tính toán, lấy ý tưởng từ Amazon Aurora
  • Cung cấp toàn bộ thay đổi dưới dạng mã nguồn mở và gửi lên upstream
  • Người dùng có thể có trải nghiệm Postgres đầy đủ
  • Thông qua tính năng nhánh, lập trình viên có thể làm việc độc lập mà không xung đột
  • Phần tính toán có thể mở rộng độc lập theo tải
  • Nhánh được tạo trong vài giây và có ít overhead dung lượng nhờ cơ chế COW
  • Không mất nhiều thời gian để tạo và sao chép cơ sở dữ liệu hoặc máy chủ

Quá trình phát triển của Neon

  • Tháng 12/2022, dịch vụ mở cho mọi người dùng mà không cần thư mời
  • Cung cấp tính năng nhánh cho tất cả người dùng
  • Hỗ trợ API giúp tự động hóa việc quản lý Postgres
  • Ra mắt serverless driver giúp tăng tốc độ triển khai JS/TS
  • Tích hợp với Vercel, cho phép tạo nhánh DB cho mỗi bản preview
  • Ra mắt tính năng tự động điều chỉnh kích thước, không còn cần thao tác thủ công
  • Có thể quản lý trực tiếp từ terminal bằng CLI
  • Tập trung vào khả năng scale về 0 và cải thiện hành vi khởi động nguội

Ý kiến của GN⁺

  • Neon là một dịch vụ thú vị, tập trung vào việc cải thiện trải nghiệm lập trình viên. Đặc biệt, tính năng phân nhánh cơ sở dữ liệu có vẻ sẽ rất hữu ích trong việc tăng tốc độ phát triển
  • Tuy nhiên, khi triển khai thực tế vẫn sẽ có những điểm cần cân nhắc như liệu dịch vụ có hỗ trợ đầy đủ mọi tính năng của Postgres hay không, và cần thực hiện migration như thế nào
  • Có vẻ vẫn cần kiểm chứng về mức độ tương thích, độ ổn định và hiệu năng so với Postgres hiện có. Vì vẫn đang ở giai đoạn đầu sau khi ra mắt nên có lẽ cần tiếp cận thận trọng
  • Các dịch vụ tương tự gồm có Amazon Aurora, Google Cloud Spanner, Citus, v.v. Cần so sánh ưu nhược điểm của từng dịch vụ
  • Vì dựa trên Postgres nên có thể giữ nguyên các ưu điểm của Postgres, đây là một sức hấp dẫn lớn. Việc vừa dùng các công cụ quen thuộc với lập trình viên vừa nâng cao năng suất phát triển có thể sẽ trở thành thế mạnh riêng của Neon

2 bình luận

 
xguru 2024-04-16

Neon - Postgres serverless mã nguồn mở

Chỗ này cũng đã đạt GA sau 2 năm nhỉ. Cảm giác khá thú vị vì có vẻ như đang cạnh tranh với Supabase.

 
GN⁺ 2024-04-16
Ý kiến trên Hacker News
  • Một người dùng chia sẻ trải nghiệm tiêu cực khi dùng Neon: bộ phận hỗ trợ khách hàng không hữu ích, có nhiều lỗi, chậm và giá quá đắt
  • Ngược lại, một người dùng khác đang tự host Neon với vai trò vận hành Kubernetes nội bộ và rất hài lòng với giải pháp công nghệ của Neon. Người này nói rằng sẽ rất khó vận hành công ty nếu không có Neon
  • Tính năng phân nhánh toàn bộ cơ sở dữ liệu có vẻ rất tuyệt, nhưng giá hơi cao. Với gói $69/tháng, có thể thuê máy chủ riêng còn rẻ hơn
  • Một người dùng đã chuyển từ PlanetScale sang Neon vì có thể scale up/down dễ dàng và chạy nhiều cơ sở dữ liệu trên cùng một cluster. Neon dễ dùng hơn RDS và khởi động nhanh hơn (vài trăm mili giây)
  • Một khách hàng đã dùng Neon hơn 1 năm cho biết họ không gặp vấn đề gì ngoài thay đổi giá gần đây
  • Tính năng "branch" nên được gọi là "snapshot" hoặc "checkpoint" thì chính xác hơn. Việc tạo một phiên bản ghi được bằng CoW và rollback về phiên bản trước là snapshot. Branch ngụ ý có thể merge, mà đó là một bài toán rất phức tạp
  • Thời điểm tung ra thị trường, chỉ một ngày sau thông báo GA của Supabase, thật ấn tượng. Cả hai nền tảng đều rất tốt
  • Giá lưu trữ ở mức $1.50 ~ $1.75 mỗi GB là rất cao. Có thể sẽ khó chấp nhận với các dự án sở thích
  • Chưa rõ Neon khác AWS Aurora ở điểm nào, hoặc vì sao nên dùng Neon thay vì Aurora về mặt giá cả hay khả năng mở rộng
  • Nếu driver của Neon có thể giúp chuyển tiếp kết nối localhost dễ dàng hơn thì trải nghiệm phát triển và kiểm thử sẽ tốt hơn. Các nhà phát triển thích kết nối tới Postgres DB cục bộ để phát triển/kiểm thử
  • PM của Neon nên cân nhắc từ góc nhìn của nhà phát triển mới khi họ thử dùng Neon: cần thay đổi những đoạn mã nào và workflow phát triển nào