Mathesar - Truy cập dữ liệu Postgres qua giao diện trực quan giống bảng tính
(github.com/mathesar-foundation)- 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
Ý 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 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
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
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
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 NocoDB và Baserow 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 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
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
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