จากหลักสูตรเรียนออนไลน์ RSU-MOOC: rsu001 ฉลาดด้วยข้อมูล ใครๆ ก็ทำได้ (คลังข้อมูลและการทำเหมืองข้อมูล)
เนื้อหาก่อนหน้านี้ : คลังข้อมูล (Data Warehouse) คืออะไร
หลักการออกแบบคลังข้อมูลแบบ Star Schema และ Snowflake Schema
การออกแบบ Data Warehouse จะใช้ Dimensional Model ในการออกแบบโครงสร้างพื้นฐานของระบบฐานข้อมูล จะทำในลักษณะของลูกบาศก์ (Cube) โดยจะเป็นรูปลูกบาศก์ที่มีมุมมองหลากหลาย ประกอบด้วยส่วนประกอบสำคัญ 2 ส่วนคือ Dimension Table (ตารางแกนมิติ) กับ Measure (ค่าที่ต้องการวัด )
Dimensional Model เป็นการทำให้ฐานข้อมูลดูง่ายขึ้นต่อการทำความเข้าใจ
โดยมองภาพฐานข้อมูลเป็นลูกบาศก์ ซึ่งจะมีกี่มิติก็ได้ แต่ต้องสามารถหั่นแบ่งออกมาเป็นลูกเต๋า
ตัดข้อมูลช่วงใดช่วงหนึ่งมาวิเคราะห์และหมุนดูทุกด้านของลูกเต๋าได้
ยกตัวอย่าง เช่น ขายสินค้า(Product) ในหลายๆที่ (Market) ในช่วงเวลาต่างกัน (Time)
เราจะใช้ Dimensional Model ออกแบบ โดยเป็นลูกบาศก์ 3 มิติของ Product,Market,Time
แต่ละจุดภายในที่เกิดจากการตัดของ 3 มิตินี้ นั่นก็คือผลลัพธ์ทางธุรกิจ เมื่อพิจารณาจาก Product,Market,Time พร้อมกัน
1. Star Schema (โครงสร้างแบบดาว)
Star Schema เป็น Dimensional Model ที่มีรูปร่าง Diagram คล้ายรูปดาว
ประกอบไปด้วยตารางหลักที่อยู่ตรงกลางเรียกว่า Fact Table(ตารางค่าที่แท้จริง) เป็นศูนย์รวมข้อมูล
และรายล้อมไปด้วยตารางที่เรียกว่า Dimensional Table (ตารางแกนมิติ)
ซึ่งจะมีกี่ตารางก็ได้ แต่ในแต่ละตารางนั้นต้องมี Key ที่สัมพันธ์ไปยัง Fact Table ตารางเดียวเท่านั้น
สัมพันธ์กันแบบ Single Join และจะไม่สัมพันธ์กับ Dimensional Table อื่นๆ
ดังนั้น Fact Table จึงเป็นตารางเดียวที่มี Multiple Join
โดรงสร้างแบบ Star Schema ข้อมูลจะเป็นแบบ Denomalized และเนื่องจากความสัมพันธ์ระหว่างตารางไม่ซ้บซ้อน ทำให้สามารถสืบค้นข้อมูลได้อย่างรวดเร็ว
2. Snowflake Schema (โครงสร้างแบบเกล็ดหิมะ )
แตกต่างจาก Star Schema ตรง Dimension Table มีหลายระดับ และระหว่าง Dimension Table มี Key ที่เชื่อมโยงกัน
ดังนั้นโครงสร้างแบบนี้จะซับซ้อนมาก สืบค้นยาก ลักษณะของข้อมูลมีความเป็น Normalized
Fact Table (ตารางค่าที่แท้จริง)
เป็นตารางหลักเก็บข้อมูลที่ต้องการนำมาวิเคราะห์ โดยปกติข้อมูลในตารางนี้จะไม่มีการแก้ไข ยกเว้นกรณีเพิ่มข้อมูลใหม่
ข้อมูลที่เก็บอยู่ใน fact table เรียกว่า grain of fact table
แต่ละ Record ของ Fact Table เป็นการสรุปรวมข้อมูลทั้งหมดที่เกิดจาก Intersection ของทุกๆ Dimensions
Dimension Table (ตารางแกนมิติ)
- เก็บคำอธิบายของแต่ละ Dimension อธิบายทุกๆสมาชิกใน Table ว่าประกอบด้วย Attributes อะไรบ้าง
Attributes ที่ดีต้องเป็นตัวอักษร และต้องแยกออกจากกัน
- เก็บความหมายของรหัสที่ใช้ในค่าที่ต้องการวัด (Measure) เช่น ตารางที่ไว้เก็บรหัสสินค้ารายละเอียดสินค้า เป็นต้น
เนื้อหาต่อไป : การประมวลผลเชิงวิเคราะห์แบบออนไลน์ (Online Analytical Processing: OLAP)