แผนภาพอีอาร์ของระบบงานตัวอย่าง |
การพัฒนาคลังข้อมูล (Data Warehouse)
วันพฤหัสบดีที่ 14 กรกฎาคม พ.ศ. 2559
แนวคิดและทฤษฏี
1. แนวคิดและทฤษฏี
1. Consolidated
and Consistent
Consolidated หมายถึง การรวบรวมข้อมูลที่เกิดขึ้นในระดับปฏิบัติการมาไว้ศูนย์กลางเดียวกัน คือ ที่คลังข้อมูลส่วน Consistent หมายถึงข้อมูลจากแหล่งต่าง ๆที่รวบรวมมาไว้ในคลังข้อมูล จะต้องมีคุณสมบัติที่เหมือนๆ กัน ที่รูปแบบเดียวกันและสอดคล้องกัน เช่น ข้อมูลประเภทวันที่ควรเลือกใช้แบบเดียวกัน เลือกเป็นปี ค.ศ. หรือ ปี พ.ศ. อย่างใดอย่างหนึ่ง เป็นต้น
3. Historical Datsa
ข้อมูลของคลังข้อมูล จะเก็บย้อนหลังเป็นเวลาหลาย ๆ ปี ทั้งนี้เพื่อจะได้นำไปวิเคราะห์เปรียบเทียบหาแนวโน้มของข้อมูล การเปรียบเทียบข้อมูลของปีนี้กับปีที่ผ่านมา ซึ่งแตกต่างจากลักษณะข้อมูลของระบบ OLTP ที่เก็บเฉพาะข้อมูลที่ใช้เฉพาะปัจจุบัน
4. Read - Only Data
ระบบคลังข้อมูล (Data
Warehouse) คือ ระบบการจัดเก็บ รวบรวมข้อมูล
ที่มีอยู่ในระบบปฏิบัติการต่างๆ ขององค์กร
โดยข้อมูลเหล่านั้นมักเป็นข้อมูลกระจัดกระจาย ให้มารวมไว้เป็นศูนย์กลางข้อมูล
ขององค์กร และสามารถเก็บข้อมูลย้อนหลังได้หลายๆ ปี
เพื่อใช้เป็นข้อมูลช่วยสนับสนุนการตัดสินใจ (Decision Support System) หรือใช้ในการวิเคราะห์ข้อมูล ที่ถูกต้อง และมีประสิทธิภาพ
โดยการวิเคราะห์ต้องทำได้แบบหลายมิติ (Multidimensional Analysis)
ตลอดจนการวิเคราะห์ทางธุรกิจ เช่น การพยากรณ์ (Forecasting), What-If Analysis, Data Mining เป็นต้น
คุณสมบัติเฉพาะของคลังข้อมูล
จากความหมายของคลังข้อมูลที่บ่งบอกถึงความแตกต่างระหว่างคลังข้อมูลกับฐานข้อมูลปฏิบัติการ
ซึ่งสามารถสรุปคุณสมบัติของคลังข้อมูลได้ดังนี้
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 ระบบจะเสียงเวลาในช่วงแรก
เหมาะกับการออกแบบระบบที่มีการตรวจสอบความถูกต้องของข้อมูลที่มีปริมาณมากและซับซ้อน
ทำให้ระบบต้องอ่านข้อมูลจาก คลังข้อมูลเป็นจำนวนมากซ้ำหลายครั้ง
เพราะเมื่อดึงข้อมูลจากคลังข้อมูลมาไว้ใน พื้นที่เตรียมข้อมูลแล้ว
ระบบไม่จำเป็นต้องเปลี่ยนรูปโครงสร้างของข้อมูลเพื่อนำมาตรวจสอบอีกครั้ง
ช่วยลดเวลาในการตรวจสอบได้ ซึ่งอธิบายกระบวนการ ในการทำงาน ได้ดังรูป
รายละเอียดของฐานข้อมูลสำหรับคลังข้อมูล
5. รายละเอียดของฐานข้อมูลสำหรับคลังข้อมูล
การออกแบบโครงสร้างในการจัดเก็บข้อมูลของคลังข้อมูล
คือการจัดรูปแบบของตารางเก็บข้อมูลโดยใช้วิธีดีนอร์มัลไลเซชัน ซึ่งผลลัพธ์ที่เกิดขึ้นจะเป็นการสร้างฐานข้อมูลให้อยู่ในลักษณะของเชิงมิติหรือไดเมนชัน
แทนที่จะเป็นการเก็บข้อมูลของ OLTP ตามแบบเชิงสัมพันธ์ปกติ
สำหรับองค์ประกอบของฐานข้อมูลหลายมิติ มีรายละเอียดดังนี้
การออกแบบโครงสร้างของฐานข้อมูลหลายมิติ
แบ่งออกเป็น 3 ประเภทคือ
5.1 Star Schema เป็นโครงสร้างแบบดาว
คือมีตารางข้อเท็จจริงอยู่ตรงกลาง ส่วนภายนอกถูกล้อมรอบด้วยตารางมิติ ดังรูป
Star Schema |
5.2
Snowflake Schema เป็นโครงสร้างแบบเกล็ดหิมะ
คือมีโครงสร้างของตารางข้อเท็จจริงอยู่ตรงกลางเช่นกันกับ Star Schema แต่ตารางมิติจะมีการเชื่อมโยงไปยังตารางย่อย ต่อไปได้อีกหลายระดับ ดังรูป
5.3 Federated Star Schema มีความตรงกันข้ามกับ 2 ชนิดแรก เพราะ Federated
Star Schema จะมีตารางมิติอยู่กึ่งกลาง
แทนที่จะเป็นตารางข้อเท็จจริงเหมือนกับ 2 ชนิดแรก
ซึ่งมักนิยมใช้เมื่อต้องการมุ่งเน้นในการวิเคราะห์เค้าร่างใดเป็นพิเศษ
เพราะตารางข้อเท็จจริงทั้งหมดจะถูกเชื่อมต่อกับตารางมิติที่อยู่กึ่งกลาง
สมัครสมาชิก:
บทความ (Atom)