data staging
DESCRIPTION
การแปลงข้อมูลTRANSCRIPT
LOGO
1
Data Warehousing
บทท� 7 การแปลงขอมล
(Data Staging Area)
Contents
ความหมายของ Data Staging Area1
กจกรรมท�เกดข�นบน Data Staging Area2
LOGO2
แนวทางสาหรบการออกแบบ Data Staging Area กบกระบวนการ ETL
3
Data Staging Area
Data Acquisition System
Data Staging Area
Data Warehouse Database
Data Provisioning Area
Data Data DataData
LOGO3
Metadata Repository
Meta
data
Meta
data
Meta
data
Meta
data Terminal
Data Staging Area
Data Staging Area เปนกระบวนการท�ทาใหขอมลท�ไดรบมาจากภายนอก สามารถถกบนทกลงใน Data Warehouse ตามโครงสรางขอมลท�ไดออกแบบไวในรปแบบ Data Model
กระบวนการท�เกดข�นบน Data Staging Area ไมไดมเฉพาะการแปลงขอมลเทาน�น แตยงมกระบวนการอ�นๆ ท�สาคญอกมากมาย ไดแก การตรวจสอบความ
LOGO4
เทาน�น แตยงมกระบวนการอ�นๆ ท�สาคญอกมากมาย ไดแก การตรวจสอบความถกตองของขอมลเบ�องตน, การเปนท�พกขอมล, การทาหนาท�สารองขอมล
Data Acquisition System
Data Staging Area
DataData Warehouse
Database
Data
Data Staging Area
ช�อ Field ประเภทขอมล Mandatory
รหสประเภทสนคา Integer Yes
รหสสนคา Integer Yes
วนท� Date Yes
ยอดขาย Number(10, 2) Yes
LOGO5
หมายเหต String No
Data Acquisition System
สามารถตรวจสอบความถกตองภายใตขอจากด
- รหสสนคา ตองเปนจานวนเตมบวกเทาน�น
- วนท�ตองมคาเสมอ
- ยอดขายตองมความยาวไมเกน 10 หลก
Data Staging Area
- รหสสนคา ตองเปนรหสท�มอยจรง
- รหสประเภทสนคาตองมอยจรง
- รหสสนคาเปนสนคาท�สอดคลองกบประเภท
สนคา
กจกรรมท�เกดข�นบน Data Staging Area
หนาท�หลกๆ ของ Data Staging Area ไดแก
1. การตรวจสอบความถกตองของขอมลกอนการ Load เขาส Data Warehouse
Database
1.1 ความถกตองในแงของการมคาของขอมล (Data Consistency)
1.2 ความถกตองในแงของคาตางๆ ท�เปนไปไดของขอมล (Possible Values)
LOGO6
1.2 ความถกตองในแงของคาตางๆ ท�เปนไปไดของขอมล (Possible Values)
1.3 ความถกตองในแงของความสมพนธของขอมล (Data Relationship)
2. การทาหนาท� Temporary Backup
กจกรรมท�เกดข�นบน Data Staging Area
1. การตรวจสอบความถกตองของขอมลกอนการ Load เขาส Data
Warehouse Database
กจกรรมการตรวจสอบและแกไขท�เกดใน Data Staging Area น� จะหมายถงความถกตองในแงของเน�อหาของขอมล ไมใชแคเพยงความถกตองเบ�องตนท�สามารถตรวจสอบไดโดย Data Acquisition เทาน�น
LOGO7
สามารถตรวจสอบไดโดย Data Acquisition เทาน�น
ความถกตองของขอมล ในแงของเน�อหาขอมลน�น หมายถงความถกตองในแงตางๆ ตอไปน�
1.1 ความถกตองในแงของการมคาของขอมล (Data Consistency)
1.2 ความถกตองในแงของคาตางๆ ท�เปนไปไดของขอมล (Possible Values)
1.3 ความถกตองในแงของความสมพนธของขอมล (Data Relationship)
กจกรรมท�เกดข�นบน Data Staging Area
1.1 ความถกตองในแงของการมคาของขอมล (Data Consistency)
เม�อขอมลท�ไดรบมาจากภายนอก ไดผานเขามายง Data Staging Area แลว จะทาหนาท�ตรวจสอบวาขอมลท�เขามาม Cardinality ของ Field ตางๆ ตรงตามท�กาหนดไวโดย Data Model หรอไม
Activity is optional to Person
LOGO8
ActivityPerson
Student
Learning
does 1..10..M
Studies in
1..M
0..M
Teaches in
1..1
0..M
Teacher
Activity is optional to Person
- กจกรรมไมจาเปนตองมบคคล คอกจกรรมหน�งกจกรรมจะไมมคนทาเลยกได
Person is mandatory to Activity
- บคคลจาเปนตองมกจกรรม คอ คนหน�งคนจะตองทากจกรรมอยางนอยหน�งกจกรรม
กจกรรมท�เกดข�นบน Data Staging Area
Data Staging Data Warehouse
Database
Person
001Kittipong02-2836253
Person
001
LOGO9
Data Acquisition System
Data Staging Area
Database
Person
00202-2836224
001Kittipong02-2836253
Entity Person{ id Char(10) mandatory,
Name Char(20) mandatory,Tel_No Char(20) optional,Primary Key (id)
}
กจกรรมท�เกดข�นบน Data Staging Area
1.2 ความถกตองในแงของคาตางๆ ท�เปนไปไดของขอมล (Possible Values)
คอขอจากดของคาท�จะมอยใน Field ใด Field หน�งของขอมล
เชน ชนดของขอมลเปนวน เดอน ป เปน Field ท�ตองมขอจากดชดเจน
- ตองมเดอนท�มคาเปน 1-12 หรอ มกราคม ถง ธนวาคม เทาน�น
- เดอนมกราคม ตองมจานวนวนท�ไมเกน 31 วน
LOGO10
- เดอนมกราคม ตองมจานวนวนท�ไมเกน 31 วน
Possible Values ตางๆ ท�มอยใน Data Warehouse น�น แบงเปน 2 ประเภท
- Possible Values ท�เปนสากล (Universal Possible Values)
- Possible Values ท�สรางข�นเองภายในระบบ (System-Based Possible Values) **
กจกรรมท�เกดข�นบน Data Staging Area
1.3 ความถกตองในแงของความสมพนธของขอมล (Data Relationship)
เม�อขอมลจากภายนอกเขามาอยในคลงขอมลแลว ขอมลจะตองมความสมพนธกบขอมลตวอ�นๆ ตามท�ออกแบบไวในแบบจาลองขอมลดวย
โดยจะใช Foreign Key (จาก Relational Data Model) เปนตวทาหนาท�เช�อมความสมพนธระหวางขอมล
LOGO11
ความสมพนธระหวางขอมล
Sales_Id Good_Id Quantity
0000001 12345 80
Good_Id Good_Description Price_per_Unit
12344 เส�อผาเดกแรกเกด 150
12345 กางเกงยนส 600
กจกรรมท�เกดข�นบน Data Staging Area
2. การทาหนาท� Temporary Backup
เม�อขอมลมาถงคลงขอมล และตองรอการนาเขา (ดวยกระบวนการ ETL) ไปยงคลงขอมลน�น กระบวนการน�จาเปนตองใชเวลา และอาจจะกนเวลาหลายชม. กรณท�มระบบขนาดใหญ
ซ�งขณะท�ขอมลกาลงดาเนนการอยน�น อาจจะเกดเหตการณท�ไมคาดคด หรอ
LOGO12
ซ�งขณะท�ขอมลกาลงดาเนนการอยน�น อาจจะเกดเหตการณท�ไมคาดคด หรออาจเกดความผดพลาดข�นได ดงน�น เพ�อหลกเล�ยงความเสยหายท�จะเกดข�น Data Staging Area จะทาหนาท�เปนสวนสารองขอมล (Temporary Backup)
** เม�อกระบวนการเสรจส�น ขอมลท�สารองอยจะถกกาจดออกจาก Data Staging Area**
กจกรรมท�เกดข�นบน Data Staging Area
Data Acquisition System
Data Staging Area
DataArea
BackupArea
Data WarehouseDatabase
LOGO13
Data Acquisition System
Data Staging Area
DataArea
BackupArea
Data WarehouseDatabase
Data
กจกรรมท�เกดข�นบน Data Staging Area
Data Acquisition System
Data Staging Area
DataArea
BackupArea
Data WarehouseDatabase
เม�อเกดความผดพลาด
LOGO14
Data Acquisition System
Data Staging Area
DataArea
BackupArea
Data WarehouseDatabase
Data
แนวทางสาหรบการออกแบบ Data Staging Area กบกระบวนการ ETL
Data Staging Area มความสมพนธอยางใกลชดกบการเคล�อนยายขอมลจาก
ท�หน�งไปยงอกท�หน�ง ซ�งในทาง Data Warehouse กระบวนการในลกษณะน�เรยกวา
“กระบวนการ Extract-Transform-Load (ETL)” ซ�งประกอบดวย 3 กระบวนการ
1. Extract คอ กระบวนการในการดงขอมลออกจาก Source
LOGO15
1. Extract คอ กระบวนการในการดงขอมลออกจาก Source
2. Transform คอ การแปลงขอมลจากโครงสรางเดมท�กาหนดไวใน Source ใหอย
ในรปแบบโครงสรางขอมลตามท�กาหนดใน Destination
3. Load คอ การนาขอมลท�แปลงรปแบบแลว ไปเกบไวใน Destination
**หากโครงสรางขอมลใน Source และ Destination มลกษณะเหมอนกน กระบวนการ Transform กไมจาเปนตองทางานเลย**