posttoday
คลาวด์กับการวิเคราะห์ข้อมูล

คลาวด์กับการวิเคราะห์ข้อมูล

30 มีนาคม 2560

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

สิบกว่าปีที่แล้วเราต้องเขียนคอมพิวติ้งสคริปต์ทำการแบ่งข้อมูลที่ต้องการวิเคราะห์ออกเป็นส่วนย่อยๆ คัดลอก และย้ายไฟล์ข้อมูลส่วนย่อยเหล่านี้ ไปวางไว้ตามเครื่องเสมือนที่ถูกสร้างขึ้นมาให้มีลักษณะเหมือนๆ กันหลายๆ เครื่อง แล้วคัดลอกส่วนอัลกอริทึมส่งไปยังเครื่องต่างๆ เหล่านี้เพื่อให้วิเคราะห์ข้อมูลส่วนย่อยๆ บนแต่ละเครื่องเหล่านั้น

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

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

คอนเซ็ปต์ของสิ่งที่ถูกเรียกว่า Divide and Conquer ดูจะเป็นแนวคิดพื้นฐานที่อยู่เบื้องหลังการประมวลผลแบบกระจาย และนักวิจัยต้องเข้าใจตั้งแต่หน่วยย่อยที่สุดของการคำนวณโดยคอมพิวเตอร์ วิธีการเขียน MPI Parallel Computing ซึ่งไม่ง่าย แถมยังต้องแย่งชิงพื้นที่ทรัพยากรคอมพิวเตอร์ขนาดใหญ่ที่สามารถกระจายการคำนวณออกไปเป็นสิบเป็นร้อยเครื่องได้พร้อมๆ กัน เพื่อลดเวลาโดยรวมของการคำนวณที่อาจกินเวลาเป็นสัปดาห์หรือเป็นเดือน และเชื่อเถอะว่ามันไม่ง่ายเลยกับการแย่งชิงพื้นที่เหล่านี้ เพราะนักวิจัยทุกคนก็ต้องการทรัพยากรคอมพิวเตอร์เพื่องานของตัวเอง

ปัจจุบันด้วยเทคโนโลยี Cloud Computing และ Hadoop Mapreduce กระบวนการทำงานหลายอย่างที่เราทำได้ยาก หรือทำไม่ได้ในอดีต ไม่ใช่ปัญหาอีกต่อไป ในยุคนี้ทรัพยากรคอมพิวเตอร์ที่จำกัดจำเขี่ยของหน่วยงานหรือมหาวิทยาลัยสามารถถูกทดแทนได้ด้วยสิ่งที่เรียกว่า Public Cloud Service Provider หรือผู้ให้บริการพับบลิคคลาวด์ ด้วยการจ่ายตามเท่าที่ใช้จริง นักศึกษา หรือนักวิจัยจะสามารถเช่าเวลาและทรัพยากรการคำนวณได้ไม่จำกัด แต่ในความเป็นจริงมันก็ไม่ง่ายดายขนาดนั้น

ที่สำคัญ ราคาไม่ได้ถูก และยิ่งถ้าเป็นงานที่ใหญ่ และใช้บ่อยๆ อาจจะไม่คุ้มกับการใช้ Public Cloud นี่เป็นหนึ่งในอีกหลายเหตุผลที่องค์กรใหญ่ๆ และคนในแวดวงวิจัยพูดถึง ไฮบริดคลาวด์ ซึ่งก็คือการผสมผสานระหว่างการทำ Private Cloud ในองค์กรโดยใช้ทรัพยากรคอมพิวเตอร์ที่ติดตั้งอยู่ภายในองค์กร และบริหารจัดการกันเอง หากต้องการทรัพยากรที่เกินกว่าที่มีอยู่ในไพรเวทคลาวด์จึงจะใช้พับบลิคคลาวด์ 

ข่าวล่าสุด

สมาคมคนตาบอดฉะเชิงเทรา ซึ้งใจเพื่อนพึ่ง(ภาฯ) ไม่ทิ้งกันในยามยาก มอบถุงยังชีพพระราชทาน

สมาคมคนตาบอดฉะเชิงเทรา ซึ้งใจเพื่อนพึ่ง(ภาฯ) ไม่ทิ้งกันในยามยาก มอบถุงยังชีพพระราชทาน