Upload
dangnhan
View
229
Download
4
Embed Size (px)
Citation preview
HDC @ Pentaho OLAP การสรางและการเรียกใชรายงาน OLAP สําหรับ Pentaho
ในระบบ Health Data Center (HDC)
1
หัวขอบรรยาย
แนวคิดและการออกแบบ Data Warehouse
การติดตั้งโปรแกรม Pentaho Data Integration
การสรางและเรียกใช Transformation
การสรางและเรียกใช Job
การสราง Transformation และ Job ท่ีใชสําหรับ OLAP : ตัวอยาง
จํานวนประชากร
การ Deploy ETL ไปบนระบบ Pentaho BI Server
การสราง Mondrian Schema ดวยโปรแกรม Schema Workbench
2
แนวคิดและการออกแบบระบบคลังขอมูล (Data Warehouse)
3
คลังขอมูล (Data Warehouse)
• “The single logical storehouse of all the information used to report on the
business.”
• “ฐานขอมูลขนาดใหญซ่ึงรวบรวมขอมูลมาจากหลากหลายแหลงหลายชวงเวลา ใชสา
หรับการรายงานและการวิเคราะหตางๆ”
Bill Inmon (The father of the data warehouse)
• “a subject oriented, nonvolatile, integrated, time variant collection of data
in support of management's decisions”
4
คลังขอมูล (Data Warehouse) cont.
• คลังขอมูล (Data warehouse) ใชสาหรับการวิเคราะห
• ฐานขอมูล (Database) ใชสาหรับการประมวลผล
• Data Mart
5
Bottom Up
คลังขอมูล (Data Warehouse) cont.
• Why data marts ?
- งายตอการเขาถึงขอมูลที่จาเปนซํ้าๆ
- ปรับปรุงความรวดเร็วในการตอบสนองตอผูใช
- งายตอการพัฒนา
- ลดตนทุนหรือคาใชจายในการพฒันา
6
คลังขอมูล (Data Warehouse) cont.
• Business Intelligence
• “กลุมของโปรแกรมที่นาํขอมูลทีม่ีอยูจากคลงัขอมูล มาจัดทํารายงานในรูปแบบตางๆ ที่
เหมาะสมกับมุมมองในการวิเคราะห แสดงความสัมพันธ และทํานายผลลพัธของ
แนวโนมที่อาจเกิดขึ้นได ตรงตามความตองการขององคกร เพื่อประโยชนในการวางแผน
กลยุทธดานตางๆ”
7
คลังขอมูล (Data Warehouse) cont.
• ลักษณะการวิเคราะหขอมูลใน Data warehouse มีสองประเภท
1. OLAP (Online analytical processing)
2. Data mining
8
สถาปตยกรรมของ Data warehouse
9
ประวัติความเปนมา
• 2531 – Barry Devlin และ Paul Murphy ไดเสนอบทความที่เกี่ยวกับการเสนอสถาปตยกรรมสาหรับธุรกิจและระบบสารสนเทศในวารสาร IBM Systems Journal โดยบทความนี้เองที่ทั้งคูไดแนะนาคาวา “Business data warehouse”
• 2533 – Ralph Kimball ไดกอต้ังบริษัท Red Brick Systems และเสนอผลิตภัณฑ Red Brick Warehouse ซึ่งเปนระบบจัดการฐานขอมูลที่ใชสาหรับคลังขอมูล
• 2534 – Bill Inmon ไดกอต้ังบริษัท Prism Solutions และเสนอผลิตภัณฑ Prism Warehouse Manager ซึ่งเปนซอฟตแวรสาหรับการพัฒนาระบบคลังขอมูล
• 2535 – Bill Inmon ไดเขียนหนังสือที่ช่ือวา “Building the Data Warehouse”
• 2538 – กอต้ังสถาบัน “The Data Warehousing Institute” ซึ่งเปนสถาบันที่ไมแสวงหาผลกาไรสําหรับสนับสนุนการดาเนินงานทางดานคลังขอมูล
• 2539 – Ralph Kimball ไดเขียนหนังสือที่ช่ือวา “The Data Warehouse Toolkit”
• 2543 – Daniel Linstedt ไดนาเสนอแนวคิด Data Vault ซึ่งชวยในการทา คลังขอมูลแบบ Real time
10
การออกแบบคลังขอมูล
• ใชวิธีการของ Ralph Kimball
• แนวคิด Dimensional Modeling
• Facts
- คาของขอมูลที่สามารถรวบรวม (Aggregate)
- SUM, COUNT, AVERAGE, STD
• Dimension
- กลุมของลาดับช้ัน (Hierarchy) และรายละเอียดที่สามารถนํามาใชอธิบาย Facts
11
การออกแบบคลังขอมูล cont.
12
Fact Dimension
สิ่งที่ตองการจะวัด
Ex.
- จํานวนประชากร
- จํานวนคร้ังที่มารักษา
- จํานวนคาใชจายโดยเฉลีย่
มุมมองที่จะดูขอมูลนั้น
Ex.
- ดูขอมูลตามพื้นที่ (location)
- ดูขอมูลตามอายุ (age)
- ดูขอมูลตามเพศ (sex)
การออกแบบคลังขอมูล cont. • Dimensional Modeling : Star Schema
13
จํานวน ประชากร
พื้นที่ เพศ
อายุ
สถานบริการ …
Star Schema Physical
14
Population Facts
Location Dimension
Sex Dimension
Age Dimension
Office Dimension
ER-Diagram
15
การออกแบบคลังขอมูล cont.
• กระบวนการสราง Dimensional Modeling สามารถแบงไดเปน 4 ระยะ
1. เลือกกระบวนการทีต่องการสรางคลงัขอมูล
2. วิเคราะหความตองการคลังขอมูล (ใคร ดูอะไร วัตถุประสงค)
3. ตองมี dimension อะไรบาง ระดับไหน และอยางไร
4. ตองเก็บขอมูล fact อะไรบางและอยางไร
16
สรุปคําศัพทท่ีสําคัญ • Data Warehouse :
• Data Mart :
• Extract, Transform and Load (ETL) :
- การดึงขอมูล (Extract) มาจากหลากหลายแหลง
- การแปลงขอมูล (Transform) ใหตรงกับความตองการ
- การบรรจุขอมูล (Load) ผลลัพธทีไ่ดสูปลายทาง
• Online Analytical Processing (OLAP) :
- Relational OLAP (ROLAP)
- Multidimensional OLAP (MOLAP)
• Online Transaction Processing (OLTP) :
17
สรุปคําศัพทท่ีสําคัญ cont.
• Dimensional modeling :
• Star Schema :
• Snowflake Schema :
• Multi-Star Schema :
18
สรุปคําศัพทท่ีสําคัญ cont.
• Dimension table :
• Fact table :
• Conformed Dimension :
- Dimension ที่มีคาขอมูลอยูเพียงชุดเดียว สามารถนาไปใชไดในหลากหลาย Fact
- ตัวอยาง ตาราง dimension ของวันที่
19
สรุปคําศัพทท่ีสําคัญ cont.
• Combination Dimension (Junk Dimension) :
- Denormalization ใหกลายเปน dimension เดียวดวยวิธีแบบผลคูณ Cartesian
20
สรุปคําศัพทท่ีสําคัญ cont.
• Denormalization :
• Surrogate Key :
- คียหลักแทนขอมูลของตาราง Dimension และตาราง Fact
- ตัวเลขจํานวนเต็มนับตอไปเร่ือยๆ ตั้งแต 1
• Metadata :
- ขอมูลที่ใชอธิบายขอมูล
• Attribute :
- เดือนเปนคา Attribute หนึ่ง ใน dimension เวลา
21
สรุปคําศัพทท่ีสําคัญ cont.
• Cube :
• Measure :
• Hierarchy Level :
22
สถาน
บริกา
ร
23
สรุปคําศัพทท่ีสําคัญ cont.
• Drill down :
• Roll up :
24
สรุปคําศัพทท่ีสําคัญ cont.
• Slicing :
• Dicing :
25
การสราง Transformation และ Job ที่ใชสําหรับ OLAP
26
ตัวอยางจํานวนประชากร
เปาหมายท่ีตองการ
• 4 dimension : พื้นที่, อาย,ุ เพศ และ สถานบริการ
• 1 measure : จํานวนประชากร
27
สถาน
บริกา
ร
เพศ
Dimensional Modeling : Star Schema
จํานวน ประชากร
พื้นที่
สถานบริการ อายุ
28
เพศ
Star Schema Physical
29
Population Facts
Location Dimension
Sex Dimension
Age Dimension
Office Dimension
ER-Diagram
30
Location Dimension
Location Dimension Table ‘lab_dim_location’
Hierarchy ‘location’
o Zone (เขต)
o Changwat (จังหวดั)
o Ampur (อําเภอ)
o Tambon (ตําบล)
o Village (หมูบาน)
Columns
o zonecode : varchar(3)
o zonename : varchar(100)
o changwatcode : varchar(3)
o changwatname : varchar(100)
o ampurcode : varchar(3)
o ampurname : varchar(100)
o tamboncode : varchar(3)
o tambonname : varchar(100)
o villagecode : varchar(3)
o villagename : varchar(100)
31
Location Dimension (ตอ)
1
1..m1
11..m
1..m
HDC
ETL : De-normalize
32
HDCWarehouse
Sex Dimension
Sex Dimension Table ‘lab_dim_sex’
Hierarchy ‘sex’
o sex (เพศ)
Columns
o sexcode : char(1)
o sexname : varchar(10)
HDC
ETL : One-to-One
33
HDCWarehouse
Age Dimension
Age Dimension Table ‘lab_dim_age’
Hierarchy ‘age’
o agegroup (กลุมอายุ)
o Age (อายุ)
Columns
o agegroupcode : char(2)
o agegroupname : varchar(50)
o agecode : varchar(15)
ETL : Generate
HDCWarehouse
34
Office Dimension
Office Dimension Table ‘lab_dim_office_person’
Hierarchy ‘age’
o Office (สถานบริการ)
Columns
o hospcode : varchar(5)
o hospname : varchar(255)
35
ETL : Dynamic
HDC
HDCWarehouse
Fact Population
1 1..m
Location Dimension Sex Dimension Age Dimension
Lookup
sexid ageid
36
Offcie Dimension
เตรียมขอมูลดวย KETTLE (Pentaho Data Integration)
37
Business Intelligence Model
38
Pentaho BI Suite Architecture
39
• Extraction = การไดมาซ่ึงขอมูลจากแหลงขอมูลตางๆกัน เชน หมายเลขบัตร
ประชาชนกับที่อยู จากสองตารางเช่ือมกัน (Person และ Home)
• Transformation = เปลี่ยนแปลงรูปแบบและ/หรือเนือ้หาของขอมูลใหเหมาะสม
กับโครงรางในคลังขอมูล
• Loading = บันทึกขอมูลลงสูคลงัขอมูล
• Transformation = การทํางาน ETL ในแตละเร่ือง
• Job = Transformation + Transformation + … + n
40
Pentaho Data Integration (Kettle)
• Spoon : โปรแกรมสราง transformation และ Job ในรูปแบบกราฟก
• Kitchen : โปรแกรมสั่งให Job ทํางานผานทาง command line
• Pan : โปรแกรมสั่งให Transformation ทํางานผานทาง command line
• Carte : โปรแกรมจําลอง server แบบยอมๆสําหรับสั่งการ
Transformation หรือ Job ผานระบบเครือขาย
41
Pentaho Data Integration (Kettle) (ตอ)
เคร่ืองมือตางๆของ Kettle
• มองขอมูลในรูปของ stream (คอลัมน) + metadata
• Input Process Output
42
Pentaho Data Integration (Kettle) (ตอ)
แนวคิดการทํางานของ Kettle
Step Hop
Record Stream
HOSPCODE
PID
…
กําหนดคา JNDI ของโปรแกรม Kettle
43
กําหนดคา JNDI ของโปรแกรม Kettle (ตอ)
44
กําหนด Database Connections
45
46
กําหนด hdcwarehouse ดวย
การ Deploy ETL ขึ้นสู Pentaho BI Server
47
• Kettle จะไมสามารถนําขึ้นไปทํางานบน Pentaho BI ไดโดยตรง
• เนื้อหาทุกอยางที่ทํางานบน Pentaho BI ไดจะมีไฟลชนิดหนึ่งเปนฉากหนา
• ไฟลดังกลาวจะมีนามสกุล xaction
• เราสามารถสรางไฟลดังกลาวได 2 วิธี
- โปรแกรม Pentaho Design Studio
- สรางจากแมแบบทีม่ีอยู
48
การนํา Kettle ขึ้นสู Pentaho BI Server
• ตัวอยางแมแบบการแกไขไฟล .xaction แบบ manual
49
การนํา Kettle ขึ้นสู Pentaho BI Server (ตอ)
ชื่อที่ตองการใหปรากฏ
ชื่อผูสราง
รายละเอียด
• แกไขไฟลดังตอไปนี้
50
การนํา Kettle ขึ้นสู Pentaho BI Server (ตอ)
กําหนดชื่อตัวแปร
(ตองสอดคลองกับดานลาง)
ชื่อไฟลทีต่องการเรียก
51
การนํา Kettle ขึ้นสู Pentaho BI Server (ตอ)
ชนิดของไฟล (กําหนดไดเอง)
ระบุชื่อตัวแปร
(สอดคลองกับดานบน)
กําหนดระดับการแสดงล็อกการทาํงาน - basic - error