olap and cubes · 2010-07-09 · olap olap ย อมาจากค ําว า online-analytic...

Post on 16-Apr-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 accide

nts

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