สรุปเนื้อหาเตรียมสอบ Data Warehouse Midterm
เนื่องด้วยใกล้ถึงวันสอบของวิชา Data Warehouse แล้ว ออฟก็เลยถือโอกาสสรุปเนื้อหาที่ต้องใช้ในการสอบกลางภาค โดยเลือกเฉพาะส่วนหัวข้อหลักๆ ที่น่าจะต้องรู้มาให้ ส่วนรายละเอียดนั้นก็สามารถอ่านตามได้จากการจดเลคเชอร์ที่อัพไปแล้วได้เลยค่า
ที่มาภาพ : http://img.dailymail.co.uk/i/pix/2007/12_01/warehouseSWNS_1000x667.jpg
-
หัวข้อหลักๆที่จะมาสรุป
- ความแตกต่างของ Database, Data warehouse, Data mining
- องค์ประกอบของ Data Warehouse
- Dimensional Modeling (star schema)
- Design 6 step : Six-process for designing dimensional models
- SQL ที่น่าจะรู้
-
ความแตกต่างของ Database, Data warehouse, Data mining
Database (ฐานข้อมูล) : ฐานข้อมูลคือ การรวบรวมข้อมูลที่มีความสัมพันธ์กันโดยจะเก็บอยู่ภายใต้หัวเรื่องหรือจุดประสงค์อย่างใดอย่างหนึ่ง เพิ่มเติม
Data warehouse (คลังข้อมูล) : คลังข้อมูลเป็นลักษณะของการแยกฐานข้อมูล ที่เก็บข้อมูลที่แตกต่างกันจากหลายๆแหล่ง ไว้ในรูปแบบและที่เดียวกัน เน้นเรื่องการเอา information ออกมา ซึ่งอาจจะออกมาในรูปแบบของรายงานต่างๆ เพื่อมาช่วยในการประกอบการตัดสินใจเรื่องต่างๆ เพิ่มเติม
Data mining (เหมืองข้อมูล) : เหมืองข้อมูลเป็นกระบวนการที่กระทำกับข้อมูล(โดยส่วนใหญ่จะมีจำนวนมาก) เพื่อค้นหารูปแบบ แนวทาง และความสัมพันธ์ที่ซ่อนอยู่ในชุดข้อมูลนั้น โดยอาศัยหลักสถิติ การรู้จำ การเรียนรู้ของเครื่อง และหลักคณิตศาสตร์ เพิ่มเติม
สรุป : Database ใช้เก็บข้อมูลงานประจำวัน, Data warehouse ใช้เก็บข้อมูลแบบสรุปเพื่อนำข้อมูลโดยรวมมาวิเคราะห์ ไม่เน้นรายละเอียดของข้อมูล, Data mining ใช้ในการวิเคราะห์ค้นหารูปแบบหรือพฤติกรรม
-
องค์ประกอบของ Data Warehouse
- Operational Source Systems : เป็นระบบคำสั่งของ record ที่จับ transaction ของธุรกิจ
- Data Staging Area : โซนพักข้อมูล : เป็นส่วนที่ให้ข้อมูลมาพักไว้ก่อนการทำงานต่อไป โดยจะมีกระบวนการ ETL (extract:แตกข้อมูล การพยายามเข้าไปอ่าน และพยายามเข้าใจถึงแหล่งข้อมูล- transformation:จัดการcleanข้อมูลและรวมข้อมูลจากหลายแหล่งเข้าด้วยกัน- load:โหลดเข้าไปในคลังข้อมูล)
- Data Presentation Area (Data Warehouse) : เป็นที่ที่ข้อมูลถูกจัดการ, จัดเก็บ และทำให้สามารถเข้าถึงได้โดยตรงจากผู้ใช้, คนเขียนรายงาน และแอพพลิเครชั่นที่ใช้ในการวิเคราะห์
- Data Mart : เป็น data warehouse ขนาดย่อย ซึ่งการที่ต้องแบ่งย่อยออกมาเพื่อการใช้งานได้สะดวกและกำหนดสิืทธิ์ของการเข้าถึง หรืออาจจะแบ่งตาม business process ก็ได้
- Data Access Tools : เครื่องมือที่ทำการดึงข้อมูล โดยสามารถที่จะเป็น ad hoc query (การเป็น query ที่ไม่คาดคะเนมาก่อน)หรือ data mining
- Metadata : เป็นสิ่งที่อยู่รอบๆข้อมูลจริงๆที่ทำให้คนเข้าใจว่าข้อมูลนั้นถูกสร้างมาได้อย่างไร และจะนำไปใช้ได้อย่างไร มีไว้ช่วย DW’s technical, administrative, business user group ในกา่รทำงาน
-
Dimensional Modeling (star schema)
– มีองค์ประกอบสำคัญคือ
ที่มารูป : http://www.datadefractor.com/Portals/0/Images/Pages/Star%20Schema/star-schema.png
- Dimensions : มุมมอง โดยจะต้องครอบคลุม requirement และ data source ทั้งหมด โดยเป็นตัวช่วยอธิบายข้อมูลของ fact table ทำให้คลังข้อมูลของเราเข้าใจได้ง่ายมากขึ้น
- Facts (measure) : หน่วยวัดประสิืทธิภาพของธุรกิจ มีส่วนประกอบด้วย Foreign keys ที่เป็น composite key และส่วนที่เป็น measure
-
Design 6 step : Six-process for designing dimensional models
- Select the Business Process : เลือก business process โดยให้เราเลือกว่าจะทำคลังข้อมูลเกี่ยวกับ business process ไหน
- Declare the Grain(granularity) : ประกาศหน่วยย่อยที่สุดที่จะเก็บลงในคลังข้อมูลที่ใช้ตอบคำถาม “What exactly is a fact record for this table”
- Choose the Dimensions : เลือก Dimension โดย Dimensions ก็คือเป็น set ของ context สำหรับการตอบคำถามเกี่ยวกับ fact ใน fact table ซึ่งจะต้องมี Time dimension เสมอ
- Identify the Facts : ระบุ fact
ชนิดของ fact table
– Additive Facts : fact มีการบวกสะสมได้ และจะต้องทำได้กับทุกๆ dimension, ใช้ sum ได้
– Semi-additive Facts : fact ที่ sum ไม่ได้ทุก dimension เช่นพวก account balance, อุณหภูมิ โดยอาจจะใช้ Average ช่วย
– non-additive : fact ที่ sum ไม่ได้
เงื่อนไขการมี fact table
– ถ้ามีการใช้ dimension ไม่เท่ากัน ก็อยู่ใน fact table เดียวกันไม่ได้
– ถ้ามี grain อยู่คนละระดับกัน อยู่ใน fact table เดียวกันไม่ได้ - Store pre-calculations in the fact table : จัดเก็บ pre-calculation ใน fact table (pre-calculation : fact ที่เก็บอะไรที่คำนวนไว้แล้ว ซึ่งมันจะช่วยช่วยใน query performance)
- Defining attributes of the dimension tables : หา attributes มาให้ dimension table ต่างๆ โดยใส่ให้เยอะที่สุดซึ่งขึ้นกับ source data และ attribute ควรจะเป็นชื่อเต็ม ไม่ควรเป็นตัวย่อ ซึ่งถ้ามีข้อมูลเป็นตัวย่อมาจะถูกแปลงเป็นตัวเต็มตอนที่ ETL
-
SQL ที่น่าจะรู้
SQL พื้นฐาน
- SELECT Statement
- WHERE Clause
- INSERT INTO Statment
- UPDATE Statement
- DELETE Statement
- FULL JOIN
- GROUP BY
SQL function
-
โดนใจอยากให้อ่านเพิ่ม
บทที่ 1 : Introduction to Data Warehousing
บทที่ 2 : Intro to Dimensional Modeling : Retail Sales Case Study
Leave a comment