4 điểm bởi GN⁺ 2025-02-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mathesar là một ứng dụng web cho phép người dùng ở nhiều trình độ kỹ thuật khác nhau xem, chỉnh sửa, truy vấn và cộng tác trên dữ liệu PostgreSQL không cần viết mã
  • Công cụ này hoạt động trực tiếp với cơ sở dữ liệu, schema và bảng PostgreSQL hiện có, đồng thời sử dụng kiểm soát truy cập dựa trên vai trò và quyền của Postgres mà không cần thêm lớp trừu tượng nào
  • Có thể triển khai theo hình thức tự lưu trữ trong vài phút, dữ liệu không rời khỏi máy chủ của bạn, và hiện đang ở trạng thái public beta
  • Các tính năng chính gồm tạo/chỉnh sửa schema và bảng, nhập dữ liệu kiểu bảng tính, lọc/sắp xếp/nhóm, Data Explorer dùng không cần SQL, form, nhập/xuất dữ liệu và migration schema
  • Đây là dự án mã nguồn mở 100% do Mathesar Foundation duy trì, được phát hành theo giấy phép GPLv3, và Mathesar Cloud đang cung cấp bản beta sớm cùng gói miễn phí

Cách Mathesar giúp làm việc với Postgres

  • Mathesar là một ứng dụng web giúp việc làm việc với cơ sở dữ liệu PostgreSQL trở nên đơn giản nhưng vẫn mạnh mẽ
  • Người dùng có thể xem, tạo, sửa, xóa dữ liệu và cộng tác qua giao diện kiểu bảng tính quen thuộc
  • Có thể tạo truy vấn thông qua Data Explorer mà không cần biết SQL hay join
  • Bạn có thể kết nối với cơ sở dữ liệu PostgreSQL hiện có hoặc thiết lập cơ sở dữ liệu mới từ đầu

Thiết kế kết nối trực tiếp với Postgres

  • Mathesar hoạt động trực tiếp với cơ sở dữ liệu, schema và bảng PostgreSQL không có lớp trừu tượng bổ sung
  • “Relationships” trong giao diện được triển khai bằng foreign key của cơ sở dữ liệu
  • Công cụ này sử dụng và thao tác với schema, primary key, foreign key, ràng buộc và kiểu dữ liệu của PostgreSQL
  • Cung cấp các kiểu dữ liệu tùy chỉnh cho email và URL, với việc kiểm tra hợp lệ được thực hiện ở cấp cơ sở dữ liệu

Triển khai, bảo mật, trạng thái vận hành

  • Mathesar hỗ trợ tự lưu trữ và có thể cài đặt trong vài phút bằng Docker
  • Có thể tích hợp vào hạ tầng hiện có và dữ liệu không rời khỏi máy chủ của người dùng
  • Kiểm soát truy cập dựa trên vai trò và quyền của PostgreSQL; bạn có thể dùng các vai trò Postgres hiện có hoặc thiết lập vai trò mới trong giao diện Mathesar
  • Trạng thái dự án như sau
    • Public Alpha: có thể cài đặt và triển khai lên máy chủ
    • Public Beta: đủ ổn định và giàu tính năng để triển khai production
    • Public: vẫn chưa hoàn tất
  • Hiện tại Mathesar đang ở giai đoạn public beta

Tính năng chính

  • Mô hình hóa dữ liệu: dễ dàng tạo và cập nhật schema cùng bảng PostgreSQL
  • Nhập dữ liệu: xem, tạo, sửa và xóa bản ghi trong bảng qua giao diện kiểu bảng tính
  • Khám phá dữ liệu: nhanh chóng chia nhỏ và xem dữ liệu bằng lọc, sắp xếp và nhóm
  • Tạo truy vấn: dùng Data Explorer để tạo truy vấn mà không cần biết SQL hay join
  • Form: tạo form có thể chia sẻ bằng liên kết riêng, nội dung gửi lên sẽ tự động được lưu thành bản ghi mới
  • Nhập/xuất dữ liệu: dễ dàng nhập và xuất dữ liệu trong và ngoài Mathesar
  • Migration schema: di chuyển cột giữa các bảng chỉ với hai cú nhấp

Dự án, tài liệu, cộng đồng

  • Mathesar là dự án mã nguồn mở 100% do Mathesar Foundation duy trì; quỹ này là một tổ chức phi lợi nhuận 501(c)(3)
  • Hướng dẫn cài đặt có trong tài liệu
  • Nếu muốn sử dụng mà không cần cài đặt, bạn có thể dùng Mathesar Cloud, hiện đang ở giai đoạn beta sớm và có gói miễn phí
  • Các kênh cộng đồng sử dụng Matrix và mailing list
  • Có thể bắt đầu đóng góp từ Contributor Guide
  • Giấy phép là GPLv3, đồng thời bao gồm cả các dẫn xuất từ mô-đun mã nguồn mở bên thứ ba theo giấy phép MIT

