- Một nền tảng dashboard dữ liệu mã nguồn mở dựa trên DuckDB, cho phép viết toàn bộ phân tích chỉ bằng SQL
- Bao gồm các tính năng business intelligence, embedded analytics, tạo báo cáo tự động, đồng thời hỗ trợ tự lưu trữ (Self-Hosted)
- Cung cấp cấu trúc thân thiện với nhà phát triển như quy trình làm việc dựa trên Git, bảo mật mức hàng dựa trên JWT, nhúng không cần iframe thông qua React SDK
- Hỗ trợ tạo báo cáo ở các định dạng PDF, PNG, CSV, Excel cùng các tính năng thông báo theo lịch và chia sẻ liên kết được bảo vệ bằng mật khẩu
- Được phát hành theo giấy phép MPL-2.0 và có thể trải nghiệm nhanh chỉ với Docker run, phù hợp như một công cụ BI gọn nhẹ cho startup và đội ngũ dữ liệu
Tổng quan về Shaper
- Shaper là một công cụ trực quan hóa và chia sẻ dữ liệu lấy SQL làm trung tâm hoạt động trên nền DuckDB
- Người dùng có thể tạo dashboard và biểu đồ chỉ với truy vấn SQL
- Trong truy vấn ví dụ,
date_trunc, count(), BARCHART_STACKED được dùng để trực quan hóa số phiên theo tuần
- Được cung cấp dưới dạng mã nguồn mở và có thể tự lưu trữ
- Tài liệu chính thức có tại taleshape.com/shaper/docs
Tính năng chính
- Business intelligence
- Có cách tiếp cận SQL-First và kiến trúc AI-Ready
- Hỗ trợ quản lý phiên bản và cộng tác thông qua quy trình làm việc dựa trên Git
- Có thể thực thi truy vấn trên nhiều nguồn dữ liệu
- Embedded analytics
- Hỗ trợ white-labeling và kiểu dáng tùy chỉnh
- Cung cấp bảo mật mức hàng dựa trên token JWT (Row-level security)
- Có thể nhúng không cần iframe thông qua JS và React SDK
- Báo cáo tự động
- Tự động tạo báo cáo ở các định dạng PDF, PNG, CSV, Excel
- Cung cấp tính năng thông báo theo lịch và gửi báo cáo
- Có thể chia sẻ an toàn thông qua liên kết được bảo vệ bằng mật khẩu
Bắt đầu nhanh (Quickstart)
- Có thể chạy ngay bằng lệnh Docker mà không cần cài đặt
- Lệnh:
docker run --rm -it -p5454:5454 taleshape/shaper
- Bắt đầu sử dụng bằng cách truy cập http://localhost:5454/new trên trình duyệt
- Cung cấp tài liệu Getting Started Guide và Production Deployment Guide
Hỗ trợ và lưu trữ
- Shaper là mã nguồn mở hoàn toàn miễn phí
- Taleshape cũng cung cấp riêng dịch vụ hosting được quản lý và hỗ trợ kỹ thuật
Giấy phép và cấu hình kỹ thuật
- Áp dụng Mozilla Public License 2.0 (MPL-2.0)
- Thành phần ngôn ngữ chính: Go (48.8%), TypeScript (48.1%), Python (1.0%) v.v.
Tóm tắt
- Shaper là một công cụ dashboard BI dựa trên SQL tương tự Metabase hoặc Superset, tận dụng tính gọn nhẹ và tốc độ của DuckDB
- Nhờ cấu trúc thân thiện với nhà phát triển, triển khai đơn giản và giấy phép mã nguồn mở, đây là một lựa chọn thay thế phù hợp cho startup và các đội phân tích dữ liệu
1 bình luận
Ý kiến trên Hacker News
Dự án này thật sự rất tuyệt, đặc biệt là tính năng tạo báo cáo PDF rất ấn tượng
Giờ đây cảm giác như bất kỳ sản phẩm nào cũng tự xây dashboard riêng là một điều ngớ ngẩn
Khách hàng enterprise dù sao cũng muốn nó được tích hợp vào ERP
Tôi luôn cho rằng cần cung cấp kết nối DB chỉ đọc để khách hàng có thể tự tạo trực quan hóa
Cách tiếp cận này lẽ ra phải trở thành tiêu chuẩn từ 10 năm trước, và trong thời đại LLM phổ biến như hiện nay thì nhu cầu đó còn lớn hơn nữa
Không nên quên rằng khách hàng cuối cùng cũng là con người
Không ai muốn quản lý thêm một tài khoản nữa
Phân tích và cảnh báo nên theo kiểu push, các báo cáo được tạo tự động nên được gửi qua email, và cần có tùy chọn để khách hàng tự cấu hình dashboard
Mặc định rất quan trọng, nhưng ngữ cảnh(context) cũng quan trọng không kém
Hồi đó Crystal Reports được dùng rất rộng rãi và thường được bundle sẵn trong phần mềm
Chỉ là khi ấy không có kho lưu trữ truy vấn SQL dùng chung, nên nếu không hiểu rõ mô hình dữ liệu thì либо tốn thời gian, либо phải xin trực tiếp từ đồng nghiệp
Từ sau khi nó bị SAP mua lại thì tôi chưa dùng nữa
Nhờ vậy có thể nhìn toàn bộ quy trình công ty trong một lần, và tốc độ phối hợp giữa các phòng ban tăng lên cực kỳ nhiều
Bây giờ hầu như không còn ai có quyền như vậy nữa
Khách hàng dùng nó để viết báo cáo tùy chỉnh, lưu trữ vào data warehouse, và xử lý cảnh báo, kiểm toán, tuân thủ quy định cùng nhiều việc khác
Vì thế tôi thích mô hình này hơn là một UI phân tích tích hợp nửa vời hoặc REST API bị giới hạn
Khách hàng nâng cao có thể tự xử lý xác thực, mô hình hóa và truy vấn
Nếu có thể cung cấp thêm Data API như PostgREST, Hasura, Microsoft DAB thì càng tốt
Trong thời đại mà AI agent trở thành chủ thể tiêu thụ dữ liệu, quyền truy cập đọc trực tiếp là điều thiết yếu
Theo tôi, thời đại tính phí hoặc áp giới hạn lên quyền truy cập dữ liệu của khách hàng đã kết thúc
Cách vận hành kiểu push chỉ nên được dùng để chuyển dữ liệu từ môi trường giao dịch sang môi trường phân tích
Nếu chỉ ở mức báo cáo tĩnh đơn giản thì warehouse là quá mức cần thiết
Nhiều người dùng đang dùng Shaper như một UI lọc dữ liệu rồi xuất ra PDF, PNG, CSV
Hiện tại chúng tôi đang phát triển tính năng tự động gửi các tệp này dưới dạng tin nhắn bằng chức năng task của Shaper
Tôi từng thắc mắc liệu sản phẩm này có phải là thay thế Metabase hay không
Tôi dùng Metabase rất nhiều, và sản phẩm này cho cảm giác hoàn toàn khác
Vì có lakehouse tích hợp dựa trên DuckDB + DuckLake, nên có thể gọi nó là “giải pháp thay thế Metabase dựa trên DuckDB”
Nó hướng đến embedded BI để không phải mua và kết nối riêng Snowflake, Fivetran, công cụ BI
Trong khi đó Shaper định nghĩa mọi cấu hình bằng mã SQL
Cấu hình đơn giản, nhưng với những người thích workflow lấy SQL làm trung tâm thì nó rất hiệu quả
Làm rất tuyệt
Hồi trước khi gặp Jorin ở meetup, đây mới chỉ là một ý tưởng đơn giản, nên thật ngạc nhiên khi thấy nó phát triển bền bỉ như vậy
Công cụ tốt, cũng đáng nhắc đến SQLPage với cách tiếp cận tương tự
SQLPage tập trung vào tạo UI và không dùng DuckDB
Shaper thì tập trung vào phân tích và dashboard, có tính năng tạo PDF và dùng DuckDB
Metabase cũng tương thích tốt với DuckDB
Nhờ metabase_duckdb_driver của MotherDuck
Tôi tò mò không biết quá trình truy vấn → tạo báo cáo có thể chạy độc lập hay không
Sẽ rất hay nếu có thể chỉ xuất HTML hoặc dùng trực tiếp component React trong dự án
Tôi đang làm tiện ích mở rộng VSCode, nên muốn tham khảo
Giấy phép MPL thật tuyệt, cảm ơn
Tôi đã dùng DuckDB nhưng đây là lần đầu nghe về Shaper, nên từng thắc mắc đây là công cụ dùng để làm gì
README thiếu giải thích chi tiết
SQL được chạy trên DuckDB nên có thể tận dụng mọi tính năng của DuckDB
Đây là một công cụ tối giản phù hợp với những ai muốn làm việc theo hướng code
Có thể xây cả dashboard nội bộ lẫn dashboard embedded cho khách hàng
Công ty chúng tôi đã tích hợp Shaper để thay thế dashboard Metabase cho khách hàng
Tôi thực sự thích sự đơn giản của nó
Tôi cũng từng làm thứ gì đó tương tự, nhưng đã bỏ cuộc vì kích thước của DuckDB
Nhưng có vẻ cuối cùng vẫn sẽ phải dùng nó