Data Warehouse : Introduction to Cubes
-
Cubes
– เป็นการมองข้อมูลในหลายๆมุม เหมือนลูกบาศ์ก (logical storage)
– โดยจะรวมระหว่าง dimension และหน่วยวัดให้มีความยืดหยุ่นในการดึงข้อมูลของผู้ใช้ ออกรายงานได้ง่ายๆ
– ไม่สนใจ physical storage เลย
– จริงๆ แล้ว Cube เป็น subset ของ data warehouse โดยอาจจะเป็นเพียงบาง dimension หรือ Measure ก็ได้
– เก็บ aggregate value สำหรับทุก level ในทุก dimension
ที่มาของภาพประกอบ http://1.bp.blogspot.com
-
องค์ประกอบของ Cube
- Dimension
- Members
- Cells
- Hierarchies
- Levels
-
Cube : Multi-dimensional database
ที่มาของรูป http://www.businessforum.com/Figure%20D1.GIF
– ส่วนหนึ่งของ star ก็จะเป็น cube
– มอง cube เป็น multi-dimensional
– Pre-computed aggregation คือเก็บ measure ล่วงหน้า
-
Cuboids Corresponding to the Cube
– Cuboids เป็น 1 combination ที่เป็นไปได้
– แต่ใน Cuboids นึงก็จะมีหลายๆ aggregation
-
Cubes Manipulation
– Dimension : slice (เอามาทีละแผ่น), Dice (ดูข้อมูลเป็นกลุ่ม)
– Hierarchies : drill-down (ดูรายละเอียดปลีกย่อยลงไปเรื่อยๆ), roll-up (เป็นการดูรายละเอียดในมุมมองที่เป็นภาพรวมขึ้น)
– เป็น operation ต่างๆ ที่ทำงานกับ Cubes
-
Create Cubes
– ต้องทำ 3 ขั้นตอนนี้
- กำหนด Dimension และ Hierarchies
– เนื่องจากว่า Dimensions อาจมาได้จากหลาย Table - Identifying a Fact table : ระบุ fact table โดยลงรายละเอียดว่าจะเก็บลงที่ไหน เช่น relational database ใครเข้าถึงได้บ้าง
– เลือกว่าจะใช้ measure ใดบ้าง ส่วนมากจะเลือก additive col เนื่องจาก sumได้
– ถ้าใช้ measure ที่ไม่ใช่ additive ก็จะมี อย่างอื่นใ้ห้เลือกเช่น avg
– ต้องมาเลือกด้วยว่าควรจะใช้ level of detail
– Calculated Member : เป็นชื่อของ Microsoft เป็น measure ไม่ได้เก็บอยู่ใน fact table เดิมแต่คำนวนขึ้นมาใหม่จาก measure ที่มีอยู่แล้ว
– KPI, Balance score card : สามารถเพิ่มเข้าไปได้ด้วย - Processing the cube : ดึงข้อมูลจาก star ไปคำนวน aggregation ตามที่ระบุไว้
– ทำการดึงข้อมูลจาก data warehouse แล้วทำการคำนวน aggregation ที่ทำการกำหนด
– ข้อดีของเราที่มี star schema ที่เือื้อเพื่อการสร้าง cube หมดเลย
-
Design Cube Storage : ทำก่อน Proces cube มีให้เลือก
- ROLAP (Relational OLAP) : aggregation ที่คำนวนขึ้นมาจะเอาไปเก็บลงใน Relational database,ช้า เพราะเวลาจะทำ operational ก็มาใช้คำสั่ง SQL อยู่ดี, เหมาะกับข้อมูลขนาดใหญ่, ไม่เปลืองเนื้อที่
- MOLAP (Mulit-Dimensional OLAP): เปรียบเสมือนว่ามี Mulit-Dimensional Database ซึ่งเป็น array ใน disk ทำให้จะเร็วมาก, ข้อเสียคือเปลืองพื้นที่มาก เนื่องจากมันจะจองช่องไว้เต็มไปหมด แต่ MS การันตีว่าเค้าใช้เทคนิคการกำจัดช่องว่างออกไม่ให้เปลืองที่มากอย่างที่คิด, ข้อเสียอีกอย่างคือมันพยายามจะ copy star schema และ aggregation ไปไว้ในพื้นที่ด้วย
- HOLAP (Hybrid-OLAP) : เก็บ aggregation ใน Multi-Dimensions format โดยโครงสร้างนี้จะผสมระหว่าง MOLAP และ ROLAP โดยใช้ข้อมูลที่มีอยู่ใน relation Database แต่สร้างยอดรวมไว้ในคิวบ์
-
Cube Aggregation
– ไม่จำเป็นต้องคำนวน aggregation ทั้งหมด ให้คำนวนเฉพาะส่วนที่จะใช้ ทำให้ไม่เปลืองเนื้อที่ในการเก็บ
– ขนาดของ Cube และการ process cube ก็จะใช้เวลานานถ้าทำแบบ Full aggregation
– เราสามารถกำหนดว่าเราจะให้ query performance เป็นเท่าไหร่ เช่นถ้ากำหนดให้เป็น 100% ก็คือทำ Full aggregationอยู่ดี
– Cube Aggregation จะสร้างตอน Cube โดน Process โดยจะคำนวนอะไรบ้างขึ้นกับ measure ที่กำหนดไว้
– ในกรณีของ MS ถ้าทำแบบ ROLAP จะทำการสร้าง index และการอนุมัติในการเข้าถึง DBMS
Leave a comment