- เป็นแพลตฟอร์มแดชบอร์ดข้อมูลโอเพนซอร์สบนพื้นฐาน DuckDB ที่สามารถเขียนการวิเคราะห์ทั้งหมดได้ด้วย SQL เท่านั้น
- มีความสามารถด้าน Business Intelligence, Embedded Analytics, การสร้างรายงานอัตโนมัติ และรองรับ Self-Hosted
- มีโครงสร้างที่เป็นมิตรกับนักพัฒนา เช่น Git-based workflow, JWT-based row-level security และ การฝังแบบไม่ใช้ iframe ผ่าน React SDK
- รองรับการสร้างรายงานในรูปแบบ PDF, PNG, CSV, Excel รวมถึง การแจ้งเตือนตามกำหนดเวลาและการแชร์ลิงก์ที่ป้องกันด้วยรหัสผ่าน
- เผยแพร่ภายใต้ สัญญาอนุญาต MPL-2.0 และสามารถทดลองใช้งานได้อย่างรวดเร็วด้วยการรัน Docker ทำให้เหมาะเป็นเครื่องมือ BI แบบเบาสำหรับสตาร์ทอัพและทีมข้อมูล
ภาพรวมของ Shaper
- Shaper เป็นเครื่องมือ แสดงผลและแชร์ข้อมูลแบบเน้น SQL ที่ทำงานบน DuckDB
- ผู้ใช้สามารถสร้าง แดชบอร์ดและกราฟ ได้ด้วย SQL query เพียงอย่างเดียว
- ในตัวอย่าง query ใช้
date_trunc, count(), BARCHART_STACKED เป็นต้น เพื่อแสดงผลจำนวนเซสชันรายสัปดาห์
- ให้บริการในรูปแบบ โอเพนซอร์ส และสามารถ โฮสต์เอง ได้
- เอกสารอย่างเป็นทางการมีที่ taleshape.com/shaper/docs
ฟีเจอร์หลัก
- Business Intelligence
- ใช้แนวทาง SQL-First และมีโครงสร้างแบบ AI-Ready
- รองรับการจัดการเวอร์ชันและการทำงานร่วมกันผ่าน Git-based workflow
- สามารถ รัน query ข้ามหลายแหล่งข้อมูล ได้
- Embedded Analytics
- รองรับ white labeling และ สไตล์แบบกำหนดเอง
- มี Row-level security บนพื้นฐาน JWT token
- รองรับ การฝังแบบไม่ใช้ iframe ผ่าน JS และ React SDK
- Automated Reporting
- สร้างรายงานอัตโนมัติในรูปแบบ PDF, PNG, CSV, Excel
- มีฟีเจอร์ การแจ้งเตือนตามกำหนดเวลาและการส่งรายงาน
- แชร์ได้อย่างปลอดภัยผ่าน ลิงก์ที่ป้องกันด้วยรหัสผ่าน
เริ่มต้นอย่างรวดเร็ว (Quickstart)
- สามารถรันได้ทันทีด้วยคำสั่ง Docker โดยไม่ต้องติดตั้ง
- มีเอกสาร Getting Started Guide และ Production Deployment Guide ให้ใช้งาน
การสนับสนุนและโฮสติ้ง
- Shaper เป็น โอเพนซอร์สฟรีเต็มรูปแบบ
- Taleshape มีบริการ managed hosting และ technical support แยกต่างหาก
สัญญาอนุญาตและองค์ประกอบทางเทคนิค
- ใช้ Mozilla Public License 2.0 (MPL-2.0)
- ภาษาหลักที่ใช้ประกอบด้วย Go (48.8%) , TypeScript (48.1%) , Python (1.0%) เป็นต้น
สรุป
- Shaper เป็น เครื่องมือแดชบอร์ด BI ที่ใช้ SQL คล้ายกับ Metabase หรือ Superset โดยใช้ประโยชน์จาก ความเบาและความเร็วของ DuckDB
- ด้วย โครงสร้างที่เป็นมิตรกับนักพัฒนา, การปรับใช้ที่เรียบง่าย และ สัญญาอนุญาตโอเพนซอร์ส จึงเป็นทางเลือกที่เหมาะสำหรับ สตาร์ทอัพและทีมวิเคราะห์ข้อมูล
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
โปรเจกต์นี้เจ๋งมาก โดยเฉพาะฟีเจอร์ การสร้างรายงาน PDF ที่น่าประทับใจมาก
ตอนนี้รู้สึกว่าผลิตภัณฑ์อะไรก็ตามที่ยังทำแดชบอร์ดเองดูเป็นเรื่องไม่ฉลาดไปแล้ว
ลูกค้าองค์กรยังไงก็ต้องการให้มันรวมเข้ากับ ERP อยู่ดี
ผมยืนยันมาตลอดว่าควรให้ การเชื่อมต่อ DB แบบอ่านอย่างเดียว เพื่อให้ลูกค้าสร้าง visualization ได้เอง
แนวทางแบบนี้ควรกลายเป็นมาตรฐานตั้งแต่ 10 ปีก่อนแล้ว และในยุคที่ LLM แพร่หลายแบบทุกวันนี้ ความจำเป็นยิ่งมากขึ้น
อย่าลืมว่าลูกค้าก็เป็นคนเหมือนกัน
ไม่มีใครอยากมาคอยจัดการอีกบัญชีหนึ่ง
การวิเคราะห์และการแจ้งเตือนควรเป็นแบบ push-based มีการส่งรายงานที่สร้างอัตโนมัติทางอีเมล และควรมีตัวเลือกให้ลูกค้าจัดแดชบอร์ดเองได้
ค่าเริ่มต้นสำคัญก็จริง แต่ บริบท (context) ก็สำคัญเช่นกัน
ตอนนั้น Crystal Reports ถูกใช้อย่างแพร่หลายและมักถูก bundle มากับซอฟต์แวร์
เพียงแต่ตอนนั้นยังไม่มี คลังเก็บ SQL query ที่ใช้ร่วมกัน ถ้าไม่เข้าใจ data model ดี ก็จะเสียเวลา หรือไม่ก็ต้องไปขอจากเพื่อนร่วมงานโดยตรง
หลังจากนั้นพอโดน SAP ซื้อไป ผมก็ไม่ได้ใช้อีกเลย
ด้วยเหตุนี้จึงมองเห็นกระบวนการทั้งองค์กรได้ในภาพเดียว และความเร็วในการทำงานร่วมกันระหว่างแผนกก็เพิ่มขึ้นอย่างมหาศาล
ทุกวันนี้แทบไม่มีใครมีสิทธิ์แบบนี้แล้ว
ลูกค้าสามารถใช้สิ่งนี้เพื่อทำรายงานแบบคัสตอม เก็บลง data warehouse รวมถึงงานแจ้งเตือน การตรวจสอบ และการปฏิบัติตามข้อกำหนดต่าง ๆ
เพราะแบบนี้ผมจึงชอบแพตเทิร์นนี้มากกว่า embedded analytics UI แบบครึ่ง ๆ กลาง ๆ หรือ REST API ที่มีข้อจำกัด
ลูกค้าระดับสูงสามารถจัดการ auth, modeling และ query ได้เอง
ถ้ามี Data API อย่าง PostgREST, Hasura หรือ Microsoft DAB ให้เลือกด้วยก็จะดี
ในยุคที่ AI agent กลายเป็นผู้บริโภคข้อมูลโดยตรง การเข้าถึงแบบอ่านโดยตรงเป็นสิ่งจำเป็น
ผมมองว่ายุคของการคิดเงินหรือจำกัดการเข้าถึงข้อมูลลูกค้าได้จบไปแล้ว
การทำงานแบบ push-based ควรใช้แค่เพื่อย้ายข้อมูลจากสภาพแวดล้อมแบบ transactional ไปยังสภาพแวดล้อมเชิงวิเคราะห์เท่านั้น
ถ้าเป็นแค่รายงาน static แบบง่าย ๆ data warehouse ก็ถือว่าเกินจำเป็น
ผู้ใช้จำนวนมากใช้ Shaper เป็น UI สำหรับกรองข้อมูล แล้ว export เป็น PDF, PNG, CSV
ตอนนี้เรากำลังพัฒนาฟีเจอร์ที่จะส่งไฟล์เหล่านี้อัตโนมัติในรูปแบบข้อความผ่านฟังก์ชัน task ของ Shaper
ผมสงสัยว่าผลิตภัณฑ์นี้เป็น ตัวแทนของ Metabase หรือเปล่า
ผมใช้ Metabase เยอะมาก แต่ตัวนี้ให้ความรู้สึกต่างออกไปโดยสิ้นเชิง
มันมี embedded lakehouse ที่สร้างบน DuckDB + DuckLake เลยเรียกได้ว่าเป็น “ตัวแทน Metabase ที่สร้างบน DuckDB”
แนวคิดคือ embedded BI ที่ไม่ต้องซื้อและเชื่อม Snowflake, Fivetran หรือเครื่องมือ BI แยกต่างหาก
แต่ Shaper กำหนดทุกอย่างด้วย โค้ด SQL
การตั้งค่าเรียบง่าย แต่สำหรับคนที่ชอบ workflow แบบยึด SQL เป็นศูนย์กลาง มันมีประสิทธิภาพมาก
งานดีมาก
ตอนที่เคยเจอ Jorin ใน meetup มันยังเป็นแค่ไอเดียง่าย ๆ อยู่เลย พอเห็นว่าพัฒนาต่อเนื่องมาขนาดนี้ก็ทึ่งมาก
เป็นเครื่องมือที่ดี และ SQLPage ที่มีแนวทางคล้ายกันก็ควรถูกพูดถึงด้วย
SQLPage เน้นการสร้าง UI และไม่ได้ใช้ DuckDB
ส่วน Shaper เน้น งานวิเคราะห์และแดชบอร์ด ใช้ฟีเจอร์สร้าง PDF และใช้ DuckDB
Metabase ก็ รองรับ DuckDB ได้ดี เหมือนกัน
ต้องขอบคุณ metabase_duckdb_driver ของ MotherDuck
ผมสงสัยว่าสามารถรันกระบวนการ query → สร้างรายงานแบบ standalone ได้ไหม
ถ้าส่งออกเป็น HTML อย่างเดียวได้ หรือสามารถนำ React component ไปใช้ในโปรเจกต์ได้ตรง ๆ ก็คงดี
ผมกำลังทำ ส่วนขยาย VSCode อยู่ เลยอยากอ้างอิงแนวทางนี้
เป็นไลเซนส์ MPL นี่เจ๋งมาก ขอบคุณ
ผมเคยใช้ DuckDB แต่เพิ่งเคยเห็น Shaper เลยสงสัยว่าเป็น เครื่องมือที่เอาไว้ทำอะไร
ใน README ยังอธิบายละเอียดไม่พอ
SQL จะรันบน DuckDB ดังนั้นจึงใช้ความสามารถทั้งหมดของ DuckDB ได้
เป็น เครื่องมือแบบมินิมอล ที่เหมาะกับคนที่อยากทำงานแบบ code-based
ใช้สร้างได้ทั้งแดชบอร์ดภายในและแดชบอร์ดแบบ embedded สำหรับลูกค้า
บริษัทของเราได้ integrate Shaper เพื่อใช้แทนแดชบอร์ด Metabase สำหรับลูกค้า
ผมชอบความเรียบง่ายของมันมากจริง ๆ
ผมเองก็เคยทำอะไรคล้าย ๆ กัน แต่ล้มเลิกไปเพราะ ขนาดของ DuckDB
แต่ดูเหมือนสุดท้ายก็ต้องใช้อยู่ดี