วันพฤหัสบดีที่ 14 กรกฎาคม พ.ศ. 2559

แผนภาพอีอาร์ของระบบงานตัวอย่าง

แผนภาพอีอาร์ของระบบงานตัวอย่าง

แนวคิดและทฤษฏี

1. แนวคิดและทฤษฏี

ระบบคลังข้อมูล (Data Warehouse) คือ ระบบการจัดเก็บ รวบรวมข้อมูล ที่มีอยู่ในระบบปฏิบัติการต่างๆ ขององค์กร โดยข้อมูลเหล่านั้นมักเป็นข้อมูลกระจัดกระจาย ให้มารวมไว้เป็นศูนย์กลางข้อมูล ขององค์กร และสามารถเก็บข้อมูลย้อนหลังได้หลายๆ ปี เพื่อใช้เป็นข้อมูลช่วยสนับสนุนการตัดสินใจ (Decision Support System) หรือใช้ในการวิเคราะห์ข้อมูล ที่ถูกต้อง และมีประสิทธิภาพ โดยการวิเคราะห์ต้องทำได้แบบหลายมิติ (Multidimensional Analysis) ตลอดจนการวิเคราะห์ทางธุรกิจ เช่น การพยากรณ์ (Forecasting), What-If Analysis, Data Mining เป็นต้น

คุณสมบัติเฉพาะของคลังข้อมูล
จากความหมายของคลังข้อมูลที่บ่งบอกถึงความแตกต่างระหว่างคลังข้อมูลกับฐานข้อมูลปฏิบัติการ ซึ่งสามารถสรุปคุณสมบัติของคลังขอมูลไดดังนี้
  
1. Consolidated and Consistent
Consolidated หมายถึง การรวบรวมข้อมูลที่เกิดขึ้นในระดับปฏิบัติการมาไว้ศูนย์กลางเดียวกัน คือ ที่คลังข้อมูลส่วน Consistent หมายถึงข้อมูลจากแหล่งต่าง ๆที่รวบรวมมาไว้ในคลังข้อมูล จะต้องมีคุณสมบัติที่เหมือนๆ กัน ที่รูปแบบเดียวกันและสอดคล้องกัน เช่น ข้อมูลประเภทวันที่ควรเลือกใช้แบบเดียวกัน เลือกเป็นปี ค.. หรือ ปี พ.. อย่างใดอย่างหนึ่ง เป็นต้น

2. Subject - Oriented Data
ข้อมูลที่เกิดขึ้นในระดับปฏิบัติการมักจะมีเป็นจำนวนมาก และส่วนใหญ่ก็ไม่ได้นำมาใช้ในการวิเคราะห์หรือการตัดสินใจ ดังนั้นข้อมูลในคลังข้อมูล จึงเลือกเก็บข้อมูลในระดับปฏิบัติการเฉพาะส่วนที่นำมาใช้ในเชิงวิเคราะห์หรือเชิงตัดสินใจ มากกว่าการเก็บข้อมูลเพื่อตอบคำถามแบบรายละเอียดปลีกย่อย เช่น การแสดงข้อมูลยอดรวมการขายสินค้าแต่ละชนิดของลูกค้า และจะไม่แสดงรายการขายทุกรายการที่ลูกค้าสั่ง เป็นต้น

3. Historical Datsa
ข้อมูลของคลังข้อมูล จะเก็บย้อนหลังเป็นเวลาหลาย ๆ ปี ทั้งนี้เพื่อจะได้นำไปวิเคราะห์เปรียบเทียบหาแนวโน้มของข้อมูล การเปรียบเทียบข้อมูลของปีนี้กับปีที่ผ่านมา ซึ่งแตกต่างจากลักษณะข้อมูลของระบบ OLTP ที่เก็บเฉพาะข้อมูลที่ใช้เฉพาะปัจจุบัน

