Thursday, December 17, 2009

The ETL Process


  • Capture

  • Scrub or data cleansing

  • Transform

  • Load and Index
    ETL = Extract, transform, and load

การสร้างและการออกแบบโครงสร้างข้อมูล Data Warehouse ที่ดี










การสร้างและการออกแบบโครงสร้างข้อมูล Data Warehouse ที่ดี

  • Accessible ง่ายในการเข้าถึงข้อมูล
  • Transformed มีการเปลี่ยนแปลงข้อมูลเพื่อให้มีรูปแบบในการจัดลง Data Warehouse เพื่อง่ายต่อการเข้าถึงและวิเคราะห์ข้อมูล

  • Management – oriented คือ มีความยืดหยุ่นสามารถมองได้หลายรูปแบบ


DW-Modeling
•Star Schema
•Snowflake Schema
•Fact Constellations



หลักการสร้างและการออกแบบโครงสร้างข้อมูล Star Schema







หลักการสร้างและการออกแบบข้อมูล Snowflake Schema





หลักการสร้างและการออกแบบข้อมูล Fact Constellations



OLAP Operations


  • Cube slicing – come up with 2-D view of data


  • Drill-down – going from summary to more detailed views


Summary report &
Drill-down with color added


วิธีการเก็บข้อมูลลง คิวบ์

วิธีการเก็บข้อมูลลง คิวบ์
ROLAP STORAGE
› Relation OLAP เป็น Traditional relational representation ใช้ relation ใน database เหมาะกับ ระบบที่มีข้อมูลมาก ความถี่ในการใช้น้อย
MOLAP STORAGE
› Multidimensional OLAP เนื่องจากเก็บผลลัพธ์ไว้ในดิสก์ และ สามารถคำนวณผลที่ต้องการไว้ได้ล่วงหน้า เหมาะกับ ระบบที่มีข้อมูลขนาดปานกลาง
HOLAP STORAGE
› Hybrid OLAP โครงสร้างนี้จะผสมระหว่าง MOLAP และ ROLAP โดยใช้ข้อมูลที่มีอยู่ใน relation Database แต่สร้างยอดรวมไว้ในคิวบ์

CUBE

เป็นโมเดลของ Data Warehouse
  • เปรียบเสมือนลูกบากส์ ซึ่งแต่ละมุมมองจะทำให้เกิดการคิวรี องค์ประกอบหลักคือ
    - ไดเมนชัน (Dimension)
    - เมเชอร์ (Measure)

  • สามารถหมุนแกนได้ (pivoted data cube)

Operational VS Data Warehouse

Operational VS Data Warehouse



ตารางที่ 1 คำอธิบายบนส่วนท้ายตาราง

Operational

Warehouse (DSS)

Application Oriented
Subject Oriented
Used to run business
Used to analyze business
Clerical User
Manager/Analyst
Detailed data
Summarized and refined
Current up to date
Snapshot data
Isolated Data
Integrated Data
Repetitive access by small transactions
Ad-hoc access using large queries
Read/Update access
Mostly read access (batch update)

OLTP vs OLAP คืออะไร

OLTP(Online Transaction Processing)


