วันศุกร์ที่ 26 กุมภาพันธ์ พ.ศ. 2553

Data model ในการออกแบบ Cube

การออกแบบ Cube นั้น ต้องใช้ Data model ซึ่ง Data model คือสิ่งที่ใช้ในทำให้ทราบถึงการออกแบบ ซึ่งมีหลายประเภทเช่น Data model ของ Relational Database หรือ ระบบต่างๆ ซึ่งแต่ละ Data model นั้น ก็จะมีเอกลักษณ์แต่ละตัวต่างกันออกไป ในส่วนระบบ Data Warehouse ที่มี Cube ไว้ ทำ OLAP นั้นก็มี Data Modeling ที่ใช้เพื่อในการออกแบบ Cube เฉพาะแบบของมัน โดยส่วนใหญ่ก่อนจะลง Cube จริง จะทำการออกแบบไว้ใน Data model นี้ก่อน ที่เรียกกันว่า Star schema ซึ่งเป็นแบบพื้นฐานที่สุด ของ Data Model ของ Cube

โดยหลัก ๆ การออกแบบ Data Modelของ Cube นั้นมี อยู่ 3 แบบ

Star schema นั้นเป็น Data Modeling ของ Cube นั้นเอง ที่มีรูปแบบเรียบง่ายไม่ซับซ้อน โดยมี Fact Table อยู่ตรงกลางหนึ่งตาราง และในตาราง ก็มีค่า 2 แบบ คือ Key กับ Measure และถูกเชื่อมโยงด้วย Dimension รอบข้างตามตัว Key ที่บรรจุไว้ใน Fact table โดยเก็บค่า Charatic หรือตัวอักษรไว้อธิบายความหมาย

Snowflake schema
โดยพื้นฐานต่าง ๆ เหมือนกับ Star schema คือ มี Fact table อยู่ตรงกลางและมี Dimension Tableล้อมรอบ แต่ต่างกันที่ ส่วน Dimension Table นั้น จะมีการเชื่อมโยงไปหา Dimension Table อื่นๆ ที่ต้องการข้อมูลเพื่อเติมจากใน Fact table

Galaxy schema
เป็น Data model ที่ซับซ้อนที่สุด เนื่องจากมี Fact table มากกว่า 1 ตัวขึ้น และสามารถใช้ Dimensions table ร่วมกันได้ และอาจมี Dimensions Table ที่แยกจากกัน

เพื่อใช้สร้าง Cube ให้นำไปทำ OLAP ได้อย่างมีประสิทธิภาพ การออกแบบ Data Model ให้ดีก่อนนั้นเป็นสิ่งสำคัญ เพื่อให้เราสามารถได้รายงานออกมาตามความต้องการของผู้ใช้จริง

1 ความคิดเห็น:

  1. รบกวนสอบถาม ถ้าอยากได้ dimension แบบที่เป็น parent child ต้องออกแบบ schema ยังไงครับ

    ตอบลบ