Apache Superset - แพลตฟอร์มสำรวจและแสดงผลข้อมูล
(superset.apache.org)- Apache Superset คือ แพลตฟอร์มวิเคราะห์โอเพนซอร์ส ที่รวมการสำรวจและการแสดงผลข้อมูลไว้ในที่เดียว ช่วยให้ผู้ใช้ที่มีระดับความชำนาญหลากหลายสามารถทำงานกับข้อมูลผ่านกราฟและแดชบอร์ดได้
- มีทั้ง ตัวสร้างการแสดงผลแบบไม่ต้องเขียนโค้ด และ SQL IDE ทำให้ทั้งผู้ใช้สายธุรกิจและผู้ใช้ SQL สามารถสำรวจข้อมูลได้ในแบบของตนเอง
- เชื่อมต่อกับฐานข้อมูลที่ใช้ SQL ได้ และยังรองรับการใช้งานกับ ฐานข้อมูลและเอนจินแบบ cloud-native ระดับเพตะไบต์
- ออกแบบเป็นสถาปัตยกรรมที่เบาและขยายได้ โดยทำงานอยู่บนโครงสร้างพื้นฐานข้อมูลเดิม และไม่ต้องมี ชั้นการเก็บรวบรวมข้อมูล แยกต่างหาก
- รองรับเวิร์กโฟลว์ self-service analytics ด้วยการแสดงผลมากกว่า 40 แบบ การขยายความสามารถผ่านปลั๊กอิน การแคช Jinja template ตัวกรองแดชบอร์ด และ semantic layer
แพลตฟอร์มสำรวจและแสดงผลข้อมูล
- Apache Superset™ เป็นแพลตฟอร์มโอเพนซอร์สสำหรับการสำรวจและแสดงผลข้อมูล
- ชูจุดเด่นด้านการใช้งานที่รวดเร็ว เบา และเข้าใจง่าย พร้อมรองรับการแสดงผลที่หลากหลาย ตั้งแต่กราฟเส้นแบบเรียบง่ายไปจนถึง แผนภูมิภูมิสารสนเทศ แบบละเอียด
- ผู้ใช้สามารถสำรวจข้อมูลได้ผ่านตัวสร้างการแสดงผลแบบไม่ต้องเขียนโค้ดหรือ SQL IDE
- สามารถเชื่อมต่อกับฐานข้อมูลที่ใช้ SQL และยังครอบคลุมฐานข้อมูล cloud-native สมัยใหม่รวมถึงเอนจินระดับเพตะไบต์
- มีสถาปัตยกรรมที่เบาและขยายได้สูง โดยใช้ประโยชน์จากโครงสร้างพื้นฐานข้อมูลเดิม และไม่ต้องมีชั้นเก็บรวบรวมข้อมูลเพิ่มเติม
- มีประเภทการแสดงผลที่ติดตั้งมาให้ล่วงหน้ามากกว่า 40 แบบ และยังสามารถสร้างการแสดงผลแบบกำหนดเองได้ผ่าน สถาปัตยกรรมปลั๊กอิน
เอกสารตามบทบาทและชุมชน
- User Docs: เอกสารสำหรับนักวิเคราะห์และผู้ใช้สายธุรกิจ ครอบคลุมการสำรวจข้อมูล การสร้างกราฟ การสร้างแดชบอร์ด และการเชื่อมต่อฐานข้อมูล
- Administrator Guide: เอกสารสำหรับทีมที่รับผิดชอบการติดตั้งและดูแล Superset ครอบคลุมการติดตั้ง การตั้งค่า ความปลอดภัย และไดรเวอร์ฐานข้อมูล
- Developer Guide: เอกสารสำหรับวิศวกรที่ต้องการมีส่วนร่วมกับ Superset หรือพัฒนาฟังก์ชันบนแพลตฟอร์ม ครอบคลุม REST API การขยายความสามารถ และเวิร์กโฟลว์การมีส่วนร่วม
- Community: รวมทรัพยากรชุมชน เช่น Slack, GitHub, เมลลิงลิสต์ และมีตอัปที่กำลังจะจัดขึ้น
ฟีเจอร์สำหรับ self-service analytics
- Superset รองรับเวิร์กโฟลว์สำหรับการสำรวจข้อมูลและค้นหาอินไซต์ผ่าน แดชบอร์ด, Chart Builder, SQL Lab และ Datasets บนแดชบอร์ดแบบโต้ตอบ
-
การสร้างการแสดงผลและแดชบอร์ด
- มีการแสดงผลที่ติดตั้งมาให้ล่วงหน้ามากกว่า 40 แบบ
- รองรับทั้งการลากและวางและการใช้ SQL query
- มี data caching เพื่อช่วยลดเวลาโหลดกราฟและแดชบอร์ด
- สามารถสร้างแดชบอร์ดแบบโต้ตอบได้ด้วย Jinja template และตัวกรองแดชบอร์ด
- สามารถปรับแต่งกราฟและแดชบอร์ดให้เข้ากับภาพลักษณ์ของแบรนด์ได้ด้วย CSS template
-
ความสามารถด้านการวิเคราะห์เพิ่มเติม
- มี semantic layer สำหรับการแปลงข้อมูลด้วย SQL
- รองรับการวิเคราะห์ข้อมูลเชิงลึกยิ่งขึ้นด้วย cross-filter, drill-to-detail และ drill-by
- สามารถใช้ virtual datasets สำหรับการสำรวจข้อมูลแบบชั่วคราวได้
- เข้าถึงฟีเจอร์ใหม่ได้ผ่าน feature flags
องค์กรที่ใช้งาน
- Superset ระบุว่ามี บริษัทหลายพันแห่ง ที่ใช้แพลตฟอร์มนี้ในการสำรวจและแสดงผลข้อมูล
- ตัวอย่างองค์กรผู้ใช้ที่แสดงไว้ ได้แก่ Xnet Mobile, UserGuiding, Preset, PlaidCloud, VLMedia และ Cirrus Assessment
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ใช้ Superset แล้วพอใจมาก และหลังจาก แทนที่ Tableau แล้วก็ไม่คิดจะกลับไปใช้อีก
ใช้เวลาพอสมควรกว่าจะเข้าใจวิธีฝังลงในแอปด้วย Superset Embedded SDK ได้ SDK นี้ช่วยให้ใช้การยืนยันตัวตนของแอปเพื่อใส่แดชบอร์ด Superset ลงในแอปของตัวเองได้ โดยเป็นการแทรก iframe ที่มีหน้า Superset อยู่เข้าไปในแอปโฮสต์
https://github.com/apache/superset/tree/master/superset-embe...
Superset สร้างบนไลบรารีกราฟ ECharts ที่มีคุณภาพสูงและได้รับการดูแลอย่างดี
https://echarts.apache.org/examples/en/#chart-type-linesG
โรดแมปของชุมชนก็เปิดเผยอยู่ด้วย
https://github.com/apache/superset/projects?query=is%3Aopen
นับถือ Preset.io และทีมมากที่มีส่วนร่วมกับโปรเจกต์และรักษาให้อยู่ในสภาพที่ดี
https://preset.io/blog/
ซอร์สโค้ดของ Superset อ่านและทำความเข้าใจได้ง่าย จึงสามารถทำเทคนิคแคชขั้นสูงเพื่อลดภาระของกราฟได้ด้วย ไม่มี BI ใดสมบูรณ์แบบ แต่หลังจากติดตามมาหลายปี ก็เกิดความเชื่อมั่นว่านี่เป็นโปรเจกต์ที่จะทำงานได้ตามเจตนาต่อไป และดูเหมือนว่าวันหนึ่งแพ็กเกจบางส่วนอาจถูกนำกลับมาใช้ซ้ำกับงาน visualization และ data hacking ที่หลากหลายได้
แนวทางที่ใช้เป็นหลักคือเริ่มจาก ECharts กับ React wrapper ง่าย ๆ สำหรับ visualization ก่อน แล้วเปิด Superset ไว้บน subdomain สำหรับ power user จากนั้นดูว่าฝั่งไหนเหมาะกว่า หากรักษาหน้าตาให้เหมือนกัน ประสบการณ์ผู้ใช้ก็ค่อนข้างดี
https://evidence.dev
การถกเถียง HN ก่อนหน้า: https://news.ycombinator.com/item?id=35645464 (97 ความคิดเห็น)
เคยใช้ Superset เมื่อไม่กี่ปีก่อน และตอนนี้อาจเปลี่ยนไปแล้วก็ได้ แต่คำว่า ใช้งานง่ายแบบเป็นธรรมชาติ เป็นคำสุดท้ายที่ผมอยากใช้กับมัน
สิ่งที่ในเครื่องมือ BI อื่นใช้เวลาไม่กี่นาทีก็เข้าใจได้ ใน Superset ต้องค้นหาเป็นชั่วโมงจริง ๆ แถมการเปลี่ยนชื่อแนวคิดหลักกลางคันจนเอกสารออนไลน์ครึ่งหนึ่งอ่านแล้วไม่ตรงกันก็ไม่ได้ช่วยอะไร เพื่อนร่วมงานในบริษัทที่ใช้ด้วยกันตอนนั้นก็รู้สึกคล้าย ๆ กัน
ผู้ใช้ฝั่งธุรกิจก็ชอบ ผมเองก็พอใจ และการต่อ Postgres backend แทนฐานข้อมูล h2 ภายในเพื่อจัดการก็ค่อนข้างง่าย
สามารถรันฐานข้อมูล DuckDB เป็น data warehouse ในตัวเพื่อโหลดข้อมูลได้ และด้วย connector มากกว่า 500 ตัว ก็สามารถดึงข้อมูลจาก Postgres, Stripe, HubSpot, Zendesk ฯลฯ ได้อัตโนมัติโดยไม่ต้องมี ETL แยก
ใน semantic layer สามารถกำหนด dimension, measure และ join ไว้ในที่เดียว และยังมีโมเดลที่สร้างไว้ล่วงหน้าสำหรับแต่ละ source ที่รองรับด้วย เช่น โมเดล Stripe มี measure อย่าง MRR และ churn rate ใส่มาให้แล้ว
ใช้วิธี BI แบบเรียบง่ายเพื่อสร้างตารางข้อมูลที่ต้องการ แล้วสร้าง visualization จากตารางนั้น หากมีคำถาม ติดต่อได้ที่ mike@definite.app
เอกสารก็พูดอย่างสุภาพได้ว่าออกจะบาง
แถมเต็มไปด้วย Python runtime error หลายสิบรายการและข้อบกพร่องนับไม่ถ้วน ตอนนี้ Metabase ใกล้เคียงกับคำตอบที่ถูกต้องแล้ว
เครื่องมือ BI แบบครบชุดอย่าง Superset หรือ Metabase นั้นยอดเยี่ยมใน use case ที่ตั้งใจไว้
แต่ถ้าการใช้งานหลักคือทำรายงานกึ่งโต้ตอบได้เป็นครั้งคราวให้ผู้ใช้ปลายทางที่ไม่ใช่สายเทคนิค และกราฟมาตรฐานกับตารางก็เพียงพอเป็นส่วนใหญ่ มันอาจมากเกินไป โดยเฉพาะถ้าคุณคุ้นกับ SQL และเข้าถึงแหล่งข้อมูลต้นทางได้อยู่แล้ว
ในกรณีแบบนี้ SQLPage และ Evidence มีประโยชน์มาก เขียน SQL ได้อย่างรวดเร็วแล้วแปลงเป็นเว็บ UI ที่ดูสะอาดและเป็นมืออาชีพเพื่อส่งให้ผู้ใช้ปลายทางได้ง่าย Evidence เป็นเว็บที่สร้างแบบ static ส่วน SQLPage เป็นเว็บแอปที่เชื่อมต่อกับฐานข้อมูลแบบเรียลไทม์
SQLPage: https://sql.ophir.dev/
Evidence: https://evidence.dev
ชอบ Superset
ตั้งแต่ปี 2017 เคยนำขึ้นใช้ในสภาพแวดล้อมจริงในที่ทำงานสองแห่ง และที่ทำงานปัจจุบันเป็นบริษัทขนาดใหญ่
มองว่าเป็นระบบ แดชบอร์ดฐานข้อมูล อเนกประสงค์ที่ดีที่สุด ไม่คิดจะจ่ายเงินให้ Tableau หรือ Power BI
Airflow ก็เช่นกัน
หากใช้อินสแตนซ์ Superset ของ Wikipedia จะสามารถคิวรี ฐานข้อมูลภายในของ Wikipedia ได้
https://superset.wmcloud.org
https://phabricator.wikimedia.org/T169452
เมื่อก่อนเคยใช้สิ่งนี้ทำสถิติแบบกำหนดเอง
https://github.com/altilunium/wikiidmon
เป็นบทความที่เกี่ยวข้องกัน สงสัยว่ายังมีอย่างอื่นอีกไหม
Open source Business intelligence platform made with Python - https://news.ycombinator.com/item?id=29368664 - พฤศจิกายน 2021 (49 ความคิดเห็น)
Apache Superset 1.1 - https://news.ycombinator.com/item?id=27439939 - มิถุนายน 2021 (28 ความคิดเห็น)
The Apache Software Foundation Announces Apache Superset as a Top-Level Project - https://news.ycombinator.com/item?id=25905277 - มกราคม 2021 (1 ความคิดเห็น)
Apache Superset is an enterprise-ready business intelligence web application - https://news.ycombinator.com/item?id=21133931 - ตุลาคม 2019 (7 ความคิดเห็น)
Superset ทรงพลัง แต่สงสัยว่าทำไมถึงไม่แก้ ความไม่สะดวกเล็กๆ น้อยๆ เช่น พิกเซลของสปินเนอร์ไม่ตรงตำแหน่ง, คัดลอกค่าจากเซลล์ในตารางไม่ได้, หรือไม่ใช้ฟอนต์ความกว้างคงที่กับตัวเลขในตาราง ในผลิตภัณฑ์มีเรื่องจุกจิกที่น่าหงุดหงิดแบบนี้เป็นร้อยๆ จุด
ต้องคอยหาสมดุลอยู่เสมอระหว่างการทำฟีเจอร์ใหม่ที่ผู้คนร้องขอ กับการแก้ปัญหาด้านหน้าตาแบบนี้ที่เกิดขึ้นเรื่อยๆ
สงสัยว่ามีใครเคยใช้ทั้ง Superset และ Metabase บ้างไหม เคยใช้ Metabase ในบางโปรเจกต์และค่อนข้างดี Superset ก็ดูเหมือนจะทรงพลังกว่า
สงสัยว่าคุ้มไหมที่จะใช้กับ BI สำหรับชุดข้อมูลขนาดเล็ก
เหตุผลที่เลือก Metabase คือมี การ join ตาราง ตอนที่ผมใช้ Superset ยังไม่มี join และไม่รู้ว่าหลังจากนั้นเพิ่มเข้ามาหรือยัง หน้าตา Metabase ก็ดูขัดเกลากว่านิดหน่อย
แต่โดยส่วนตัวแล้วชอบ Superset มากกว่าเยอะ Metabase ต้องปิดฟีเจอร์หลายอย่างถึงจะใช้งานได้ดี และมีเรื่องที่ขัดใจตลอด ตั้งแต่การแสดง “the_table” เป็น “The Table” ไปจนถึงความไม่โปร่งใสระหว่างโมเดลกับ “คำถาม” เวลาจะเปลี่ยนคำถามทีไรก็มักจะพยายามสร้างคำถามใหม่ ซึ่งก็น่ารำคาญ
โดยเฉพาะเวลาจะเปลี่ยนแหล่งข้อมูลของคำถามจำนวนมาก เป็นปัญหาใหญ่เพราะ Metabase ไม่มีวิธีที่เรียบร้อยในการเปลี่ยนโดยไม่สร้างคำถามใหม่
อีกอย่าง Metabase จะทำ serialization ได้ก็ต่อเมื่อจ่ายเงินและโฮสต์เองเท่านั้น ทั้งที่โฮสต์เองก็ไม่แน่ใจว่ากำลังจ่ายเงินเพื่ออะไรกันแน่ และค่อนข้างขัดใจ
https://www.metabase.com/docs/latest/installation-and-operat...
แต่ก็ยัง join ตารางได้ บางครั้งแค่นั้นอย่างเดียวก็คุ้มที่จะทนใช้ Metabase
ถ้าดูเฉพาะการทำ data visualization Superset ดีที่สุด แต่รู้สึกว่าแทบใช้ไม่ได้เลยในฐานะ self-service BI สำหรับผู้ใช้ฝั่งธุรกิจ เมื่อมี star schema เดิมอยู่แล้ว issue นี้เกี่ยวกับว่าจะทำ join ใน Superset อย่างไร รวมถึงความวุ่นวายจาก stalebot แสดงให้เห็นความยากของ Superset BI ได้ในภาพเดียว
https://github.com/apache/superset/issues/8645
Metabase ค่อนข้างยอดเยี่ยม และเป็นตัวเลือกที่เหมาะแน่นอนสำหรับสตาร์ทอัพที่อยากสร้าง BI ต้นทุนต่ำอย่างรวดเร็ว แม้ยังมีมุมมองที่ยึดตารางเป็นศูนย์กลางอยู่มาก แต่ให้ความรู้สึกว่าถูกสร้างมาเพื่อ BI มากกว่าการทำ visualization ง่ายๆ
Lightdash มีข้อบกพร่องใหญ่ๆ เช่น YAML, การทำ pivot ในฝั่ง frontend, และไม่มี symmetric aggregate แต่เห็นได้ชัดว่าได้รับอิทธิพลจาก Looker และทำให้นำเสนอ กลุ่มตาราง ที่ผู้ใช้ฝั่งธุรกิจหยิบใช้ได้ทันทีได้ง่าย เคยชอบ Looker ก่อนที่ Google จะซื้อกิจการ ผู้ใช้ฝั่งธุรกิจของเราอาจไม่รู้ศัพท์อย่าง star schema หรือ snowflake schema แต่คุ้นกับโครงสร้างแบบนั้น และการวาง Lightdash ทับบน data warehouse เดิมก็ทำได้ง่าย
ที่บริษัทใช้ Metabase กันเยอะ แต่จุดที่เครื่องมือพวกนี้ดูอ่อนกันหมดคือวิธี จัดระเบียบแดชบอร์ดและคำถาม เป็นร้อย ๆ รายการ
ถ้ามีอะไรคล้ายวิกิในตัวเพื่อสร้างโครงสร้างการค้นหาให้ดีกว่านี้ก็คงดี อยากรู้ว่ามีวิธีดี ๆ ไหม
วิธีหนึ่งที่ช่วยได้คือเชื่อม Metabase เข้ากับฐานข้อมูลของตัวมันเอง แล้วสร้างคิวรีที่ค้นคิวรีอีกที
select *from report_cardwhere dataset_query ilike '%' || {{query}} || '%'ยังสามารถ join metadata อย่างผู้เขียนหรือเวลาที่รันล่าสุดได้ด้วย
พยายามมากจริง ๆ ที่จะรักษาโครงสร้างไดเรกทอรี Collection ให้สะอาดและสม่ำเสมอ แต่ก็ยังยากอยู่ดี
อีกวิธีหนึ่งอาจเป็นการใช้ LLM สรุป ติดแท็ก และจัดกลุ่มคิวรี เพื่อให้ค้นหาได้ง่ายขึ้น
สงสัยว่า Superset เป็นเครื่องมือที่ใช้ได้ดีไหมแม้ในกรณีวิเคราะห์ข้อมูลคนเดียว
เช่น มีฐานข้อมูล sqlite อยู่ไม่กี่ตัว และแค่อยากพัฒนา query กับ chart เท่านั้น ลองดู Tableau, Power BI, Superset แล้วทั้งหมดดูค่อนข้างหนักสำหรับผู้ใช้คนเดียว และการตั้งค่าในเครื่องก็ดูไม่ได้ง่ายมากนัก
ถ้ามีซอฟต์แวร์ดี ๆ สำหรับ ผู้ใช้คนเดียว หรือวิธีรันเครื่องมือหนัก ๆ แบบนี้ให้สะดวกขึ้น ก็อยากได้คำแนะนำ
ผมมองว่าผลิตภัณฑ์พวกนี้ใกล้เคียงกับเครื่องมือ data visualization และ reporting สำหรับนำชุดข้อมูลที่เตรียมไว้แล้วมาแสดงให้ผู้ใช้ดูสวย ๆ มากกว่า ไม่ค่อยเหมาะกับการวิเคราะห์จริงจัง
ผมไม่ค่อยรู้ Superset หรือ Tableau แต่คุ้นกับ Power BI เพราะองค์กรนำมาใช้ทั้งองค์กร สถิติที่ทำได้ใน Power BI ค่อนข้างพื้นฐาน ถ้าเกินกว่าสรุปอย่างจำนวน ค่าเฉลี่ย ค่าต่ำสุด ค่าสูงสุด ก็ไม่ค่อยง่ายแล้ว
สำหรับการวิเคราะห์ข้อมูล ผมใช้ SAS หรือ R ซอฟต์แวร์พวกนี้ทำงานอย่าง multivariate regression, time series forecasting, principal component analysis, cluster analysis ได้ และมีฟังก์ชันกราฟด้วย
ทั้งคู่ค่อนข้างเชยอยู่บ้าง ผมใช้มาตั้งแต่ต้นยุค 2000 และดูเหมือนวิธีสมัยนี้คือ Python คนสาย data science รุ่นใหม่ในองค์กรเราแทบทั้งหมดใช้ Python โดยเฉพาะไลบรารีอย่าง Pandas และ Seaborn(https://seaborn.pydata.org/)
Power BI power user ในองค์กรเราส่วนใหญ่เป็นฝ่ายการเงินหรือ HR และมักใช้เพื่อ drill down ตัวเลขต้นทุน หรือแสดง KPI กับตัวชี้วัดสำคัญให้ผู้บริหารดูแบบโต้ตอบได้
ใช้เป็นแอปพลิเคชันสำหรับผู้ใช้คนเดียวได้ และถ้าไม่ได้เอาไปใส่เป็นส่วนหนึ่งของแอปพลิเคชันที่สร้างขึ้น ก็ใช้แบบนั้นได้