4. Read - Only Data
หลังจากที่นำข้อมูลเข้าสู่ฐานข้อมูลของคลังข้อมูลเรียบร้อยแล้ว ข้อมูลในฐานข้อมูลไม่ควรมีการแก้ไขอีกเว้นแต่กรณีที่ข้อมูลที่โหลดเข้าไปนั้นเป็นข้อมูลที่ไม่ถูกต้อง ทั้งนี้เนื่องจากคลังข้อมูลเป็นแหล่งที่เก็บข้อมูลขณะเวลาหนึ่ง ๆ ดังนั้นหลังการโหลดข้อมูลจากระบบ OLTP ซึ่งได้ตรวจสอบความถูกต้องแล้วจึงไม่มีการ เพิ่มใหม่ ปรับปรุงแก้ไข หรือ ลบรายการใดๆ ภายใน คลังข้อมูล เฉพาะการเพิ่มข้อมูลเข้าไปในคลังข้อมูลเท่านั้นที่ยอมให้ทำได้

การนำเสนอข้อมูล

7. การนำเสนอข้อมูล

ในคลังข้อมูลจะแบ่งส่วนของข้อมูลออกเป็น 2 ส่วน คือข้อมูลพื่อการปฏิบัติงาน และข้อมูลเพื่อการวิเคราะห์ สำหรับข้อมูลประเภทแรก เป็นข้อมูลที่เกิดจากการสั่งสมของกิจกรรมและผลการปฏิบัติงานขององค์กร ซึ่งผ่านระยะเวลาที่ยาวนาน การจะนำข้อมูลเหล่านี้ไปใช้งานต้องผ่านกระบวนการประมวลผลอย่างไดอย่างหนึ่ง เช่น การรวมการหาค่าเฉลี่ย การจัดลำดับ เป็นต้น ส่วนข้อมูลประเภทหลัง เกิดจากการพยายามใช้เครื่องมือที่มีอยู่ในการจัดการด้านคำนวณ และรวบรวมข้อมูลที่มีประโยชน์ต่างๆ ให้อยู่ในรูปแบบที่พร้อมต่อการใช้งาน โดยไม่ต้องประมวลผลอีกครั้งหนึ่ง ข้อมูลเพื่อการปฏิบัติงาน จะถูกนำไปใช้ในการวิเคราะห์แบบ Query and Reporting ในขณะเดียวกัน ข้อมูลเพื่อการวิเคราะห์จะถูกนำไปใช้เพื่อการใช้งานแบบ Multidimensional Data Analysis แต่อย่างไรก็ตามข้อมูลทั้งสองประเภทที่กล่าวมานั้น สามารถถูกนำมาใช้ร่วมกันในการวิเคราะห์ข้อมูลแบบ Data Mining  ซึ่งสามารถอธิบายความหมายและรายละเอียด ของการวิเคราะห์ข้อมูลทั้งสามแบบ มีดังนี้
                 1.  Report and Query หมายถึง การใช้โปรแกรมหรือระบบที่เรียกว่า ระบบสร้างรายงาน (Report Generator)” เพื่อรับข้อมูลที่เกิดจากการปฏิบัติงานในระบบมาประมวลผลอย่างใดอย่างหนึ่ง เพื่อให้เกิดผลลัพธ์เพื่อประโยชน์ในการตัดสินใจตามที่ต้องการ
                2. Multidimensional Data Analysis หมายถึง การใช้โปรแกรมหรือระบบทีเรียกว่า ระบบสร้างการประมวลผลแบบวิเคราะห์ (Online Analytic Processing Generator หรือ OLAP Generator)” เพื่อนำเอาข้อมูลเพื่อการวิเคราะห์ที่ได้จัดทำไว้ล่วงหน้ามาประมวลผลอย่างใดอย่างหนึ่ง เพื่อให้เกิดผลลัพธ์หรือมีค่า (Measures) ที่มีหลากหลายมุมมอง (Dimension) เพื่อการเตรียมสำหรับหยิบไปใช้ได้ทันทีในอนาคต โดยไม่ต้องประมวลผล
                3.  Data Mining หมายถึง การใช้โปรแกรมที่มีความชาญฉลาดในระดับหนึ่งที่เรียกว่า “Data Mining Tools” เพื่อ การวิเคราะห์ ค้นหา หรือสร้างความรู้ใหม่ (Discovered Knowledge) ซึ่งไม่เคยมีมาก่อนในการทำ Query and Reporting และ Multidimensional Data Analysis

