Teradata โชว์ต้นแบบการนำ SSD หรือ Solid-State Disk มาใช้ในงาน data warehouse เพื่อเพิ่มความเร็วในการอ่านข้อมูลได้สูงขึ้นถึงสองเท่า ลดโอกาสที่จะเกิดความผิดพลาดของ I/O เพราะไม่มีชิ้นส่วนกลไกที่ต้องเคลื่อนไหว และยังใช้พลังงานน้อยกว่าเทคโนโลยีฮาร์ดดิสก์แบบเดิมถึงครึ่งหนึ่ง
ได้มีการคาดการณ์ว่า SSD จะเข้ามามีบทบาทสำคัญในการใช้งานเชิงธุรกิจ (หลังจากที่เริ่มบุกตลาด consumer ผ่านทาง netbook มาแล้ว) ในปี 2011 แต่ทาง Teradata คาดว่าจะพร้อมนำ SSD มาใช้ใน Data warehouse appliance ในภายในปี 2009 ที่จะถึงนี้ ขึ้นอยู่กับราคาและประสิทธิภาพในตลาดของเทคโนโลยี SSD
อย่างไรก็ดี Teradata ก็ไม่ได้ทิ้งเทคโนโลยีฮาร์ดดิสก์เสียทีเดียว ระบบสถาปัตยกรรม Teradata Virtual Storage จะช่วยให้ลูกค้าสามารถเลือกใช้เทคโนโลยีการเก็บข้อมูลที่เหมาะสมกับความต้องการได้ ไม่ว่าจะเป็นฮาร์ดดิสก์ล้วน SSD ล้วน หรือจะผสมกันก็ได้ โดยหากเป็นระบบผสม จะสามารถกำหนดให้ข้อมูลที่ต้องการใช้บ่อยหรือ hot data ถูกเก็บไว้ใน SSD และข้อมูลอื่นที่ใช้น้อยกว่าเก็บไว้ในฮาร์ดดิสก์
ที่มา : Teradata Labs Unveils Innovative Data Warehouse Concept ผ่านทาง Teradata Partners - Spinning Solid State Disks
Data Warehouse หรือระบบคลังข้อมูล ถือเป็นองค์ประกอบที่สำคัญมากๆ ในงาน Business Intelligence ถึงแม้โดยพื้นฐานแล้ว data warehouse ก็ถือเป็น database หรือฐานข้อมูลประเภทหนึ่งเหมือนกัน แต่เนื่องจากวัตถุประสงค์ของการใช้งานแตกต่างออกไป ทำให้มีลักษณะสำคัญหลายอย่าง ที่แตกต่างจากระบบฐานข้อมูลที่ใช้ในการดำเนินธุรกรรมทางธุรกิจโดยทั่วไป
วัตถุประสงค์หลักของระบบคลังข้อมูล คือ “ช่วยสนับสนุนการตัดสิืนใจ“ ซึ่งแตกต่างจากวัตถุประสงค์ของระบบฐานข้อมูลในระบบงานคอมพิวเตอร์พื้นฐาน ที่มีเป้าหมายเพื่อเพิ่มประสิทธิภาพในการปฎิบัติงานอย่างใดอย่างหนึ่ง
ลักษณะสำคัญของ Data Warehouse ประกอบด้วย
- Integrated ระบบคลังข้อมูลจะเป็นการรวบรวมข้อมูลการดำเนินธุรกรรมจากหลายๆ แหล่งเข้ามาไว้ภายใต้โครงสร้างเดียวกัน ในขณะที่ฐานข้อมูลในระบบคอมพิวเตอร์โดยทั่วไป มักจะถูกออกแบบมาให้มีประสิทธิภาพสูงสุดในการดำเนินกิจกรรมอย่างใดอย่างหนึ่ง เช่น ระบบบัญชี ก็เน้นประสิทธิภาพสูงสุดในการบันทึกบัญชี ระบบงานขาย หรือระบบวางแผนการผลิตก็เช่นเดียวกัน และบ่อยครั้งที่ในบริษัทเดียวกัน มีการเลือกใช้ระบบงานแตกต่างกัน เช่นใช้ระบบบัญชีของ SAP แต่ใช้ระบบ CRM ของ Siebel เป็นต้น Data Warehouse จะทำหน้าที่ผสานรวมข้อมูลของสองระบบนี้เข้าไว้ด้วยกัน
- Subject-Oriented ลักษณะโครงสร้างของ DW จะจัดหมวดหมู่ตาม “เนื้อหา” ในขณะที่ฐานข้อมูลในระบบงาน OLTP (Online Transaction Processing) จะจัดหมวดหมู่ตาม “กระบวนการทำงาน” (Process-oriented) ตัวอย่างเช่น คลังข้อมูลที่มีข้อมูลการขาย แต่เกิดจากการรวบรวมข้อมูลจากระบบงานที่มีหลายขั้นตอน ตั้งแต่การรับออร์เดอร์ การตรวจสอบเครดิตลูกค้า การตรวจสอบสต็อกสินค้า การจัดเตรียมสินค้า พิมพ์อินวอยซ์ จัดส่ง วางบิล เก็บเงิน รับสินค้าคืนในกรณีที่เสียหายหรือผิดพลาด รวมไปจนถึงการบันทึกบัญชีลูกหนี้ เป็นต้น จะเห็นได้ว่าในหนึ่งเรื่องแค่การขายอย่างเดียว มีกระบวนการที่เกี่ยวข้องด้วยมากมาย แต่เนื้อหายังคงอยู่ในหมวดการขายทั้งสิ้น
- Non-Volatile ข้อมูลที่จะถูกจัดเก็บในคล้งข้อมูล จะมีลักษณะที่ “ไม่เปลี่ยนแปลง” หรือถ้าจะมีการเปลี่ยนแปลงบ้างก็น้อยมาก จนเรียกได้ว่าเป็นกรณียกเว้นเลยทีเดียว เมื่อข้อมูลถูกนำเข้าไปใส่ไว้ในระบบ data warehouse แล้ว การใช้งานโดยส่วนใหญ่ มากกว่า 99% จะเป็นการ “อ่าน” ข้อมูลเพื่อใช้ในการวิเคราะห์และสนับสนุนการตัดสินใจในรูปแบบต่างๆ น้อยมากที่ข้อมูลในคลังข้อมูลจะต้องทำการ “แก้ไข หรือเปลี่ยนแปลง” แต่ถ้าเปรียบเทียบกับระบบปฎิบัติงานทั่วไปแบบ OLTP อาทิเช่นระบบรับคำสั่งซื้อ หรือระบบบริการลูกค้าทาง call center ข้อมูลใบสั่งซื้อหรือข้อมูลการติดต่อกับลูกค้าแต่ละรายการ จะถูกเปลี่ยนแปลงไปอยู่ตลอดเวลา เพื่อให้สามารถสะท้อนถึงสถานะปัจจุบันของกิจกรรมนั้นๆ ได้ในลักษณะ realtime เช่น คำสั่งซื้อนี้อยู่ในขั้นตอนการตรวจสอบเครดิต ณ เวลานี้ แต่ในอีก 2 นาทีข้างหน้าจะถูกเปลี่ยนสถานะเป็น จัดเตรียมสินค้า เป็นต้น
- Time-Variant โดยมากการตัดสินใจทางธุรกิจ จะต้องใช้ข้อมูลของสิ่งที่เกิดขึ้นในอดีตมาเป็นฐานประกอบการตัดสินใจ ดังนั้นระบบคลังข้อมูลจึงเน้นความสำคัญที่ “การจัดเก็บข้อมูลตามห้วงเวลา” หรือการเก็บรายละเิอียดข้อมูลในอดีตไว้เป็นจำนวนมาก ตัวอย่างเช่น ข้อมูลยอดขายของสินค้ารายการหนึ่ง อาจจะถูกเก็บใน data warehouse ย้อนหลังไป 3 ปี 5 ปี หรืออาจจะตั้งแต่เริ่มจำหน่ายสินค้านั้นเลยก็เป็นได้ เพื่อใ้ห้สามารถวิเคราะห์ถึงแนวโน้มในอดีต และพยากรณ์แนวโน้มในอนาคตต่อไปได้ แต่ถ้าเปรียบเทียบกับระบบสั่งซื้อสินค้า ซึ่งมีวัตถุประสงค์หลักคือเพื่อรับคำสั่งซื้อ ดังนั้นข้อมูลประวัติยอดขายในอดีต จึงมีความสำคัญไม่มากนัก โดยส่วนใหญ่แล้ว มักจะเก็บข้อมูลไว้เพียงแค่ 1-2 รอบทำการ (อาจจะวันหรือเป็นเดือนก็ได้) เมื่อมีการประมวลผลสิ้นวันหรือสิ้นเดือนแล้ว ก็จะทำการ purge ข้อมูลเก่าทิ้งไป เพื่อให้ระบบมีึความคล่องตัว และสามารถประมวลผลคำสั่งซื้อใหม่ๆ ได้อย่างรวดเร็ว
ด้วยลักษณะดังกล่าว ทำให้โดยทั่วไปแล้ว data warehouse มักจะมีขนาดใหญ่ ยิ่งหน่วยงานธุรกิจมีขนาดใหญ่ กระบวนการทำงานซับซ้อน ข้อมูลหลากหลาย ขนาดของ DW ในองค์กรก็จะใหญ่และซับซ้อนตามไปด้วย อย่างไรก็ตาม “ขนาด” ไม่ได้เป็นลักษณะสำคัญโดยเฉพาะ ฐานข้อมูล OLTP ก็สามารถมีขนาดใหญ่ได้ โดยไม่จำเป็นต้องเป็น data warehouse
คราวที่แล้วเอาสไลด์ชุด Data Warehouse 101 มาฝาก วันนี้เป็นบทที่สองจากหนังสือเล่มเดิมนั่นแหละครับ ที่จริงก็ทำไว้แค่สองบทเท่านั้นเอง เป็นการปูพื้น บทที่สองนี้มีชื่อเรียกโดยเฉพาะว่า Business Dimensional Life Cycle เป็นกระบวนการจัดการโครงการที่ทาง The Kimball Group คิดขึ้นมา มาจนถึงปัจจุบัน วิธีการนี้ก็ไม่ได้แปลกใหม่อะไรเลย แต่ผมคิดว่ายังมีประโยชน์สำหรับคนที่เริ่มทำงานเกี่ยวกับ data warehouse project เป็นครั้งแรก เพราะทำให้มองเห็นภาพได้ชัดเจนว่า โดยรวมๆ แล้ว มีอะไรที่จำเป็นต้องทำบ้าง
หลายปีก่อน ตอนที่เริ่มสร้างทีมงานใหม่ๆ เพื่อทำงานด้านคลังข้อมูล (data warehouse) ผมจัดสอนภายในเลยเตรียม powerpoint ชุดนี้เอาไว้ เพิ่งไปรื้อ backup เก่าๆ มาเลยเอามาฝากกัน
สไลด์ชุดนี้ผมสรุปมาจากบทแรกของหนังสือ The Data Warehouse Lifecyle Toolkit : Expert Methods for Designing, Developing, and Deploying Data Warehouses ของ Ralph Kimball ซึ่งคาดว่าน่าจะเป็นประโยชน์สำหรับคนที่สนใจในด้าน data warehouse
ในบทแรกนี่จะกล่าวถึงองค์ประกอบสำคัญๆ ของระบบคลังข้อมูล รวมถึงโปรเซสหลักๆ ที่มีในระบบด้วย โดยจะเน้นไปที่นิยามหรือคำอธิบายพื้นฐานถึงองค์ประกอบและโปรเซสเหล่านั้น เป็นการปูพื้นล่วงหน้า
เทคโนโลยีหลักในส่วนของการจัดเก็บข้อมูลสำหรับงาน business intelligence คือคลังข้อมูล หรือ Data Warehouse ซึ่งโดยกว้างๆ แล้วก็คือฐานข้อมูลขนาดใหญ่ ที่เก็บรวบรวมข้อมูลไว้ในลักษณะที่เอื้อต่อการนำข้อมูลไปใช้ในสนับสนุนการตัดสินใจ
ลักษณะสำคัญที่ทำให้ data warehouse แตกต่างจากระบบฐานข้อมูล rdbms ที่เราใช้กันอยู่ในระบบ transaction system ทั่วไปประกอบด้วย
- การจัดเก็บข้อมูลแบบ subject-oriented ใน data warehouse จะจัดเก็บข้อมูลตาม “เรื่อง” ที่จะใช้ในการตัดสินใจ ในขณะที่ฐานข้อมูลทั่วไป จะเก็บข้อมูลตามลักษณะธุรกรรม หรือ transaction หลักของระบบงานนั้นๆ
- ผสานข้อมูลจากหลายแหล่ง เนื่องจากต้องการตอบสนองการ ตัดสินใจ ซึ่งมักต้องใช้ข้อมูลมากกว่าหนึ่งชนิด ดังนั้น DW จึงจำเป็นต้องมีความสามารถในการ integrate ข้อมูลจากหลายๆ แห่งเข้าด้วยกัน แต่ระบบฐานข้อมูลอื่นจะรับข้อมูลจากส่วน input ของระบบงานเท่านั้น
- เก็บข้อมูลในอดีตไว้ด้วย ใน DW จะเก็บข้อมูลแบบที่เรียกว่า time-variant คือมีเวลาเป็นตัวแปรสำคัญอย่างหนึ่งเสมอ ดังนั้นช่วงเวลาของข้อมูลในคลังข้อมูลจึงยาวนานเป็นปีๆ หรืออาจจะถึงสิบปี เพื่อการวิเคราะห์แนวโน้มในอดีต ส่วนฐานข้อมูลทั่วไปจะเก็บ “สถานะ” ล่าสุดไว้เท่านั้น หรือถ้าจะเก็บก็เพียงแค่ วันที่ปัจจุบัน หรือเดือนปัจจุบันเท่านั้น
- ข้อมูลมีการเปลี่ยนแปลงน้อย ข้อมูลที่ถูก เก็บไว้ใน DW มักจะมีการเปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น โดยมากมักเป็นการเพิ่มข้อมูลใหม่เข้าไปมากกว่า แต่ในส่วนของฐานข้อมูลระบบงาน ข้อมูลจะเกิดการเปลี่ยนแปลงอยู่เสมอ ทั้งเพิ่ม ลบ หรือแก้ไข เพื่อให้สะท้อนสภาพความเป็นจริงในปัจจุบัน
Data warehouse จัดเป็นองค์ประกอบสำคัญอย่างยิ่ง แต่โดยตัวของมันเอง ก็มีรายละเอียด เทคโนโลยีและเรื่องราวต่างๆ ที่เกี่ยวข้องอีกเป็นจำนวนมาก จนบางครั้งเราอาจจะมองว่า DW อาจจะแยกออกไปเป็นอีกสาขาหนึ่งโดยเฉพาะได้เลยทีเดียว