7 điểm bởi GN⁺ 2025-02-27 | 3 bình luận | Chia sẻ qua WhatsApp
  • EdgeDB đã đổi thương hiệu sang tên mới là Gel
  • PostgreSQL gần đây đang ngày càng mở rộng ảnh hưởng trong thị trường cơ sở dữ liệu
    • PostgreSQL gần như là trường hợp duy nhất trong số các DB chủ đạo được duy trì và phát triển dưới dạng mã nguồn mở
    • Bắt đầu từ một dự án nghiên cứu và được phát hành theo giấy phép tương tự MIT, nên không gặp các vấn đề như đổi giấy phép hay bị thâu tóm, nhờ đó giành được niềm tin cao
  • Vì sao PostgreSQL được gọi là “cơ sở dữ liệu quan hệ mã nguồn mở tiên tiến nhất”
    • Ngay từ thời dự án Berkeley POSTGRES năm 1985, hệ thống đã được thiết kế với khả năng mở rộng và tính mô-đun là trọng tâm
    • Có thể xử lý nhiều kiểu dữ liệu khác nhau (JSON, dữ liệu không gian, vector, v.v.), nên trên thực tế đóng vai trò như một DB đa phương thức
    • Khả năng tối ưu hóa truy vấn và hiệu năng của Planner rất tốt, nên khi biên dịch EdgeQL (ngôn ngữ truy vấn của Gel) sang SQL, hệ thống vẫn xử lý ổn định các truy vấn quy mô lớn
    • Có hệ sinh thái mở rộng Postgres rất phong phú, và cũng có thể phát triển extension bằng Rust
    • Nhiều DB như CockroachDB, YugabyteDB, TiDB, Google Spanner đều ưu tiên tương thích Postgres
  • Gel (trước đây là EdgeDB) là khái niệm thay thế lớp frontend của Postgres
    • Aurora hay Neon đã thay đổi lớp lưu trữ, còn Gel hướng tới cách truy cập DB bằng EdgeQL thay vì SQL
    • Giống như TypeScript hoạt động trên JavaScript, Gel dựa trên Postgres để biên dịch và tối ưu hóa schema và truy vấn theo cách thân thiện hơn
    • Từ phiên bản mới Gel 6.0, hệ thống cũng hỗ trợ trực tiếp SQL, cho phép áp dụng dần dần
    • Có thể sử dụng Gel từ các công cụ như Drizzle, Prisma, SQLAlchemy

Lý do đổi thương hiệu

  • Tên gọi “Edge” dễ gợi liên tưởng đến Edge Computing hoặc graph DB, gây ra sự nhầm lẫn
  • Tên được đổi thành “Gel”, ngắn gọn nhưng vẫn tạo cảm giác linh hoạt

Điều gì thay đổi và điều gì không thay đổi

  • Công ty, đội ngũ và sứ mệnh vẫn được giữ nguyên
  • Các công cụ và thư viện sẽ được cung cấp dưới tên mới (gel) thay cho tên cũ (edgedb), đồng thời vẫn có symlink hoặc package theo tên cũ để đảm bảo tương thích ngược
  • Đã có thể dùng thử v6.0 trên Gel Cloud
  • Giấy phép Apache và quá trình phát triển mã nguồn mở sẽ tiếp tục được duy trì, và công ty dự định sẽ chia sẻ thêm các cam kết bảo đảm chi tiết hơn trong các bài viết sau

