Data Warehouse : Introduction to Cubes

Data Warehouse _Introduction to Cubes_1.jpg

  • Cubes

– เป็นการมองข้อมูลในหลายๆมุม เหมือนลูกบาศ์ก (logical storage)
– โดยจะรวมระหว่าง dimension และหน่วยวัดให้มีความยืดหยุ่นในการดึงข้อมูลของผู้ใช้ ออกรายงานได้ง่ายๆ
– ไม่สนใจ physical storage เลย
– จริงๆ แล้ว Cube เป็น subset ของ data warehouse โดยอาจจะเป็นเพียงบาง dimension หรือ Measure ก็ได้
– เก็บ aggregate value สำหรับทุก level ในทุก dimension
ที่มาของภาพประกอบ http://1.bp.blogspot.com

  • องค์ประกอบของ Cube

  1. Dimension
  2. Members
  3. Cells
  4. Hierarchies
  5. Levels
  • Cube : Multi-dimensional database

http://www.businessforum.com/Figure%20D1.GIF
ที่มาของรูป 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 ขั้นตอนนี้

  1. กำหนด Dimension และ Hierarchies
    – เนื่องจากว่า Dimensions อาจมาได้จากหลาย Table
  2. 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 : สามารถเพิ่มเข้าไปได้ด้วย
  3. Processing the cube : ดึงข้อมูลจาก star ไปคำนวน aggregation ตามที่ระบุไว้
    – ทำการดึงข้อมูลจาก data warehouse แล้วทำการคำนวน aggregation ที่ทำการกำหนด

– ข้อดีของเราที่มี star schema ที่เือื้อเพื่อการสร้าง cube หมดเลย

  • Design Cube Storage : ทำก่อน Proces cube  มีให้เลือก

  1. ROLAP (Relational OLAP) : aggregation ที่คำนวนขึ้นมาจะเอาไปเก็บลงใน Relational database,ช้า เพราะเวลาจะทำ operational ก็มาใช้คำสั่ง SQL อยู่ดี, เหมาะกับข้อมูลขนาดใหญ่, ไม่เปลืองเนื้อที่
  2. MOLAP (Mulit-Dimensional OLAP): เปรียบเสมือนว่ามี Mulit-Dimensional Database ซึ่งเป็น array ใน disk ทำให้จะเร็วมาก, ข้อเสียคือเปลืองพื้นที่มาก เนื่องจากมันจะจองช่องไว้เต็มไปหมด แต่ MS การันตีว่าเค้าใช้เทคนิคการกำจัดช่องว่างออกไม่ให้เปลืองที่มากอย่างที่คิด, ข้อเสียอีกอย่างคือมันพยายามจะ copy star schema และ aggregation ไปไว้ในพื้นที่ด้วย
  3. 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