โดย อ.เธียรชัย พัฒนศิริเวทิน Chapter 3 :OLAP โดย อ.เธียรชัย พัฒนศิริเวทิน
Outline ที่มาของแนวคิด OLAP หลักการวิเคราะห์ข้อมูล ความหมายของแบบจำลองหลายมิติ Multidimensional องค์ประกอบของ Multi Dimensional Model ความสามารถแบบจำลอง Multi dimensional(OLAP Operation) แบบจำลองข้อมูลที่ใช้ใน OLAP (Multidimensional Schema Model ) การจัดเก็บของ Multidimensional
ที่มาของแนวคิด OLAP เนื่องจากความต้องการ ระบบ DSS ที่ใช้ในกระบวนการวิเคราะห์ที่รวดเร็ว ถูกต้องและแม่นยำ แนวคิด OLAP (Online Analytical Processing) ที่เขียนโดย ดร. EF Codd ในปี 1994 จึงได้รับความสนใจอย่างมาก และได้ถูกนำไปเป็นส่วนหนี่งของระบบ DSS, BI รวมถึง EIS (Executive Information System) ปัจจุบันมีเครื่องมือ DBMS หลายค่ายสนับสนุนแนวคิดของ OLAP เช่น Oracle Express , Microsoft SQL Data Analysis, Informix MetaCube , Hyperion Essbase และอื่นๆ
Nature of OLAP Analysis (หลักการวิเคราะห์ข้อมูล) Aggregation -- (total sales, percent-to-total) Comparison -- Budget vs. Expenses Ranking -- Top 10, quartile analysis Access to detailed and aggregate data (ดูรายละเอียด และ สรุป) Complex criteria specification Visualization Need interactive response to aggregate queries
OLAP: 3 Tier DSS Data Warehouse Database Layer Store atomic data in industry standard Data Warehouse. OLAP Engine Application Logic Layer Generate SQL execution plans in the OLAP engine to obtain OLAP functionality. Decision Support Client Presentation Layer Obtain multi-dimensional reports from the DSS Client.
Data Warehouse Environment จะไม่มีการ normalized คือทำตามวิธี relational model แต่ทำการ denormalized ผลของการออกแบบจะเป็นฐานข้อมูลซึ่งง่ายต่อการเข้าใจ จะเก็บข้อมูลที่ระดับต่ำสุดของ transactional detail หรือหลาย ๆ ระดับของบทสรุปข้อมูล ลดจำนวนของ join table ใน queries มีความยืดหยุ่นมากกว่า OLTP environment Multidimensional model ง่ายต่อการทำให้ข้อมูลสามารถเข้ากันได้ถ้าการออกแบบเปลี่ยนไป
Denormalization เป็นกระบวนการรวมข้อมูลที่อยู่ในต่างตารางเข้าในตารางเดียวตามความเหมาะสมเพื่อเป็นการเพิ่มประสิทธิภาพของระบบ วัตถุประสงค์ของการทำ Denormalization เพื่อลดกระบวนการรวมกันของข้อมูล เมื่อมีการใช้คำสั่ง query เพื่อให้โครงสร้างฐานข้อมูลใกล้เคียงกับโมเดลขององค์กร โครงสร้างของข้อมูลควรเป็นไปในทางเดียวกัยคำตอบที่ผู้ใช้ต้องการ
แบบจำลองหลายมิติ Multi Dimensional Model คือ แบบจำลองที่ได้รับการออกแบบให้มีโครงสร้างเหมือนกับองค์กรที่กำลังพิจารณาโดยข้อมูลเหลานั้นมีความสัมพันธ์กันในแต่ละมิติ เพื่อให้ผู้ใช้งายต่อการสืบค้นและดึงข้อมูลได้อย่างมีประสิทธิภาพ ฐานข้อมูลหลายมิติ (Multi Dimensional Database) หมายถึง ซอฟท์แวร์คอมพิวเตอร์ซึ่งได้รับการออกแบบเพื่อให้ง่ายต่อการจัดเก็บและดึงข้อมูลขนาดใหญ่อย่างมีประสิทธิภาพ ลักษณะข้อมูลที่เก็บจะต้อง มีความสัมพันธ์กัน ข้อมูลเหล่านั้นถูกเก็บและได้รับการวิเคราะห์จากมุมมองที่แตกต่างกัน หรือที่เรียกว่า มิติ
องค์ประกอบของ Multi Dimensional Model ส่วนประกอบ รายละเอียด Fact table เป็นตารางศูนย์กลางที่ใช้ใน data warehouse และ data mart ที่จะเก็บจำนวน measures และรายละเอียดสำคัญในเชิงธุรกิจ Fact คือ row ในตาราง โดย fact จะเก็บค่าตัวเลขที่ใช้วัดเหตุการณ์ที่เกิดขึ้นกับ data Measure คือ ปริมาณ , จำนวน column ใน fact table โดย measure จะแสดงให้เห็นถึงค่าที่ถูกวิเคราะห์แล้ว Dimension คือ เอกลักษณ์ทางธุรกิจเป็นลักษณะทางกายภาพ Dimension table เป็นตารางใน data warehouse หรือ data mart ที่อธิบายข้อมูลใน fact table
ตารางองค์ประกอบสำคัญ Fact Table เป็น ตารางหลัก ซึ่งมีลักษณะคล้านกับตารางประเภท Transaction ของ OLTP (ตารางที่มีการเกิดทรานแซคชั่น INSERT , DELETE , UPDATE เสมอๆ) โดยส่วนใหญ่แล้วจะมีขนาด 80% ของข้อมูลทั้งหมด โดยภายในจะประกอบด้วยคอลัมน์ที่สำคัญ 2 ประเภท คือ Fact Table Key เป็นคอลัมน์ที่ใช้เชื่อมโยงไปยัง Dimension Table ต่างๆ ดังนั้นจำนวนคอลัมน์ของ Fact Table Key จะเพิ่มขึ้นตามจำนวนของ Dimension Table อีกทั้งคอลัมน์ทั้งหมดนี้ยังสามารถนำไปใช้สร้างให้เป็น Primary Key ของตารางได้อีกด้วยMeasure เป็นคอลัมน์ที่เป็นข้อมูลตัวเลข ทำหน้าที่เก็บจำนวน หรือปริมาณที่เกิดขึ้นของแต่ละทรานแซคชั่น นอกจากนี้ยังเก็บผลลัพธ์ที่ได้จากการคำนวณด้วย Dimension key เป็น foreign keys ที่เก็บไว้ใน fact table และdimension key จะ map กับ primary key ใน dimension table Dimension Tables เป็น ตารางแกนต่างๆ ซึ่งมีลักษณะคล้ายกับตารางประเภท Mater ของ OLTP (ตารางข้อมูลที่เก็บการอธิบาย Entity ต่างๆ) โดยประกอบด้วยคอลัมน์ที่เป็น Key เพื่อเชื่อมโยงไป Fact Table Key และคอลัมน์ที่ให้ความหมายเพิ่มเติมแก่ Entity สามารถนำไปสร้างเป็น Dimension ของ OLAP Cube ตามลักษณะต่างๆ ดังต่อไปนี้ Standard Dimension มาจาก Dimension Table ปกติ ซึ่งแต่ละคอลัมน์อธิบายข้อมูล Entity นั้นๆ เพียงอย่างเดียว
ลักษณะการจัดเก็บข้อมูล จัดเก็บในลักษณะ Array หลายมิติ โดยเรียกแต่ละ แกนว่า มิติ (Dimension) สมาชิกภายในมิติเรียกว่า Position และเรียกส่วนตัดของ Position ในแต่ละมิติว่า Cell โดยเรียกข้อมูลแต่ละเซลล์ว่า measure Dimension Y Cell Dimension Z Dimension x
Hierarchical summarization paths Dimensions: Product, Location, Time Region Dimensions Browsing Industry Region Year Category Country Quarter Product City Month Week Office Day Product Month 1 2 3 4 7 6 5 Measure:Sales_volume(product, month, region)
A Concept Hierarchy: Dimension (location) all Europe North_America Mexico Canada Spain Germany Vancouver M. Wind L. Chan ... region office country Toronto Frankfurt city
ความสามารถแบบจำลอง Multi dimensional OLAP Operations 1.Rotating – ความสามารถในการหมุน CUBE เพื่อให้ได้มาซึ่งสารสนเทศในแง่มุมต่างๆ
ความสามารถแบบจำลอง Multi dimensional OLAP Operations 2. Slicing – การหั่น cube เพื่อให้ได้สารสนเทศที่ต้องการ Dice- เลือกพิจารณา...พลิก Dimension... ให้ตรงตามความต้องการของผู้ใช้ Date 1Qtr 2Qtr 3Qtr 4Qtr sum TV Product PC U.S.A VCR sum Canada Country Mexico sum All, All, All
Slicing Fact table view: * day 2 sale(*,p2,*) day 1
Dice-พลิก Dimension all city product date city, product city, date use greedy algorithm to decide what to materialize day 2 day 1 city, product, date
ความสามารถแบบจำลอง Multi dimensional OLAP Operations 3.Consolidation – กระบวนการนำข้อมูลเข้าสู่แบบจำลองมิติค่าของ measure จะถูกโหลดเข้าสู่แบบจำลองมิติที่สัมพันธ์กับข้อมูล และทำการสรุปข้อมูลตามลำดับชั้น 4.Measure หน่วยวัดเป็นตัวเลขที่บ่งชี้ถึงประสิทธิภาพขององค์กรมี 2 ประเภท Measure ที่เกิดจากค่าที่เก็บใน field ของตาราง Relation Measure ที่เกิดผลจากการทำ Operation
Browsing a Data Cube Visualization OLAP capabilities Interactive manipulation
ความสามารถแบบจำลอง Multi dimensional OLAP Operations 5.Hierarchies , Roll-Up & Drill-Downs การแสดงความสัมพันธ์ลักษณะลำดับชั้น Roll-Up -> การไปสู่ระดับชั้นที่สูงกว่า (Summarized) Drill-Downs ->การไปสู่ระดับชั้นที่ต่ำกว่า (Detail Data)
Fact Table
แสดงการ Roll Up and Drill Down
Multidimensional Schema Model Star Schema Outboard Tables Multiple Fact Tables
Star Schema ลักษณะของ star schema จะมีลักษณะที่มี fact table อยู่ตรงกลางล้อมรอบด้วยหลาย ๆ dimension table ที่เก็บรายละเอียดของ fact ที่ไม่ใช่ normalized center ประโยชน์ของการใช้ star schema สามารถวิเคราะห์ได้จำนวนมาก มีประสิทธิภาพใน query สูง
ตัวอย่าง Star Schema
Outboard Tables หรือ Snowflake Schema ตารางคุณลักษณะนี้มี Primary Key ที่เป็น column ที่เป็น Key ต่างๆในตารางคุณลักษณะอื่นๆ จึงเรียกว่าเป็นตารางรอบนอก (Outbound) หรือ อาจเรียกว่า Snowflake Schema ลักษณะของ Snowflake schema มีหลาย ๆ ตาราง มี primary dimension table เดียวที่สามารถ join กับ fact table มี secondary dimension table ที่ join กับ - Primary dimension table - Secondary dimension table เดียวกันที่อยู่ในระดับที่สูงกว่า Primary dimension table มีขนาดเล็กกว่าของ star schema
Example of Snowflake Schema time_key day day_of_the_week month quarter year time location_key street city_key location Sales Fact Table item_key branch_key units_sold dollars_sold avg_sales Measures item_name brand type supplier_key item branch_name branch_type branch supplier_type supplier city province_or_street country smaller dimension tables
Multiple Fact Tables ประกอบด้วย Fact Table หลายตาราง ซึ่งเกิดจาก Fact ที่ไม่เกี่ยวข้องกันหรือบางครั้งต้องการเพิ่มประสิทธิภาพการสืบค้น โดยแบ่งตารางที่มีข้อมูลจำนวนมากอกเป็นตารางย่อยตามช่วงเวลา เช่น ตารางเก็บข้อมูลสรุปการขายรายวัน รายเดือน รายปี หรือ ข้อเท็จจริงของข้อมูลการขายในปีก่อนหน้าและปีปัจจุบัน
Example of Multiple Fact Tables galaxy schema time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Shipping Fact Table Sales Fact Table time_key item_key time_key shipper_key item_key from_location branch_key branch_key branch_name branch_type branch location_key to_location location_key street city province_or_street country location dollars_cost units_sold units_shipped dollars_sold avg_sales shipper_key shipper_name location_key shipper_type shipper Measures Measures
คิวบ์ (Cube) เป็นโมเดลของ Data Warehouse เปรียบเสมือนลูกบากส์ ซึ่งแต่ละมุมมองจะทำให้เกิดการคิวรี องค์ประกอบหลักคือ ไดเมนชัน (Dimention) เมเชอร์ (Measure) สามารถหมุนแกนได้ (privoted data cube)
วิธีการเก็บข้อมูลลง คิวบ์ MOLAP STORAGE Multidimensional OLAP เนื่องจากเก็บผลลัพธ์ไว้ในดิสก์ และ สามารถคำนวณผลที่ต้องการไว้ได้ล่วงหน้า เหมาะกับ ระบบที่มีข้อมูลขนาดปานกลาง ROLAP STORAGE Relation OLAP ใช้ relation ใน database เหมาะกับ ระบบที่มีข้อมูลมาก ความถี่ในการใช้น้อย HOLAP STORAGE Hybrid OLAP โครงสร้างนี้จะผสมระหว่าง MOLAP และ ROLAP โดยใช้ข้อมูลที่มีอยู่ใน relation Database แต่สร้างยอดรวมไว้ในคิวบ์
MOLAP Server Multi-Dimensional OLAP Server M.D. tools utilities Product City Date 1 2 3 4 milk soda eggs soap A B Sales M.D. tools utilities multi-dimensional server could also sit on relational DBMS
ROLAP Server Relational OLAP Server tools ROLAP utilities server Special indices, tuning; Schema is “denormalized” relational DBMS