การเข้าถึงและนำเสนอข้อมูลด้วย OLAP

8. การเข้าถึงและนำเสนอข้อมูลด้วย OLAP

คลังข้อมูล และ โอแล็ปเซิร์ฟเวอร์ ถูกสร้างขึ้นด้วยเป้าหมายและฟังก์ชันการทำงานที่ใกล้เคียงกัน แต่มีจุดเน้นที่แตกต่างกัน คลังข้อมูล จะมุ่งเน้นไปที่ความถูกต้องตรงกันของข้อมูล โอแล็ปเซิร์ฟเวอร์ มุ่งเน้นการให้บริการความรู้ที่จำเป็นสำหรับการวิเคราะห์ทางธุรกิจ ทำให้โอแล็ป ถูกจัดอยู่ในชุดของเครื่องอัจฉริยะทางธุรกิจ (Business Intelligence หรือ BI)

โดยปกติแล้ว โครงสร้างของข้อมูลที่ใช้สำหรับโอแล็ปเซิร์ฟเวอร์จะเป็นแบบจำลองหลายมิติ หรือนิยมเรียกกันว่า คิวบ์หรือลูกบาศ์ก (Cube) ซึ่งทำให้ดูเข้าใจง่ายและตรงกับความต้องการในการวิเคราะห์ข้อมูล โดยจะมองข้อมูลเป็นหลายมิติ แต่ละมิติแสดงสิ่งที่สนใจ เช่น เราสนใจข้อมูลรายได้ของบริษัทแยกตามภาคเป็นรายเดือน มิติของข้อมูลก็จะเป็นภาคและเวลา ส่วนข้อมูลในแต่ละเซลล์ก็จะเป็นผลรวมรายได้ของบริษัทแยกตามภาคเป็นรายเดือน เมื่อเทียบกับฐานข้อมูลเชิงสัมพันธ์แล้ว ตารางหลักที่เราสนใจก็จะกลายมาเป็นมิติของ คิวบ์ ส่วนค่าสรุปของตารางธุรกรรม แบ่งกลุ่มตามคีย์นอกที่ชี้ไปยังตารางหลักนั้นก็จะเป็นค่าในเซลล์นั่นเอง

กระบวนการแปลงข้อมูลเข้าสู่ระบบ

6.    กระบวนการแปลงข้อมูลเข้าสู่ระบบ
กระบวนการในการแปลงและย้ายข้อมูลจากที่หนึ่งไปยังอีกที่หนึ่งในระบบคลังข้อมูล ซึ่งประกอบด้วยส่วนประกอบที่สำคัญ 2 ส่วน คือ (กิตติพงษ์ กลมกล่อม. 2546)