เป็นการจัดการข้อมูลรายวัน
  • มีการ เพิ่ม ลบ แก้ไขข้อมูลได้ตลอดเวลา

  • ในองค์กรมีผู้ใช้เป็นจำนวนมาก

  • มักมีการแก้ไขข้อมูลพร้อมๆกันอยู่ตลอดเวลา

  • ถ้าหากอยากวิเคราะห์ข้อมูลจากระบบ OLTP มักนิยมcopy ข้อมูลไปยังอีกเครื่อง เพราะถ้าหากทำในเครื่องปกติที่ทำงานอยู่จะทำให้การทำงานช้า


  • OLAP(Online Analytical Processing)



    • คือเทคโนโลยี ที่ใช้ดึงข้อมูลจาก Data Warehouse เพื่อนำไปวิเคราะห์และหาคำตอบที่ต้องการได้อย่างมีประสิทธิภาพ

    • ช่วยในการตัดสินใจทางธุรกิจอย่างมีประสิทธิภาพ

    • ค้นหาข้อมูลรวดเร็ว

    • หาผลรวมได้ง่าย และมีประสิทธิภาพ

    • เรียก ดูข้อมูลได้อย่างรวดเร็ว

    Datawarehouse Design

    • กำหนดความต้องการของระบบ ประกอบไปด้วยความต้องการทางธุรกิจของผู้ใช้ ความต้องการทางเทคนิค กำหนดแหล่งที่มาของข้อมูล ความต้องการและรูปแบบรายงานที่อยากวิเคราะห์
    • ออกแบบและสร้าง Database การออกแบบนั้นจะต่างจากการออกแบบทั่วไปเพราะใช้ Demoralize มากที่สุด เพื่อให้ query ได้ผลเร็วที่สุด
    • เลือกชนิด ของข้อมูลสำหรับวิเคราะห์ คือการเลือกข้อมูลสำหรับการวิเคราะห์ส่วนใหญ่เป็นข้อมูลตัวเลข
    • เตรียมข้อมูล คือการดึงข้อมูลจากระบบ OLTP มาสร้างเป็นข้อมูล data warehouse
    • ออกแบบวิธีการเพิ่ม และปรับปรุงข้อมูลใน data warehouse เนื่องจากจะต้องมีการนำข้อมูลจาก OLTP มาเพิ่มเพื่อความทันสมัยของ data warehouse
      - Incremental update เป็นการเพิ่มข้อมูลที่เข้ามาใหม่ต้อท้ายข้อมูลเดิมโดยไม่มีการเปลี่ยน หรือแก้ไขโครงสร้างของข้อมูล
      - Refresh Data คือการทำให้ข้อมูลมีความถูกต้องทันสมัย โดยทำการประมวลผลข้อมูลใหม่ทั้งหมด มักจะเกิดการเปลี่ยนแปลงโครงสร้างใน data warehouse
      - Rebuild the Dimension Structure คือการปรับปรุงโครงสร้างที่ใช้สำหรับการวิเคราะห์
    • การบำรุงรักษาระบบ Database คือเตรียมแผนและจัด backup ระบบ data warehouse อย่างสม่ำเสมอ รวมทั้งมีการทดสอบการกู้ระบบเมื่อมีความเสียหายเกิดขึ้น

    DATA MART

    DATA MART

    • เป็นส่วนย่อยของ Data warehouse
    • มีขนาดเล็ก เก็บเฉพาะข้อมูลระดับหน่วยงาน
    • การเลือกใช้ Data Mart หรือ Data Warehouse
      - สำหรับองค์กรที่ยังไม่มีความพร้อม สามารถสร้าง Data MART ก่อนได้ เพื่อนำมารวมกันเป็นData Warehouse ทีหลัง
      - สำหรับ องค์กรที่ต้องการความรวดเร็วเฉพาะส่วนมากๆ สามารถนำ Data MART ไปใช้ในการดำเนินการได้

    ส่วนประกอบของ Datawarehouse

    ส่วนประกอบของ DW
    • เมตาดาตาสำหรับแสดงเนื้อหาข้อมูล (META DATA)
    • ฐานข้อมูลสำหรับคลังข้อมูล (DB-DW)
    • โปรแกรมสำหรับจัดส่งข้อมูล (ETL TOOLS)
    • เครื่องมือวิเคราะห์สำหรับผู้ใช้ (REPORTING TOOLS)
    • วัสดุและหลักสูตรการฝึกอบรม (METERIAL AND TRAINING)
    • ที่ปรึกษาด้านคลังข้อมูล (DW CONSULTANT)

    Data Warehouse Architecture (with a Staging Area)

    Data Warehouse Architecture (with a Staging Area)

    •Data Sources (operational systems and flat files)
    •Staging Area (where data sources go before the warehouse)
    •Warehouse (metadata, summary data, and raw data)
    •Users (analysis, reporting, and mining)

    Data Warehouse Architecture (with a Staging Area and Data Marts)

    Data Warehouse Architecture (with a Staging Area and Data Marts)




    •Data Sources (operational systems and flat files)
    •Staging Area (where data sources go before the warehouse)
    •Warehouse (metadata, summary data, and raw data)
    •Data Marts (purchasing, sales, and inventory)
    •Users (analysis, reporting, and mining

    Data Warehouse Architecture (Basic)


    Data Warehouse Architecture (Basic)

    •Data Sources (operational systems and flat files)
    •Warehouse (metadata, summary data, and raw data)
    •Users (analysis, reporting, and mining)

    สถาปัตยกรรมของ Data warehouse

    สถาปัตยกรรมของ DWH นั้นมีได้หลายรูปแบบขึ้นกับองค์กรที่ใช้ซึ่งมี 3 แบบหลัก ๆ ได้แก่

    คุณสมบัติของระบบฐานข้อมูลคลังข้อมูล

    • Subject Oriented ข้อมูลถูกสร้างจาก Business Subjectที่สนใจ เช่น Invoice , Asset,Customer,Product
    • Integrated ข้อมูลถูกรวบรวมจากแหล่งต่างๆ แต่นำมาสร้างเป็นฐานข้อมูลที่สอดคล้องเป็นหนึ่งเดียว
    • Time-variant ข้อมูลที่เก็บไว้ต้องมีลักษณะมี History มี Time กำกับ สามารถ ทราบข้อมูลย้อนหลังได้ทุกช่วงเวลาที่ต้องการ
    • Non-volatile ข้อมูลจะไม่ถูกเปลี่ยนแปลงง่ายๆ ผู้ใช้สามารถ เข้าถึงข้อมูลได้เท่านั้น

    Evolution of Decision Support

    • 60’s: Batch reports
      ›hard to find and analyze information
      ›inflexible and expensive, reprogram every request
    • 70’s: Terminal based DSS and EIS
    • 80’s: Desktop data access and analysis tools
      ›query tools, spreadsheets, GUIs
      ›easy to use, but access only operational db
    • 90’s: Data warehousing with integrated OLAP engines and tools

    DSS-Decision Support System

    • Used to manage and control business
    • Data is historical or point-in-time
    • Optimized for inquiry rather than update
    • Use of the system is loosely defined and can be ad-hoc
    • Used by managers
      and end-users to understand the business and make judgements

    Why data warehousing

    • ไม่สามารถค้นหาข้อมูลที่ฉันต้องการ
      ›data is scattered over the network
      ›many versions, subtle differences
    • ไม่ได้รับข้อมูลที่จำเป็นต้องใช้
      ›need an expert to get the data
    • ไม่เข้าใจข้อมูลที่เราเจอ
      ›available data poorly documented
    • ไม่สามารถใช้ข้อมูลที่เจอได้
      ›results are unexpected
      ›data needs to be transformed from one form to other
    • ในโลกปัจจุบันธุรกิจต่างๆ ประสบกับการแข่งขันทางตลาดสูงทำให้ข้อมูลต่างๆภายในองค์กรมีความสำคัญในการคาดการ แนวโน้มในการเปลี่ยนแปลงปัจจัยต่างๆในการทำงานซึ่งจะมีผลในการพัฒนาและการดำเนินงานให้เกิดผลสำเร็จอย่างมีประสิทธิสูงสุด
    • Data Warehouse จึงมีบทบาทสำคัญในการเป็นฐานข้อมูลที่ช่วยตัดสินใจของผู้บริหารในการดำเนินงาน
    • คลังข้อมูล คือ ที่เก็บข้อมูลขององค์กรที่ได้รับการออกแบบ เพื่อช่วยในการตัดสินใจของฝ่ายบริหาร (DSS-Decision Support System)
    • เป้าหมายในการสร้างคลังข้อมูล เพื่อแยกกลุ่มข้อมูลที่ใช้ในการวิเคราะห์ทางธุรกิจออกจากฐานข้อมูลที่ใช้งานประจำวันมาเก็บอยู่ใน Relational Database Management System (RDBMS) ประสิทธิภาพสูง และทำให้การเรียกใช้ข้อมูลชุดนี้ทำได้อย่างยืดหยุ่น รวดเร็วมากยิ่งขึ้น

    Who is the father of a data warehouse?

    §Bill Inmon, ผู้ที่มีประสบการ์ณในด้าน Database Technology และ DW Design มากกว่า 35 ปี. และเป็นผ้ร่วมก่อตั้ง ‘Corporate Information Factory’ และ ‘Government Information Factory’.
    §แนวคิดและความเข้าใจลึกซึ้งด้าน DW ของ Bill เป็นที่นับถือกันอย่างกว้างขวางในอุตสาหกรรม คอมพิวเตอร์ ทั้ง seminar และด้าน consulting และ เค้ายังเป็นผู้แต่งหนังสือ เกี่ยวกับ Database ,MIS และ DW มากมายหลายเล่ม

    Get Start Datawarehouse

    History of data warehousing.
    DW Concept เริ่มต้นถูกคิดค้นด้วย IBM ซึ่งตอนนั้นเรียกว่า “information warehouse” และ present วิธีการในการเข้าถึงข้อมูลโดยใช้ non-relational system และถูก เสนอ concept ให้ใช้กับองค์กรต่างๆ ต่อมา ในขณะที่มีการ implement information warehouse ประสบ กับปัญหาด้าน performance และไม่รองรับกับ บางองค์กรที่มีความซับซ้อนมากๆ ตั้งแต่นั้นมา concept ของ DW ได้มีการหยิบยกมาทำ หลายๆครั้ง แต่ไม่มีใครทำสำเร็จ จนมีผู้นึงได้คิดค้นconcept ใหม่ และเปลียนชื่อเป็น Data Warehouse แทน และเป็นที่ยอมรับกันอย่างแพร่หลาย จนได้มีการแต่งตั้งให้เป็น บิดาแห่ง Data warehouse