olap and cubes · 2010. 7. 9. · oltp vs. olap oltp olap ผู ทํางานกับข...
Post on 26-Jan-2021
43 Views
Preview:
TRANSCRIPT
-
OLAP and Cubes
-
OLAP
ความหมายของ OLAP
OLTP vs. OLAP
หลักการทํางานของ OLAP
ประเภทของ OLAP
การดําเนินการกับ OLAP
ประโยชนของ OLAP
-
OLAP
OLAP ยอมาจากคําวา Online-Analytic Processing ซึ่งหมายถึง
วิธีการที่ใชในการวิเคราะหขอมูลดวย Dimension และ Fact table
โดย Fact table และ Dimension table จะถูกประมวลผลใหพรอม
สําหรับการนําไปใชงาน โดยภาพที่ผูใชงานใชเพื่อมองผลที่ไดจาก
การประมวลผลจะอยูในรูปของลูกบาศกที่มีหลายมิติ ภายในบรรจุ
ขอมูลที่มีประโยชนตอการวิเคราะหขอมูล
-
กระบวนการประมวลผลขอมูลทางคอมพิวเตอร ที่ชวยใหผูใช
สามารถวิเคราะหในมิติตาง ๆ (Multidimensional Data
Analysis) ของขอมูลไดงายขึ้น เชน ผูใชตองการเปรียบเทียบ
ขอมูลยอดการขายบะหมี่กึ่งสําเร็จรูปในเดือนมีนาคม เทียบกับ
เดือนกันยายน และเทียบกับสินคาอื่น ๆ ในชวงเวลาเดียวกัน
OLAP
-
On-line analytical processing (OLAP) เปนหนึ่งในชุดของ business intelligent tool ซึ่งชวยในการตัดสินใจโดยการวิเคราะหขอมูลที่เปนผลรวมหลายมุมมอง โดยปกติแลวขอมูลของ OLAPจะไดมาดวยการเรียบเรียงจาก transaction databases รวบรวมเปน multidimensional-data model ลักษณะขอมูลที่เปน summary และสามารถเรียกดูไดหลายมุมมองทําใหงายสําหรับใชเปนขอมูล ในการตัดสินใจนอกจากนี้ OLAP tools ยังเปน tools ที่มีประสิทธิภาพสําหรับการ aggregate data โดยทําการ pre-aggregation data และใช index แบบพิเศษสําหรับโครงสรางขอมูลหลายมิติ
OLAP
-
OLAP : Multidimensional Database
ฐานขอมูลที่ใชในการจัดการและจัดเก็บขอมูลใหสามารถ
แสดงผลขอมูลในมิติตาง ๆ ได ซึ่งเปนการพัฒนาตอมาจาก
ฐานขอมูลเชิงสัมพันธใหมีความสามารถมากยิ่งขึ้น เพื่อรองรับ
การประมวลผลเชิงวิเคราะห
-
จังหวัด ไตรมาส ยอดขาย
กรุงเทพฯ 1 750,000
กรุงเทพฯ 2 800,000
กรุงเทพฯ 3 825,000
กรุงเทพฯ 4 680,000
กรุงเทพฯ เชียงใหม
1 750,000 550,000
2 800,000 600,000
3 825,000 650,000
4 680,000 500,000
จังหวัด ไตรมาส ยอดขาย
เชียงใหม 1 550,000
เชียงใหม 2 600,000
เชียงใหม 3 650,000
เชียงใหม 4 500,000
ไตรมาสไตรมาสจังหวัดจังหวัด
-
OLAP : Multidimensional Database
สินคา จังหวัด ไตรมาส ยอดขาย
มือถือ กทม. 1 750,000
บัตรเดิมเงิน กทม. 1 350,000
มือถือ กทม. 2 800,000
บัตรเดิมเงิน กทม. 2 300,000
มือถือ กทม. 3 825,000
บัตรเดิมเงิน กทม. 3 280,000
มือถือ กทม. 4 680,000
บัตรเดิมเงิน กทม. 4 380,000
สินคา จังหวัดจังหวัด ไตรมาสไตรมาส ยอดขายยอดขาย
มือถือมือถือ ชมชม.. 11 550,000550,000
บัตรเดิมเงินบัตรเดิมเงิน ชมชม.. 11 250,000250,000
มือถือมือถือ ชมชม.. 22 600,000600,000
บัตรเดิมเงินบัตรเดิมเงิน ชมชม.. 22 200,000200,000
มือถือมือถือ ชมชม.. 33 650,000650,000
บัตรเดิมเงินบัตรเดิมเงิน ชมชม.. 33 260,000260,000
มือถือมือถือ ชมชม.. 44 500,000500,000
บัตรเดิมเงินบัตรเดิมเงิน ชมชม.. 44 325,000325,000
-
250,000
550,000
200,000
650,000
260,000
600,000
325,000
500,000ชม.จ
ังหวัด
ไตรมาส
1 2 3 4
มือถือ
บัตรเติมเงินสินคา
550,000 600,000 650,000
750,000 800,000 825,000
500,000
680,000กทม.
OLAP : Multidimensional Database
-
Where does OLAP fit in?
-
OLAP OverviewInteractive, exploratory analysis of multidimensional data
to discover patterns
age accid
ents
gend
er
-
OLAP
Architecture
-
OLTP vs. OLAP
OLTP (On-Line Transaction Processing) คือ การประมวลผล
ขอมูลตามลักษณะการปฏิบัติงานปกติของหนวยงานนั้นจาก
ฐานขอมูล
OLAP (On-Line Analytical Processing) คือ การประมวลผลใน
เชิงการวิเคราะหขอมูล เพื่อใชสนับสนุนการตัดสินใจของ
ผูบริหารจากคลังขอมูล
-
OLTP vs. OLAP
OLTP OLAP
การปฏบิัติการกับขอมูลมักจะเปนการ Update
การประมวลผลมักจะใชรายการเปลี่ยนแปลง
ขนาดเล็กๆ แตมีรายการเปลี่ยนแปลงจํานวนมาก
ปรมิาณขอมูลคอนขางมาก ใชเนือ้ที่เก็บขอมูลใน
ระดับเมกะไบต (Mb) ถึง จิกะไบต (Gb)
ลักษณะของขอมูล มีลักษณะแจกแจงเปนเรคค
อรดของแตละบุคคล แตละสถานที่ หรือแตละ
รายการของเรือ่งที่สนใจ โดยยังไมมีการสรุปรวม
การปฏบิัติการกับขอมูลมักจะเปนการเรยีกดู
ขอมูล
การประมวลผล มักใชการสอบถามขอมูลดวย
เงือ่นไขที่ซับซอน และใชเวลาประมวลผลคอนขาง
นาน
ประมาณขอมูลมาก ใชเนือ้ที่เก็บขอมูลในระดับ
จิกะไบต (Gb) ถงึ เทอราไบต (Tb)
ลักษณะขอมูล เปนขอมูลสรุป หรือขอมูลที่มีการ
รวมเปนกลุม
-
OLTP vs. OLAP
OLTP OLAP
ผูทํางานกับขอมูลมักจะเปนระดับ
พนักงานฏิบัติการ
ขอมูลที่เก็บบันทกึจะเปนขอมูลลาสุด
มาตรฐานเรือ่งความถูกตองของ
ขอมูล และ
ความสามารถในการกูคืนขอมูลมี
ความสําคัญมาก
ผูทํางานกับขอมูลมักจะเปน
นักวิเคราะหขอมูล และผูบริหาร
ขอมูลที่เก็บอาจไมใชขอมูลลาสุด
เพราะเปนการสําเนาขอมูลมาจาก
ฐานขอมูล
เนนเรือ่งความรวดเร็วในการตอบ
Query
-
หลักการทํางานของ OLAP
OLAP เปนการนําขอมูลจาก Data warehouse มาเพื่อใชวิเคราะห
หาความเปนไปไดในอนาคตซึ่งขอมูลที่จัดเก็บไวใน Data
warehouse ที่ OLAP สามารถเรียกใชไดมีอยู 3 ประเภทดวยกัน
คือ
-
หลักการทํางานของ OLAP
1. ฐานขอมูลเชิงสัมพันธ (Relational Database)
เปนการจัดเก็บขอมูลโดยทั่วไปอยูแลวซึ่งอาจจะมีโครงสราง
แบบรูปดาวหรือแบบเกล็ดหิมะก็ได หรืออาจจะเปนขอมูลที่ผาน
การ Normalization หรือไมก็ได
-
หลักการทํางานของ OLAP
2. ฐานขอมูลหลายมิติ (Multidimensional Database)
เปนฐานขอมูลที่จัดเก็บเรียงกันในรูปของ Array โดยทั่วไปแลว
จะยอมใหผูใชเขาไปเขียนขอมูลไดเพียงทีละคนเทานั้น แต
อนุญาตใหหลาย ๆ คนเขาไปอานได
-
หลักการทํางานของ OLAP
3. ฐานขอมูลที่เก็บไวที่ Client ในลักษณะของ file (Client-
base files) ในประเภทนี้จะยอมใหผูใชดึงขอมูลบางสวนออกมา
เพื่อนํามาประมวลแบบกระจายหรือสรางคําสั่งใหขอมูลปรากฏ
บน Web
-
ขั้นตอนการพิจารณาขอมลู1. ความรวดเร็วในการประมวลผล ขอมูลจากหลาย ๆ แหลงมาจัดเก็บ
รวมกันทําใหปริมาณขอมูลยิ่งขึ้นไปเรื่อย ๆ จึงจําเปนตองมีแหลงจัดเก็ยแยกไวตางหาก เมื่อ OLAP ตองการขอมูลก็จะทําการดึงขอมูลมาใชทําใหรวดเร็วในการประมวลผล
2. ขอมูลจากหลาย ๆ แหลง OLAP ตองการขอมูลจากแหลงตาง ๆ รวมทั้งขอมูลจากภายนอกและจากเครื่องพีซี ซึ่งขอมูลเหลานั้นมีระบบการจัดเก็บที่แตกตางกัน เชน ซอฟทแวรที่จัดเก็บขอมูลที่แตกตางกันฉะนั้นจําเปนตองเปลี่ยนใหมาอยูในระบบเดียวกัน กอนเพื่อลดความซับซอนของขอมูลลง
-
ขั้นตอนการพิจารณาขอมลู3. ขจัดขอผิดพลาดของขอมูล ปกติการประมวลผลของระบบงานมักจะมี
ความผิดพลาดของขอมูลรวมอยูดวย ฉะนั้นจําเปนตองขจัดขอผิดพลาดของขอมูลนั้นเสียกอน เชน ฟลดที่เปนทางเลือก มักจะเปนสาเหตุเล็ก ๆ นอย ๆ ทําใหเขียนโปรแกรมผิดพลาดได
4. การปรับเปลี่ยนขอมูลใหเหมาะสม มีเหตุผลหลายประการที่จําเปนตองมีการปรับเปลี่ยนขอมูลใหเหมาะสมกอนที่จะนํามาวิเคราะหแตตองไมมีผลกระทบกับการประมวลผลระบบ transaction
-
ขั้นตอนการพิจารณาขอมลู5. ความทันสมัยของขอมูล ขอมูลมาจากหลายแหลง ฉะนั้นแตละแหลงของ
ขอมูล ก็จะทําการปรับปรุงขอมูลใหทันสมัยในชวงเวลาที่ตางกัน เชนขอมูลจากแหลงที่หนึ่งมีการปรับปรุงขอมูลทุกสิ้นเดือน ขอมูลแหลงที่สองมีการปรับปรุงทุกสิ้นสัปดาห ฉะนั้นเพื่อให OLAP สามารถวิเคราะหขอมูลไดอยางถูกตองและเที่ยงตรง จําเปนตองจัดเก็บขอมูลไวใน data warehouse
6. ขอมูลในอดีต สวนใหญแลวการประมวลผลของ OLAP จะมีมิติของเวลาเขามาเกี่ยวของดวยโดยใชสถิติ time series analysis มาวิเคราะห
-
ขั้นตอนการพิจารณาขอมลู7. สรุปขอมูล โดยปกติขอมูลการทํางานประจําวันตองการรายละเอียดมาก
แตขอมูลสําหรับการตัดสินใจตองการเพียงการสรุปผล
8. การปรับปรุงขอมูล ขอมูลทํางานประจําวันตองมีการปรับปรุงใหทันสมัยตลอดเวลาแต OLAP ตองการขอมูลที่ไมเปลี่ยนแปลงตลอดเวลาเพราะจะทําใหผลการวิเคราะหขอมูลผิดพลาด จึงจําเปนตองมีที่จัดเก็บขอมูลจากงานประจําวัน
-
OLAP and Cubes
รูปทรงดังกลาว มีจํานวนมิติเทากับจํานวนของ Dimension เราเรียก
รูปทรงนี้วา Cube
dimensions = 2
-
Cube
sale prodId storeId amtp1 c1 12p2 c1 11p1 c3 50p2 c2 8
c1 c2 c3p1 12 50p2 11 8
Fact table view: Multi-dimensional cube:
dimensions = 2
-
Cube
3 – dimension Cube
-
3-D Cube
sale prodId storeId date amtp1 c1 1 12p2 c1 1 11p1 c3 1 50p2 c2 1 8p1 c1 2 44p1 c2 2 4
day 2c1 c2 c3
p1 44 4p2 c1 c2 c3
p1 12 50p2 11 8
day 1
dimensions = 3
Multi-dimensional cube:Fact table view:
-
Cube
4 – dimension Cube
-
MOLAP ROLAP and HOLAP
OLAP แบงเปน 3 ประเภท คือ
1. MOLAP คือ OLAP หรือ Cube ที่จะตองมีการประมวลผล Fact
Table เพื่อใสคาในชองตางๆของ Cubeไว กอนที่จะมีการใชงาน
คาในแตละชองของ MOLAP จะคงที่ไมเปลี่ยนแปลง จนกวาจะมี
การประมวลผลใหมอีกครั้ง แตการเรียกใชงานจาก MOLAP จะ
รวดเร็วมาก
-
MOLAP ROLAP and HOLAP
OLAP แบงเปน 3 ประเภท คือ
2. ROLAP คือ OLAP หรือ Cube ที่ไมจําเปนตองมีการประมวลผล
OLAP ไวก อน แตจะ เก็บขอมูลในรูปแบบของ Relational
Database เมื่อมีการเรียกใชขอมูลจาก ROLAP ระบบจะไป
ดําเนินการสราง Query เพื่อดึงขอมูลออกมาจาก Fact Table
วิธีการนี้จะชากวาแบบ MOLAP แตขอมูลที่ไดทันสมัยเสมอ
-
MOLAP ROLAP and HOLAP
OLAP แบงเปน 3 ประเภท คือ
3. HOLAP คือ OLAP หรือ Cube ที่มีการแบงพื้นที่ออกเปนสวนๆ
โดยแตละสวนอาจใชวิธีการจัดเก็บขอมูลแบบ MOLAP และ
บางสวนก็จัดเก็บแบบ ROLAP
-
การดําเนินการกับ OLAPRoll up และ Drill Down
Roll up เปนกระบวนการเปลี่ยนแปลงระดับความละเอียด
ของการพิจารณาขอมูล จากสวนของรายละเอียดมาก จนมา
เปนขอมูลสรุป
Drill Down เปนกระบวนการเปลี่ยนแปลงระดับความ
ละเอียดของการพิจารณาขอมูล จากขอมูลสรุป จนมาเปน
ขอมูลในสวนรายละเอียด
-
Region Shop Date Product
Type
Product Amount
North ABC 12/12/2003 Glossary Fish 10000
North ABC 13/12/2003 Glossary Meat 20000
North Platter 12/12/2003 Glossary Pork 25000
North Platter 13/12/2003 Miscellaneous Medicine 6000
South Five Mart 12/12/2003 Glossary Fish 8000
South Five Mart 13/12/2003 Glossary Pork 23000
South Five Mart 12/12/2003 Miscellaneous Medicine 10000
South Five Mart 13/12/2003 Miscellaneous Pencil 500
Fact table ของรายการขายสินคาแยกตามภูมภิาค, รานคา,
ประเภทสินคา, รายการสินคา และวันที่
-
Region Region SumSum
NorthNorth 61,00061,000
SouthSouth 41,50041,500
Product Type Product Type GlossaryGlossary Misc.Misc.
RegionRegion
NorthNorth 55,00055,000 6,0006,000
SouthSouth 31,00031,000 10,50010,500
Product Type Product Type GlossaryGlossary Misc.Misc.
RegionRegion ShopShop
NorthNorth ABCABC 30,00030,000
NorthNorth PlatterPlatter 25,00025,000 6,0006,000
SouthSouth Five MartFive Mart 31,00031,000 10,50010,500
Roll up
Roll up
Drill Down
Drill Down
Region
Region-Product Type
Region-Shop-Product Type
-
Product Type Glossary Misc.
Region Shop
North ABC 30,000
North Platter 25,000 6,000
South Five Mart 31,000 10,500
Product Type Glossary Glossary Glossary Misc. Misc.
Product Fish Meat Pork Medicine Pencil
Region Shop
North ABC 10,000 20,000
North Platter 25,000 6,000
South Five Mart 8,000 23,000 10,000 500
Roll up Drill Down
Region-Shop-Product Type
Region-Shop-Product Type-Product Type
-
การดําเนินการกับ OLAPSlice and Dice
Slice เปนการเลือกพิจารณาผลลัพธบางสวนที่เราสนใจ
โดยการเลือกเฉพาะคาที่ถูกกํากับดวยขอมูลบางคาของแต
ละมิติ
Dice เปนกระบวนการพลิกแกนหรือมิติขอมูล ใหมุมมองที่
ตางออกไป
-
10,0008,000 23,000 10,000 500
10,000 25,000 6,000
10,000 20,000 10,000ABC
Platter
FiveMart
North
South
Source Cube
Fish Meat Pork Med. Pencil
Glossary Misc.
10,0008,000 23,000 10,000 500
10,000 25,000 6,000
10,000 20,000 10,000ABC
Platter
FiveMart
North
South
Slice
Fish Meat Pork Med. Pencil
Glossary Misc.
10,0008,000 23,000
10,000 25,000
10,000 20,000 10,000ABC
Platter
FiveMart
North
South
Slice
Fish Meat Pork
Glossary
Slice
-
Product Type Glossary Glossary Glossary Misc. Misc.
Product Fish Meat Pork Medicine Pencil
Region Shop
North ABC 10,000 20,000
North Platter 25,000 6,000
South Five Mart 8,000 23,000 10,000 500
Product Type Glossary Glossary Glossary
Product Fish Meat Pork
Region Shop
North ABC 10,000 20,000
North Platter 25,000
South Five Mart 8,000 23,000
Slice:-Glossary
Slice
-
Shop
Product Type
Date
Product Type
Shop
Date
Dice
-
Product Type Glossary Misc.
Shop
ABC 30,000
Platter 25,000 6,000
Five Mart 31,000 10,500
Product Type Glossary Misc.
Date
6/07/2004 43,000 10,000
7/07/2004 43,000 6,500
มุมมอง
Shop-Product Type
มุมมอง
Date-Product Type
Dice
-
Aggregates
sale prodId storeId date amtp1 c1 1 12p2 c1 1 11p1 c3 1 50p2 c2 1 8p1 c1 2 44p1 c2 2 4
Add up amounts for day 1
In SQL: SELECT sum(amt) FROM SALE
WHERE date = 1
81
-
Aggregates
sale prodId storeId date amtp1 c1 1 12p2 c1 1 11p1 c3 1 50p2 c2 1 8p1 c1 2 44p1 c2 2 4
Add up amounts by day
In SQL: SELECT date, sum(amt) FROM SALE
GROUP BY date
ans date sum1 812 48
-
Another Example
sale prodId storeId date amtp1 c1 1 12p2 c1 1 11p1 c3 1 50p2 c2 1 8p1 c1 2 44p1 c2 2 4
Add up amounts by day, product
In SQL: SELECT date, sum(amt) FROM SALE
GROUP BY date, prodId
sale prodId date amtp1 1 62p2 1 19p1 2 48
drill-down
rollup
-
Aggregates
Operators: sum, count, max, min,
median, ave
“Having” clause
Using dimension hierarchy
average by region (within store)
maximum by month (within date)
-
Cube Aggregation
day 2 c1 c2 c3p1 44 4p2 c1 c2 c3
p1 12 50p2 11 8
day 1
c1 c2 c3p1 56 4 50p2 11 8
c1 c2 c3sum 67 12 50
sump1 110p2 19
129
. . .
drill-down
rollup
Example: computing sums
-
Cube Operators
day 2c1 c2 c3
p1 44 4p2 c1 c2 c3
p1 12 50p2 11 8
day 1
c1 c2 c3p1 56 4 50p2 11 8
c1 c2 c3sum 67 12 50
sump1 110p2 19
129
. . .
sale(c1,*,*)
sale(*,*,*)sale(c2,p2,*)
-
c1 c2 c3 *p1 56 4 50 110p2 11 8 19* 67 12 50 129
Extended Cube
day 2 c1 c2 c3 *p1 44 4 48p2* 44 4 48
c1 c2 c3 *p1 12 50 62p2 11 8 19* 23 8 50 81
day 1
*
sale(*,p2,*)
-
Aggregation Using Hierarchies
day 2 c1 c2 c3p1 44 4p2 c1 c2 c3
p1 12 50p2 11 8
day 1
region A region Bp1 56 54p2 11 8
customer
region
country
(customer c1 in Region A;
customers c2, c3 in Region B)
-
Pivoting
sale prodId storeId date amtp1 c1 1 12p2 c1 1 11p1 c3 1 50p2 c2 1 8p1 c1 2 44p1 c2 2 4
day 2c1 c2 c3
p1 44 4p2 c1 c2 c3
p1 12 50p2 11 8
day 1
Multi-dimensional cube:Fact table view:
c1 c2 c3p1 56 4 50p2 11 8
-
Rotation (Pivot Table)
-
ประโยชนของ OLAPชวยในการวิเคราะหเปรียบเทียบขอมูลในมุมตาง ๆ ทําใหการ
ตัดสินใจมีประสิทธิภาพมากขึ้น
ผูใชแตละคนสามารถสรางมุมมองขอมูลของตนเองได เพื่อ
นําไปใชในงานเฉพาะดาน
มีความรวดเร็วในการสอบถามขอมูล แมในฐานขอมูลขนาด
ใหญและมีความซับซอนมาก
ทําใหได รับขอมูลมุมมองใหม ๆ สําหรับประกอบการ
ตัดสินใจ
-
ประโยชนของ OLAPชวยใหผูใชสามารถคัดเลือกขอมูลสําหรับตัดสินใจไดอยางมี
ประสิทธิภาพ เนื่องจากระบบประมวลผลเชิงวิเคราะหแบบ
ออนไลนไดทําการวิเคราะหและเปรียบเทียบขอมูลในมุมอง
ตางๆที่หลากลหาย
-
สรุป การประมวลผลการวิเคราะหออนไลนสามารถตอบสนองไดอยาง
รวดเร็วในความตองการที่ซับซอนของผูจัดการและนักวิเคราะห เพื่อ
ใช ในการจัดการ สนับสนุนการตัดสินใจ หรือบริหารระบบ
สารสนเทศ ซึ่ง OLAP นั้นมีการปฏิบัติการดังนี้
สามารถเขาถึงขอมูลจํานวนมากได เชน ขอมูลการขายภายในโกดัง
ขอมูลในหลายปที่ผานมา
วิ เคราะหความสัมพันธระหวางปจจัยของธุรกิจ เชน การขาย
ผลิตภัณฑ เขตพื้นที่
-
สรุป ผลรวมของขอมูลที่เกี่ยวของ เชน มูลคาการขาย งบประมาณ และ
คาใชจายภายในเขตพื้นที่
การเปรียบเทียบขอมูลการทํางานตามชวงระยะเวลา ทุกเดือน ทุก
ไตรมาส ทุกป
มีการตอบสนองไดอยางรวดเร็วใหกับผูใชงานที่ตองการ ดังนั้น
ผูจัดการหรือนักวิเคราะหสามารถติดตามการวิเคราะหหรือการ
ตัดสินใจไดตลอดขั้นตอนการทํางาน
top related