3 bình luận

 
GN⁺ 2025-02-27
Ý kiến trên Hacker News
  • Có ý kiến cho rằng bộ lập kế hoạch/tối ưu hóa truy vấn của PostgreSQL là công nghệ tiên tiến hàng đầu
    • Bộ lập kế hoạch dựa trên chi phí của Postgres rất xuất sắc, nhưng là thiết kế từ thập niên 1980, cũ hơn hệ thống Volcano/Cascades được dùng trong Microsoft SQL Server và CockroachDB
    • Trong 30 năm qua đã có nhiều tiến bộ trong lĩnh vực tối ưu hóa truy vấn, nhưng gần như không được phản ánh trong Postgres
    • Postgres đã đưa vào parallel worker và JIT, nhưng thiết kế nền tảng gần như không thay đổi nhiều
    • Họ khá bảo thủ trong việc bổ sung cải tiến; các cơ sở dữ liệu khác đã hỗ trợ index skip scan từ lâu, còn Postgres vẫn đang làm việc để hỗ trợ tính năng này
    • Công nghệ tiên tiến thực sự là Umbra, một dự án nghiên cứu của nhóm Thomas Neumann tại Đại học Munich, là hậu duệ của HyPer và đang được thương mại hóa thành CedarDB
    • Phân tích của họ về bộ lập kế hoạch truy vấn của Postgres là một bài đọc rất thú vị
  • Có ý kiến cho rằng Gel giống như TypeScript dành cho Postgres
    • Đã dùng EdgeDB trong vài năm và sau khi từng dùng RethinkDB cùng MongoDB, đây là cơ sở dữ liệu yêu thích nhất
    • Không cần phải ghi nhớ các câu lệnh SQL, và khi truy vấn có vấn đề thì có một UI rất hay để xem dữ liệu
  • EdgeDB đơn giản là rất tuyệt. Schema, migration, TypeScript query builder, xác thực và mọi thứ khác đều rất tốt
    • Với các ứng dụng Remix nhỏ, có thể dùng trực tiếp DB mà không cần tạo một lớp API riêng
  • Thích tên mới hơn, vì khi dùng CLI thì việc phải gõ "edgedb" khá phiền
  • Hy vọng tài liệu mới sẽ tốt hơn, vì tài liệu trước đây khó dùng và có phần còn thiếu sót
  • Đã thử nhiều ORM, nhưng ORM của EdgeDB hoạt động rất đơn giản ngoại trừ vấn đề không tuân theo guideline
    • Mọi thứ đều hoạt động tốt mà không có bug hay lỗi cấu hình
  • EdgeDB là một sản phẩm được thiết kế tốt và có kế hoạch dùng cho dự án cá nhân
  • Postgres rất tuyệt, nhưng khối lượng công việc cần thiết để xử lý workload quy mô lớn là khá đáng kể
    • Hãy hỏi bất kỳ ai từng phải shard cơ sở dữ liệu thì sẽ rõ
  • Bài học là khi khởi nghiệp với một công ty cơ sở dữ liệu mới thì nên bắt đầu bằng SQL
    • Gần như mọi DB khởi đầu mà không hỗ trợ SQL cuối cùng đều phải bổ sung nó
  • Việc tích hợp chặt chẽ với toolchain TypeScript cùng với edgeql rất hữu ích, và tạo lỗi ít hơn ORM rất nhiều
  • Gel là một công thức thành công, đặc biệt trong thế giới TypeScript
  • Đã làm side project bằng EdgeDB 5.0 và cảm thấy niềm vui phát triển ứng dụng như khi dùng Django hay Rails
    • Đã dùng cùng Typescript+React trong môi trường serverless
    • Có sự tò mò về khả năng self-hosting
  • Có thắc mắc rằng nếu đang có Postgres DB đặt ở một khu vực cụ thể và triển khai gel trên cụm k8s theo đúng tài liệu thì liệu nó có hoạt động tốt không
    • Cũng thắc mắc việc triển khai như vậy có miễn phí không, và bản cung cấp trên cloud thiếu những tính năng nào
    • Không muốn mất các tính năng high availability, backup và monitoring của GCP
    • Cũng muốn biết liệu có thể cấu hình khu vực chứa dữ liệu hay đặt nó sau VPC hay không
 
codemasterkimc 2025-02-27

Cơ sở dữ liệu quan hệ mã nguồn mở tiên tiến nhất thế giới