แผนการเรียนรู้
/

สัปดาห์ที่ 8: การทบทวน
เตรียมสอบกลางภาค

สรุปหัวใจสำคัญจากสัปดาห์ที่ 1 ถึง 7: จากพื้นฐานสู่สถาปัตยกรรมสมัยใหม่

กำหนดการสอบ

"การสอบครั้งนี้จะครอบคลุมตั้งแต่ประวัติศาสตร์คลังข้อมูลไปจนถึง Agentic AI"

หัวข้อการทบทวน

1. นิยามและภารกิจของ DW
2. Inmon vs. Kimball
3. การออกแบบ Star Schema
4. เทคนิค SCD ขั้นสูง
5. คลังข้อมูลบนคลาวด์
6. Lakehouse & AI Agent

บทที่ 1: พื้นฐานและนิยาม

นิยามโดย Bill Inmon

"คลังข้อมูลคือกลุ่มข้อมูลที่ถูกจัดระเบียบตาม **หัวเรื่อง (Subject-oriented)**, มีการ **บูรณาการ (Integrated)**, มีความเป็น **ประวัติศาสตร์ (Time-variant)** และ **คงสภาพ (Non-volatile)**"

Operational (OLTP): ทำงานรายวัน
Informational (DW): วิเคราะห์เชิงลึก

บทที่ 2: ระเบียบวิธีออกแบบ

Top-Down (Inmon)

  • • เริ่มจาก Atomic Data Warehouse (3NF)
  • • เน้นความแม่นยำของข้อมูลทั้งองค์กร
  • • ใช้เวลานานในการเห็นผล

Bottom-Up (Kimball)

  • • เริ่มจาก Data Marts (Dimensional)
  • • เน้นกระบวนการธุรกิจและความรวดเร็ว
  • • เชื่อมโยงด้วย Conformed Dimensions
โจทย์ทบทวน 1 (15 นาที)

ควรเลือกแนวทางไหน?

สถานการณ์:

"บริษัทอีคอมเมิร์ซของคุณเพิ่งเปิดตัว และต้องการเห็น **รายงานสรุปยอดขายรายวัน** ทันทีในเดือนแรก ข้อมูลในระบบต้นทางยังไม่ซับซ้อนมากนัก"

คำถาม: ระหว่าง Inmon และ Kimball คุณจะเลือกอะไร? เพราะอะไร?

เฉลยขั้นตอนที่ 1: การเลือก Methodology

Step 1: วิเคราะห์ความต้องการ

เป้าหมายคือรายงานยอดขายรายวันในเวลาที่รวดเร็ว (Time-to-Value)

Step 2: เลือกผู้ชนะคือ **Kimball**

เพราะแนวทาง Bottom-Up เน้นการสร้าง Data Mart ตามกระบวนการธุรกิจ (Sales) และส่งมอบผลลัพธ์ได้ไวที่สุด

"จำไว้ว่า: Kimball เน้น Agile และ Business Process ส่วน Inmon เน้นโครงสร้างศูนย์กลาง (Strategic)"

บทที่ 3-4: การออกแบบมิติและ Grain

The Grain

ประกาศระดับที่ละเอียดที่สุดของข้อมูล (เช่น "หนึ่งแถวต่อหนึ่งรายการในพัสดุ")

Facts

มาตรวัดตัวเลข (Quantity, Price) มักเป็น **Fully Additive** (บวกกันได้ทุกมิติ)

Dimensions

แอตทริบิวต์เชิงคุณภาพ (Who, What, Where) ต้องมี **Surrogate Keys**

บทที่ 4: การจัดการ SCD

SCD Type ความหมาย การประยุกต์ใช้
Type 1 Overwrite (เขียนทับ) แก้ไขคำสะกดผิด
Type 2 New Row (สร้างแถวใหม่) เก็บประวัติศาสตร์ (Gold Standard)
Type 3 New Field (เพิ่มคอลัมน์) ดูค่าปัจจุบัน vs ก่อนหน้า
โจทย์ทบทวน 2 (20 นาที)

แก้ปัญหา Grain

ปัญหา:

"ในตาราง `Sales_Fact` แถวที่ 1 เก็บ **ยอดขายรวมทั้งปี** แต่แถวที่ 2 เก็บ **ยอดขายรายวัน** ของพนักงานคนหนึ่ง"

คำถาม: การกระทำนี้ผิดกฎข้อใดของการสร้างแบบจำลองมิติ? และควรแก้ไขอย่างไร?

เฉลยขั้นตอนที่ 2: การวินิจฉัย Grain

กฎที่ผิด

**Mixed Grain!** ห้ามผสมระดับรายละเอียดที่ต่างกันในตาราง Fact เดียวกันเด็ดขาด

วิธีแก้ไข:

  1. สร้างตาราง `Daily_Sales_Fact` สำหรับ Grain ระดับรายวัน
  2. สร้างตาราง `Annual_Sales_Aggregate` สำหรับข้อมูลสรุปรายปี (Aggregates)

บทที่ 6-7: คลาวด์และ Lakehouse

Cloud DW (Snowflake/BigQuery)

  • • **Separation of Storage/Compute:** ขยายอิสระ
  • • **Elasticity:** จ่ายตามที่ใช้จริง

The Lakehouse Platform

  • • รวมข้อดีของ Data Warehouse และ Data Lake
  • • รองรับทั้ง BI และ AI/Machine Learning

สมัยใหม่: Medallion & AI

BRONZE

ข้อมูลดิบ/Landing

SILVER

สะอาด/Conformed

GOLD

สรุปผล/Business

"Agentic AI (เช่น AV-SQL) ช่วยแปลงคำถามมนุษย์เป็น SQL เหนือเลเยอร์เหล่านี้โดยอัตโนมัติ"

โจทย์ทบทวน 3 (15 นาที)

ความปลอดภัยของ AI เอเจนต์

โจทย์:

"หากคุณสร้าง AI เอเจนต์ให้พนักงานฝ่ายขายใช้งาน คุณจะทำอย่างไรเพื่อให้มั่นใจว่า AI จะไม่เข้าถึงข้อมูล **เงินเดือนพนักงาน** ที่อยู่ในคลังข้อมูลเดียวกัน?"

คำถาม: ระบุ 2 กลไกสำคัญในการควบคุมความปลอดภัยนี้

เฉลยขั้นตอนที่ 3: การวางระบบความปลอดภัย

1

**Role-Based Access Control (RBAC):** กำหนดสิทธิ์ให้ Account ที่ AI ใช้งานมีสิทธิ์อ่านเฉพาะตารางยอดขายเท่านั้น

2

**Semantic Layer Filtering:** ใช้ Semantic Layer ในการซ่อนมิติที่ละเอียดอ่อนไม่ให้ AI มองเห็นใน Context ของฝ่ายขาย

เคล็ดลับส่งท้าย

1. เน้นทำความเข้าใจ **ความแตกต่างของ 3NF และ Dimensional Model** ให้แม่นยำ
2. ฝึกฝนการวาด **Star Schema** และระบุ Grain ให้ถูกต้องตามโจทย์ธุรกิจ
3. อย่าลืมทบทวนความแตกต่างระหว่าง **SCD Type 1 และ 2** ซึ่งออกสอบบ่อยมาก
GOOD LUCK ON YOUR MID-TERM! 🚀