6.1  การได้มาซึ่งข้อมูล (Data Acquisition) ทำหน้าที่ในการรับข้อมูลและตรวจสอบความถูกต้องของข้อมูลในเบื้องต้น เพื่อให้พร้อมสำหรับการนำไปใช้ต่อไปใน พื้นที่เตรียมข้อมูล ซึ่งต้องทำการตรวจสอบสิทธิของผู้ส่งข้อมูล ผู้ส่งข้อมูลต้องแสดงตนก่อนการส่งข้อมูลทุกครั้ง วิธีการแสดงตนเช่น การบันทึกเข้า โดยจะปฏิเสธการรับข้อมูลเมื่อข้อมูลถูกส่งมาจากผู้ไม่มีสิทธิ ในกรณีที่ผู้ส่งมีสิทธิ ระบบจะทำการตรวจสอบข้อมูลที่ได้รับมาว่ามีสิ่งแปลกปลอมหรือไม่ หากมีทำการกำจัดข้อมูลดังกล่าว และแจ้งสิ่งผิดปกติที่พบให้ผู้ส่งตรวจสอบแก้ไขข้อผิดพลาดและส่งข้อมูลกลับมาใหม่ ถ้าข้อมูลไม่มีสิ่งผิดปกติ ระบบจะทำการตรวจสอบความถูกต้องของข้อมูล ทั้งความถูกต้องในแง่ข้อจำกัด เช่นข้อมูลอายุบุคคล ต้องเป็นจำนวนจริงบวกเท่านั้น หรือ ความถูกต้องในแง่เนื้อหาของข้อมูล เช่น คลังข้อมูลที่ทำการวิเคราะห์ยอดขายให้ภูมิภาคหนึ่ง ไม่ควรมีข้อมูลของภูมิภาคอื่นด้วย โดยถ้าข้อมูลผิดพลาดระบบจะแจ้งกลับผู้ส่งให้ส่งกลับมาใหม่ ถ้าข้อมูลถูกต้องแล้ว ระบบจะเริ่มกระบวนการโอนย้ายข้อมูล

6.2  พื้นที่เตรียมข้อมูล (Data Staging Area) ทำหน้าที่ตรวจสอบและแปลงข้อมูลที่ผ่านเข้ามาจากระบบการได้มาซึ่งข้อมูล เพื่อเตรียมพร้อมสำหรับการเข้าสู่คลังข้อมูล เป็นที่พักข้อมูลและทำหน้าที่สำรองข้อมูลชั่วคราวก่อนที่การโอนย้ายข้อมูลจะเสร็จสมบูรณ์ เพื่อที่เตรียมข้อมูล เป็นส่วนที่เข้าถึงคลังข้อมูลได้โดยตรง ดังนั้น การตรวจสอบความถูกต้องของข้อมูล เป็นการตรวจสอบความถูกต้องของข้อมูลที่ได้รับมาจาก พื้นที่เตรียมข้อมูล กับข้อมูลในคลังข้อมูล กระบวนการเคลื่อนย้ายข้อมูลจากที่หนึ่งไปยังอีกที่หนึ่ง เรียกว่า ETL (Extraction, Transformation and Loading) ประกอบด้วยการดึงข้อมูลจากต้นทาง (Extract) การแปลงข้อมูลจากโครงสร้างเดิมของต้นทาง ให้อยูในรูปแบบโครงสร้างข้อมูลที่กำหนดไว้ที่ปลายทาง (Transform) และ การนำข้อมูลที่แปลงแล้วเก็บที่ปลายทาง (Load) ซึ่งการออกแบบ โครงสร้างใน พื้นที่เตรียมข้อมูล มี 2 ทาง ซึ่งจะส่งผลกระทบกับการทำงานของ ETL 

        1.  ออกแบบโครงสร้างของข้อมูลของการได้มาซึ่งข้อมูลให้มีลักษณะเดียวกับ โครงสร้างข้อมูลในพื้นที่เตรียมข้อมูล ทำให้กระบวนการ ETL ช่วงแรก จาก การได้มาซึ่งข้อมูล ไปสู่ พื้นที่เตรียมข้อมูล ไม่ต้องทำขั้นตอน แปลง แต่ ETL ช่วงที่ 2 คือ จาก พื้นที่เตรียมข้อมูล ไปสู่ คลังข้อมูล ต้องทำขั้นตอนการ แปลง ทำให้ระบบเสียเวลาในช่วงที่ 2 เหมาะกับกรณีที่ข้อมูลมีปริมาณมากและความถี่สูง แต่ไม่ซับซ้อน เพราะระบบจะไม่เสียเวลาในการแปลงข้อมูลก่อนเข้าสู่ เพื่อที่เตรียมข้อมูล และไม่เกิดปัญหาการรอการเข้ามาของข้อมูล ซึ่งอธิบายกระบวนการ ในการทำงาน ได้ดังรูปที่

