Data Warehouse คลังข้อมูลของ BI ตอนที่ 3
เครื่องมือสำคัญๆ ของ Data Warehouse ประกอบด้วย 2 ส่วนด้วยกัน คือ
1. ETL Tools หรือ Extract Transform and Load เป็นเครื่องมือสำหรับใช้ดึงข้อมูลจากแหล่งต่างๆ ซึ่งการดึงข้อมูลอาจจะเป็นแบบง่ายๆ คืออ่านแล้วเขียนลงไปใน Table ที่เตรียมไว้โดยตรง แต่โดยทั่วไปมันไม่ง่ายแบบนั้นทั้งหมด เพราะต้องมีขั้นตอนตรวจสอบความถูกต้องของข้อมูลต่างๆ โดยเฉพาะข้อมูลที่เป็น Key หรือ Dimension จะต้องมีอยู่ใน Master ด้วย บ้างครั้งต้องทำการเปลี่ยนรูป เช่นเป็นจาก Date เป็น Date id ที่เป็น integer (เป็นเทคนิคเพื่ออ่าน Index ได้เร็วขึ้น) ซึ่ง ETL ต้องสามารถอ่านฐานข้อมูลได้หลากหลายยี่ห้อ หากไม่มี Driver โดยตรง ก็ต้องใช้ผ่าน ODBC ต้องทำงานได้อย่างรวดเร็ว และสามารถดึงข้อมูลได้จำนวนมากๆ ETL ดีๆ จะต้อง Coding น้อยๆ และมีเครื่องมือต่างๆ ครบในการทำงานทุกรูปแบบ ส่วนใหญ่จะใช้การ Mapping จ่ากต้นทางไปลง Column ปลายทาง
2. Database หรือ ฐานข้อมูล เนื่องจากต้องเก็บข้อมูลจากระบบต่างๆ อย่างมากมายมหาศาล ดังนั้น ฐานข้อมูลนอกจากจะเก็บข้อมูลจำนวนมากๆแล้วยังไม่พอ ต้องมีความสามารถในการเขียนและดึงข้อมูลได้อย่างรวดเร็ว ลองคิดถึงข้อมูลที่จะเข้า หากเป็นห้างซุปเปอร์มาเก็ตจำนวนบิลที่พิมพ์ในแต่ละวันมีมากเพียงใด ข้อมูลเหล่านี้จะต้องถูกนำไปเก็บไว้บนฐานข้อมูล อัตราเพิ่มของข้อมูลในแต่ละวันจะมากเพียงใด นี้แค่บิลขาย แต่ยังมีข้อมูลอื่นๆอีก เช่นยอดสั่งซื้อสินค้า ยอดสต๊อกในแต่ละวัน ฯลฯ พอมีข้อมูลจำนวนมาก หากดึงข้อมูลจากที่มีอยู่เพื่อนำไปวิเคราะห์ กว่าจะอ่านขึ้นมาแล้วแค่รวมยอดก็จะต้องใช้เวลาเพียงใด แต่ก่อนถึงมีการทำเป็น Cube คือเป็นการ Summary และรวบรวบข้อมูลไว้ เพื่อจะได้ดึงข้อมูลได้รวดเร็ว แต่การทำเป็น Cube ก็มีข้อจำกัด ในการที่จะต้องใช้เวลาในการสร้าง ซึ่งต้องใช้เวลาหลายชั่วโมงกว่าจะสร้าง Cube เสร็จ ดังนั้นจึงมีการการพัฒนาให้สามารถดึงจากฐานข้อมูลโดยตรง แต่ฐานข้อมูลนั้นจะต้องอ่านขึ้นมาได้จากรวดเร็ว ลองนึกดูถึง Google แค่ต้องการค้นหาคำไม่กี่คำ ทำไมถึงใช้เวลาเพียงเสี้ยววินาที สิ่งเหล่านี้ใช้ความสามารถจาก Database รุ่นใหม่ล้วนๆ
ซึ่งฐานข้อมูลแบบนี้เราเรียกว่า MPP หรือ Massively Parallel Processing คือดึงข้อมูลได้พร้อมๆกันในปริมาณมากๆ โดยใช้การกระจายของ Processor ช่วยค้นหาและดึงข้อมูลขึ้นมา เปรียบก็เหมือนมีหลายๆ CPU และฐานข้อมูลทำงานพร้อมๆกัน ดังนั้นฐานข้อมูลแบบนี้จะราคาสูงกว่าฐานข้อมูลแบบเดิมๆมากทีเดียว
อีกทั้งฐานข้อมูลจะต้องสามารถขยายเพิ่มเติมได้เช่น เริ่มต้น 10TB หากรู้สึกว่าไม่พอสามารถซื้อเพิ่มอีกจะเป็น 10TB 100TB หรือ 1PB โดยไม่กระทบกับการทำงานที่ใช้อยู่
คงจะเห็นแล้วว่า เครื่องมือทั้ง 2 ตัวสำคัญกับการสร้าง Data Warehouse เพียงใด
1. ETL Tools หรือ Extract Transform and Load เป็นเครื่องมือสำหรับใช้ดึงข้อมูลจากแหล่งต่างๆ ซึ่งการดึงข้อมูลอาจจะเป็นแบบง่ายๆ คืออ่านแล้วเขียนลงไปใน Table ที่เตรียมไว้โดยตรง แต่โดยทั่วไปมันไม่ง่ายแบบนั้นทั้งหมด เพราะต้องมีขั้นตอนตรวจสอบความถูกต้องของข้อมูลต่างๆ โดยเฉพาะข้อมูลที่เป็น Key หรือ Dimension จะต้องมีอยู่ใน Master ด้วย บ้างครั้งต้องทำการเปลี่ยนรูป เช่นเป็นจาก Date เป็น Date id ที่เป็น integer (เป็นเทคนิคเพื่ออ่าน Index ได้เร็วขึ้น) ซึ่ง ETL ต้องสามารถอ่านฐานข้อมูลได้หลากหลายยี่ห้อ หากไม่มี Driver โดยตรง ก็ต้องใช้ผ่าน ODBC ต้องทำงานได้อย่างรวดเร็ว และสามารถดึงข้อมูลได้จำนวนมากๆ ETL ดีๆ จะต้อง Coding น้อยๆ และมีเครื่องมือต่างๆ ครบในการทำงานทุกรูปแบบ ส่วนใหญ่จะใช้การ Mapping จ่ากต้นทางไปลง Column ปลายทาง
2. Database หรือ ฐานข้อมูล เนื่องจากต้องเก็บข้อมูลจากระบบต่างๆ อย่างมากมายมหาศาล ดังนั้น ฐานข้อมูลนอกจากจะเก็บข้อมูลจำนวนมากๆแล้วยังไม่พอ ต้องมีความสามารถในการเขียนและดึงข้อมูลได้อย่างรวดเร็ว ลองคิดถึงข้อมูลที่จะเข้า หากเป็นห้างซุปเปอร์มาเก็ตจำนวนบิลที่พิมพ์ในแต่ละวันมีมากเพียงใด ข้อมูลเหล่านี้จะต้องถูกนำไปเก็บไว้บนฐานข้อมูล อัตราเพิ่มของข้อมูลในแต่ละวันจะมากเพียงใด นี้แค่บิลขาย แต่ยังมีข้อมูลอื่นๆอีก เช่นยอดสั่งซื้อสินค้า ยอดสต๊อกในแต่ละวัน ฯลฯ พอมีข้อมูลจำนวนมาก หากดึงข้อมูลจากที่มีอยู่เพื่อนำไปวิเคราะห์ กว่าจะอ่านขึ้นมาแล้วแค่รวมยอดก็จะต้องใช้เวลาเพียงใด แต่ก่อนถึงมีการทำเป็น Cube คือเป็นการ Summary และรวบรวบข้อมูลไว้ เพื่อจะได้ดึงข้อมูลได้รวดเร็ว แต่การทำเป็น Cube ก็มีข้อจำกัด ในการที่จะต้องใช้เวลาในการสร้าง ซึ่งต้องใช้เวลาหลายชั่วโมงกว่าจะสร้าง Cube เสร็จ ดังนั้นจึงมีการการพัฒนาให้สามารถดึงจากฐานข้อมูลโดยตรง แต่ฐานข้อมูลนั้นจะต้องอ่านขึ้นมาได้จากรวดเร็ว ลองนึกดูถึง Google แค่ต้องการค้นหาคำไม่กี่คำ ทำไมถึงใช้เวลาเพียงเสี้ยววินาที สิ่งเหล่านี้ใช้ความสามารถจาก Database รุ่นใหม่ล้วนๆ
ซึ่งฐานข้อมูลแบบนี้เราเรียกว่า MPP หรือ Massively Parallel Processing คือดึงข้อมูลได้พร้อมๆกันในปริมาณมากๆ โดยใช้การกระจายของ Processor ช่วยค้นหาและดึงข้อมูลขึ้นมา เปรียบก็เหมือนมีหลายๆ CPU และฐานข้อมูลทำงานพร้อมๆกัน ดังนั้นฐานข้อมูลแบบนี้จะราคาสูงกว่าฐานข้อมูลแบบเดิมๆมากทีเดียว
อีกทั้งฐานข้อมูลจะต้องสามารถขยายเพิ่มเติมได้เช่น เริ่มต้น 10TB หากรู้สึกว่าไม่พอสามารถซื้อเพิ่มอีกจะเป็น 10TB 100TB หรือ 1PB โดยไม่กระทบกับการทำงานที่ใช้อยู่
คงจะเห็นแล้วว่า เครื่องมือทั้ง 2 ตัวสำคัญกับการสร้าง Data Warehouse เพียงใด
ความคิดเห็น
แสดงความคิดเห็น