Apache Hadoop… ระบบจัดการ Big Data ที่ยังคงดีที่สุดจนถึงปี 2023 #BigDataDriven

เมื่อพูดถึง Big Data อันหมายถึงข้อมูลมหาศาลที่ยังพอกพูนเชิงปริมาณอยู่อย่างต่อเนื่องตลอดเวลา… ปัญหาใหญ่ของการสะสม Big Data ที่เพิ่มขึ้นเรื่อยๆ ทางเดียวจึงเป็นเรื่องของ “การจัดเก็บ และ การจัดการ” ที่ต้องมีระบบ และ เทคโนโลยีที่ออกแบบมาเฉพาะเพื่อให้สามารถรวบรวมข้อมูลได้อย่างราบรื่น และยังต้องสามาถนำใช้ และ จัดการได้ง่ายทั้งในเชิงเทคนิค และ ในแง่ของการลงทุน

ในแง่ของการลงทุน… การเตรียมพื้นที่จัดเก็บข้อมูลซึ่งต้องซื้อคอมพิวเตอร์ และ เพิ่มขนาด Harddisk ให้เพียงพอเสมอก็ยังถือว่าเป็นวิธีเดียวในการเตรียมทรัพยากรเพื่อการเก็บเกี่ยวข้อมูลที่หลีกเลี่ยงไม่ได้… การจัดเก็บ และ การจัดการข้อมูลปริมาณมากระดับ Big Data ในทางเทคนิค จึงจำเป็นจะต้องพัฒนาเทคนิคการจัดเก็บข้อมูลที่สร้างภาระการลงทุนให้ได้ต่ำพอที่จะไม่กลายเป็นอุปสรรคในการใช้ข้อมูลในอนาคต… ซึ่งแนวคิดในการพัฒนาเทคนิคการจัดเก็บข้อมูลแบบเนื้อที่จัดเก็บ หรือ Hardware Storage เติมเพิ่มได้เรื่อยๆ ตามปริมาณข้อมูลที่เพิ่มขึ้นจึงเป็นทางออกเดียวที่ควรถูกพิจารณา…

เทคโนโลยีที่มีการใช้อย่างกว้างขวาง ซึ่งได้ชื่อว่าเป็น Big Data Framework ที่ดีที่สุด และ ถูกใช้มากที่สุดมานานนับ 10 ปีคงต้องยกให้ Apache Hadoop ซึ่งเป็นซอฟท์แวร์ Opensource สำหรับการสร้างระบบ Distributed Computing ที่มีความเสถียรสูง และ สามารถปรับขนาด หรือ ขยายพื้นที่จัดเก็บได้จนเกือบจะไร้ขีดจำกัด ซึ่งธุรกิจแพลตฟอร์มระดับโลกอย่าง Facebook กับ Yahoo รวมทั้ง Twitter… Adobe… AOL หรือแม้แต่ MicroSoft ก็มีฟาร์มข้อมูลที่ใช้ Apache Hadoop เช่นกัน

Apache Hadoop ในเชิงสถาปัตยกรรมจะถูกออกแบบให้สามารถ “จัดเก็บ และ จัดการข้อมูล” ได้ง่ายผ่านโครงสร้างหลัก 3 ส่วน คือ…

  1. Hadoop Distributed File System หรือ HDFS… เป็นสถาปัตยกรรมการจัดเก็บข้อมูลแบบ Block หรือ เก็บเป็นส่วนๆ เพื่อให้สามารถแบ่งข้อมูลใหญ่ๆ กระจายเก็บไว้บนเซิร์ฟเวอร์ได้หลายตัวโดยสามารถเรียกคืน และ นำใช้ได้โดยราบรื่น… คล้ายๆ การ Zip ไฟล์ใหญ่ๆ แบ่งเป็นหลายๆ ไฟล์ที่นิยมใช้บนคอมพิวเตอร์ส่วนบุคคลนั่นเอง
  2. MapReduce… เป็นระบบจัดการข้อมูลคล้ายการจัดเรียง หรือ Sorting และ ผสาน หรือ Merging ข้อมูล พร้อมกำหนด Key-Value เพื่อให้ข้อมูลถูกจัดการได้ง่าย เร็ว และ น่าเชื่อถือ
  3. YARN หรือ Yet Another Resource Negotiator… โดยหลักๆ จะเป็นเป็นส่วนจัดการภาระงาน หรือ Task Manager ในระบบผ่านการจัดการทรัพยากรของระบบ ทั้งพื้นที่จัดเก็บข้อมูล และ การประมวลผลให้ MapReduce รวมทั้งภาระงานที่มาจากภายนอก ซึ่งเป็นการเรียกใช้ข้อมูลจากภายนอกเข้ามาด้วย

ขออภัยที่ต้องเล่าแบบรวบรัดเพื่อหลีกเลี่ยงศัพท์เทคนิค ซึ่งน่าจะทำให้บทความตอนนี้จบไม่ลง แถมด้วยงงกว่าเดิมไปอีกไกล และ อาจจะต้องพูดถึงระบบนิเวศที่เกี่ยวข้องอีกเยอะมากด้วย… 

References…

Facebook
Twitter
LinkedIn
Pinterest
Tumblr

Leave a Reply

Your email address will not be published. Required fields are marked *