กระบวนการทำงานของ ETL เมื่อออกแบบโครงสร้างข้อมูลของ พื้นที่เตรียมข้อมูล ให้เหมือนกับ โครงสร้างของข้อมูลของการได้มาซึ่งข้อมูล
        2.  ออกแบบโครงสร้างข้อมูลใน พื้นที่เตรียมข้อมูล ให้เหมือนโครงสร้างข้อมูลของคลังข้อมูล ในทางกลับกัน กระบวนการ ETL แรกต้องทำการ Transform ระบบจะเสียงเวลาในช่วงแรก เหมาะกับการออกแบบระบบที่มีการตรวจสอบความถูกต้องของข้อมูลที่มีปริมาณมากและซับซ้อน ทำให้ระบบต้องอ่านข้อมูลจาก คลังข้อมูลเป็นจำนวนมากซ้ำหลายครั้ง เพราะเมื่อดึงข้อมูลจากคลังข้อมูลมาไว้ใน พื้นที่เตรียมข้อมูลแล้ว ระบบไม่จำเป็นต้องเปลี่ยนรูปโครงสร้างของข้อมูลเพื่อนำมาตรวจสอบอีกครั้ง ช่วยลดเวลาในการตรวจสอบได้ ซึ่งอธิบายกระบวนการ ในการทำงาน ได้ดังรูป


กระบวนการทำงานของ ETL เมื่อออกแบบโครงสร้างข้อมูลของ พื้นที่เตรียมข้อมูล ให้เหมือนกับโครงสร้างของข้อมูล ของคลังข้อมูล

รายละเอียดของฐานข้อมูลสำหรับคลังข้อมูล

5. รายละเอียดของฐานข้อมูลสำหรับคลังข้อมูล

การออกแบบโครงสร้างในการจัดเก็บข้อมูลของคลังข้อมูล คือการจัดรูปแบบของตารางเก็บข้อมูลโดยใช้วิธีดีนอร์มัลไลเซชัน ซึ่งผลลัพธ์ที่เกิดขึ้นจะเป็นการสร้างฐานข้อมูลให้อยู่ในลักษณะของเชิงมิติหรือไดเมนชัน แทนที่จะเป็นการเก็บข้อมูลของ OLTP ตามแบบเชิงสัมพันธ์ปกติ สำหรับองค์ประกอบของฐานข้อมูลหลายมิติ มีรายละเอียดดังนี้

การออกแบบโครงสร้างของฐานข้อมูลหลายมิติ แบ่งออกเป็น 3 ประเภทคือ

5.1 Star Schema เป็นโครงสร้างแบบดาว คือมีตารางข้อเท็จจริงอยู่ตรงกลาง ส่วนภายนอกถูกล้อมรอบด้วยตารางมิติ ดังรูป
Star Schema


5.2 Snowflake Schema เป็นโครงสร้างแบบเกล็ดหิมะ คือมีโครงสร้างของตารางข้อเท็จจริงอยู่ตรงกลางเช่นกันกับ Star Schema แต่ตารางมิติจะมีการเชื่อมโยงไปยังตารางย่อย ต่อไปได้อีกหลายระดับ ดังรูป
Snowflake Schema

5.3 Federated Star Schema มีความตรงกันข้ามกับ 2 ชนิดแรก เพราะ Federated Star Schema จะมีตารางมิติอยู่กึ่งกลาง แทนที่จะเป็นตารางข้อเท็จจริงเหมือนกับ 2 ชนิดแรก ซึ่งมักนิยมใช้เมื่อต้องการมุ่งเน้นในการวิเคราะห์เค้าร่างใดเป็นพิเศษ เพราะตารางข้อเท็จจริงทั้งหมดจะถูกเชื่อมต่อกับตารางมิติที่อยู่กึ่งกลาง