メインコンテンツへスキップ
記事一覧へ戻る

Apache Superset: ต่อฐานข้อมูลและสร้าง Dashboard แรกอย่างเป็นระบบ

คู่มือเริ่มต้น Apache Superset ตั้งแต่เชื่อมฐานข้อมูล กำหนด dataset สร้าง chart ไปจนถึงตรวจสิทธิ์และความถูกต้องของ dashboard

Apache Superset: ต่อฐานข้อมูลและสร้าง Dashboard แรกอย่างเป็นระบบ

Apache Superset เป็นเครื่องมือโอเพนซอร์สสำหรับสำรวจข้อมูลและสร้างภาพจากฐานข้อมูลที่มีอยู่แล้ว เหมาะกับทีมที่ต้องการ dashboard ร่วมกันโดยไม่เขียนหน้าเว็บใหม่ทั้งหมด จุดที่ควรเริ่มไม่ใช่เลือกกราฟสวยที่สุด แต่คือกำหนดตัวชี้วัดหนึ่งหรือสองตัวที่ทีมใช้ตัดสินใจจริง เช่น จำนวนคำสั่งซื้อสำเร็จรายวันและอัตราคืนสินค้า

ต่อฐานข้อมูลอย่างปลอดภัย

เอกสาร Superset ระบุว่าการเชื่อมฐานข้อมูลต้องมี driver และ SQLAlchemy dialect ที่ตรงกับ engine ปลายทาง เมื่อติดตั้งแล้ว ผู้ดูแลเพิ่ม Database Connection จากหน้าตั้งค่า ทดสอบการเชื่อมต่อ และบันทึก connection ควรสร้างบัญชีฐานข้อมูลสำหรับการอ่านรายงานโดยเฉพาะ จำกัด schema และตารางที่เข้าถึงได้ ไม่ใช้บัญชีแอปหลักที่เขียนข้อมูลได้

ในสภาพแวดล้อม Docker ต้องตรวจชื่อ host จากมุมมองของคอนเทนเนอร์ด้วย localhost ในคอนเทนเนอร์หมายถึงตัวมันเอง ไม่ใช่ฐานข้อมูลบนเครื่อง host หากเชื่อมไม่ได้ ให้ตรวจเครือข่ายและ driver ก่อนแก้สิทธิ์ฐานข้อมูลแบบกว้าง เอกสารทางการมีขั้นตอนติดตั้งเพื่อทดลองด้วย Docker Compose แต่ระบุชัดว่าชุดทดลองนั้นไม่เหมาะใช้เป็น production โดยตรง

จาก Dataset ไป Dashboard

  1. เลือกตารางหรือ SQL query ที่ให้ผลลัพธ์ระดับข้อมูลถูกต้องและเข้าใจความหมายของแต่ละคอลัมน์
  2. ตรวจชนิดของคอลัมน์วันที่ เขตเวลา และนิยาม metric ก่อนสร้าง chart โดยเทียบยอดรายวันกับรายงานต้นทาง
  3. สร้าง chart แรก เช่น จำนวนคำสั่งซื้อรายวัน ให้แกนเวลาและหน่วยแสดงตรงกับคำถามทางธุรกิจ
  4. เพิ่ม chart ที่ช่วยอธิบายตัวเลขแรก เช่น สัดส่วนสถานะคำสั่งซื้อ แทนการใส่กราฟหลายชนิดซ้ำข้อมูลเดิม
  5. รวม chart ใน dashboard กำหนด filter เวลาและหมวด แล้วให้ผู้ใช้จริงทดสอบว่าตอบคำถามได้ภายในไม่กี่คลิก

ถ้า dashboard โหลดช้า ให้ตรวจ SQL ของ dataset ปริมาณแถวที่อ่าน และดัชนีหรือ pre-aggregation ในฐานข้อมูลต้นทางก่อนเพิ่มทรัพยากร Superset อย่างเดียว เพราะ Superset เรียกข้อมูลจาก engine ปลายทางและไม่ได้ทำหน้าที่เป็นที่เก็บข้อมูลหลัก

ตรวจผลก่อนแชร์

สิทธิ์การเห็น dashboard ไม่ได้แทนการควบคุมสิทธิ์ที่ฐานข้อมูล ควรทดสอบด้วยบัญชีผู้ใช้แต่ละบทบาทว่าเห็นเฉพาะ dataset ที่อนุญาต ตั้งค่า row-level security หากต้องแยกข้อมูลตามทีม และตรวจว่าผู้ใช้ดาวน์โหลดข้อมูลดิบได้หรือไม่ตามนโยบายองค์กร นอกจากนี้ระบุความสดของข้อมูลและเวลาล่าสุดที่ query สำเร็จไว้ใกล้ตัวเลขสำคัญ เพื่อไม่ให้กราฟที่ดูปกติสร้างความเข้าใจผิดเมื่อ pipeline หยุด

อ่านเพิ่มเติม: Superset Quickstart, การเชื่อมฐานข้อมูล, การสร้าง Dashboard แรก