1 bình luận

 
GN⁺ 2025-02-01
Ý kiến trên Hacker News
  • Tôi là người dẫn dắt dự án Mathesar. Rất vui khi nó lên trang chủ, và nếu có câu hỏi gì tôi sẽ trả lời

    • Tôi muốn biết nó khác Retool như thế nào. Tôi đã dùng Retool để dựng UI trực tiếp trên Postgres, và thấy khá hay vì có thể thiết kế màn hình đôi chút, chẳng hạn chèn một hàng mới được liên kết bằng khóa chính của hàng đang chọn
      Tôi muốn biết liệu Mathesar chủ yếu nhắm đến chế độ xem kiểu bảng tính hay có thể tùy biến giao diện, cách chế độ xem bảng tính hoạt động trên nhiều bảng liên kết, và liệu có thể hiển thị dữ liệu theo kiểu không phải bảng như màn hình chi tiết hàng hoặc màn hình chỉnh sửa hay không
    • Trên website có ghi là phi lợi nhuận, nên tôi muốn biết về lâu dài có kế hoạch kiếm tiền hay không. Nếu không thì dự định duy trì kinh phí vận hành bằng cách nào
    • Tôi muốn biết nó khác với phần mềm quản trị cơ sở dữ liệu như DBeaver ở điểm nào. Lý do cốt lõi để dùng Mathesar thay vì DBeaver là gì
    • Tôi từng muốn đề xuất áp dụng cho nhóm, nhưng việc Mathesar cài một phần schema là một trở ngại. Dù vậy tôi thích ý tưởng dùng công cụ này với pgdump cục bộ
    • Có vẻ không có gì gắn trực tiếp với Linux, nên tôi muốn biết có kế hoạch thử nghiệm và hỗ trợ trên Windows Server hay không
  • Gần như ổn rồi. Có nhiều công cụ kiểu này nhưng phần lớn đều bỏ lỡ điểm cốt lõi. Vấn đề với TablePlus, DataGrip, các GUI cơ sở dữ liệu khác, hay các bản sao Airtable như NocoDB và VisualDB là chúng thiếu 3 tính năng cốt lõi mà tôi cần
    ① Phải xem được quan hệ ngay trong dòng. Tôi muốn thấy một phần của hàng được liên kết chứ không phải ID khóa ngoại, và thật tốt khi công cụ này hiểu điều đó
    ② Cần có lọc, nhóm và chế độ xem. Không chỉ là SQL WHERE đơn giản, mà là bộ lọc dễ dùng và nhóm theo tiêu đề, và đây chính là yếu tố làm Airtable mạnh
    ③ Cần có truy vấn và báo cáo do AI tạo ra. Đến năm 2025 mà ra sản phẩm không có AI thì khá đáng tiếc, và giờ việc tạo truy vấn SQL chính xác cùng biểu đồ từ ngôn ngữ tự nhiên không còn khó nữa. Xem ví dụ tại https://www.youtube.com/watch?v=ooWaPVvljlU
    Nếu có đủ ba thứ này trong một công cụ thì gần như là chén thánh của quản trị cơ sở dữ liệu

  • Giao diện trông ổn, nhưng cũng như câu chữ của Grist, tôi thấy vướng ở tagline. Liệu có thật sự gọi là kiểu bảng tính được không? Có vẻ nó không có khả năng thao tác hàng và cột vốn giúp phân biệt bảng tính với bảng dữ liệu

    • Tôi hiểu góp ý đó. Tagline này là cách ngắn nhất có thể để truyền đạt ý tưởng chung là “chỉnh sửa dữ liệu trong UI dạng bảng mà không cần quá nhiều cú nhấp hay gõ phím”, nên có phần hy sinh độ chính xác
      Vì vậy chúng tôi dùng “spreadsheet-like” thay vì “spreadsheet”, nhưng nếu có cách diễn đạt nào phù hợp hơn thì tôi rất muốn biết
  • Tôi thích cái tên này. Nó làm tôi nhớ đến thủ lĩnh Thermian trong Galaxy Quest

  • Tôi muốn biết liệu có hỗ trợ PostGIS để có thể hiển thị dữ liệu hình học trên bản đồ hay không

  • Tôi sẽ cài thử vào lúc nào đó. Phần xử lý quyền hạn trông khá tốt, và tôi mừng vì đây là dự án không phát minh lại bánh xe. Tôi muốn biết có trình soạn thảo SQL không
    Tôi không thấy trong tài liệu, và nếu không có thì với tôi đó có thể là một trở ngại khá lớn

    • Hiện trong UI vẫn chưa có trình soạn thảo SQL, nhưng đây là một trong những hạng mục mà chúng tôi đang tích cực cân nhắc triển khai sớm. Nó cũng có trong mục “What’s next?” của thông báo phát hành beta: https://mathesar.org/blog/2025/01/29/release-0-2-0
      Không chắc có phù hợp với nhu cầu của bạn không, nhưng bạn cũng có thể dùng Mathesar cùng với một trình soạn thảo SQL riêng. Mathesar luôn phản ánh trạng thái mới nhất của cơ sở dữ liệu
  • Trông gần như chính xác với thứ đội tài chính của chúng tôi yêu cầu hôm qua. Chắc chắn tôi sẽ xem kỹ
    Ở startup fintech của chúng tôi, chúng tôi muốn lưu toàn bộ thông tin liên quan đến tiền trong cơ sở dữ liệu, rồi để đội tài chính đối soát với dữ liệu ngân hàng thực tế

  • Trông rất hữu ích cho những người theo trường phái “cứ dùng Postgres đi” [1], [2]
    Tôi muốn biết khác biệt chính giữa Mathesar với NocoDBBaserow là gì. Mathesar có kế hoạch trở thành một lựa chọn thay thế Airtable mã nguồn mở không
    [1] Just use Postgres for everything (430 bình luận):
    https://news.ycombinator.com/item?id=33934139
    [2] Just Use Postgres!
    https://www.manning.com/books/just-use-postgres

    • NocoDB là GUI cơ sở dữ liệu đa dụng hỗ trợ nhiều backend, còn Mathesar chỉ dành cho Postgres nhưng được tích hợp sâu với các tính năng gốc như dùng vai trò và quyền của Postgres cho kiểm soát truy cập
      NocoDB thêm một lớp trừu tượng UI riêng lên trên các đối tượng cơ sở dữ liệu, còn Mathesar phản ánh trực tiếp cấu trúc cơ sở dữ liệu. Tuy vậy NocoDB có các tính năng mà Mathesar hiện chưa hỗ trợ như chế độ xem kanban/lịch, biểu mẫu và các kiểu dữ liệu giống Airtable hơn
      Baserow gần với một lựa chọn thay thế Airtable mã nguồn mở hơn, và khác với Mathesar hay NocoDB, nó không kết nối vào cơ sở dữ liệu hiện có. Nó có các tính năng thiên về UI như nhiều chế độ xem và biểu mẫu tương tự NocoDB, nhưng không hoạt động như một giao diện cơ sở dữ liệu theo kiểu Mathesar
      Mathesar có trình dựng truy vấn trực quan để thực hiện join và tạo truy vấn trong UI, cùng các công cụ mô hình hóa dữ liệu như di chuyển cột giữa các bảng hoặc hợp nhất dữ liệu trùng lặp. NocoDB và Baserow không có các tính năng này
      Ngoài ra Mathesar là 100% mã nguồn mở, trong khi NocoDB và Baserow theo mô hình open core có tính năng trả phí. Về lâu dài, chúng tôi muốn biến nó thành một đối thủ cạnh tranh thực sự của Airtable, và hiện đã có thể tạo cơ sở dữ liệu ngay từ đầu, nhưng để đối đầu Airtable trong nhiều trường hợp sử dụng rộng hơn thì có lẽ cần thêm nhiều kiểu dữ liệu, chế độ xem và tích hợp hơn
      Postgres thực sự cực kỳ đa năng, và đó là lý do hiện tại chúng tôi thấy ổn khi chỉ tập trung vào Postgres như backend cơ sở dữ liệu duy nhất được hỗ trợ
  • Nên xem thử Ultorg. Tên thì không hay lắm, nhưng Mathesar cũng không hơn gì, còn dự án đó có rất nhiều UX mạnh mẽ mà vẫn trực quan

    • Ultorg rất tuyệt. Thỉnh thoảng tôi và Eirik, nhà sáng lập Ultorg, vẫn trao đổi để so sánh những điều đã học được
  • Có vẻ rất hữu ích cho nhiều giao diện quản trị nơi các chuyên gia nghiệp vụ phải quản lý dữ liệu nền và UX không phải ưu tiên hàng đầu. Rất nhiều ứng dụng doanh nghiệp có phần này
    Tôi muốn biết giấy phép GPLv3 có ý nghĩa gì trong những kịch bản như vậy. Có thể chạy Mathesar như một microservice cùng với các dịch vụ độc quyền không? Những công ty không muốn công khai toàn bộ sản phẩm dưới dạng mã nguồn mở vẫn có thể sẵn sàng đóng góp ngược lên upstream các sửa đổi và cải tiến cho thành phần Mathesar

    • Mathesar dùng GPLv3 chứ không phải AGPL, nên không có vấn đề gì khi chạy cùng các dịch vụ độc quyền. Doanh nghiệp có thể dùng Mathesar như một dịch vụ độc lập trong stack mà không cần mở mã nguồn các thành phần khác
      Một ví dụ tương tự là WordPress cũng dùng GPL và có hệ sinh thái hosting rất sôi động
      GPLv3 chỉ áp dụng khi bạn sửa đổi và phân phối chính Mathesar, chứ không mở rộng sang các dịch vụ chỉ đơn thuần tương tác với Mathesar. Nếu công ty sửa Mathesar và phân phối bản sửa đổi đó thì các sửa đổi ấy phải được công bố theo GPLv3, nhưng dùng nó như microservice trong một stack doanh nghiệp thì không có vấn đề gì
      Tất nhiên, nếu gửi các sửa đổi và cải tiến đó ngược lên upstream thì chúng tôi sẽ rất cảm kích