คำถามการวิจัย “ทำอย่างไรให้ Cluster Computing ประมวลผลข้อมูลชุดเดิมซ้ำ ๆ ได้เร็ว โดยไม่ต้องอ่านข้อมูลจาก Disk ใหม่ทุกครั้ง และยังทนต่อเครื่องที่ล้มได้?” ของ Apacha Spark
งานวิจัยเริ่มต้นที่ UC Berkeley และแกนปัญหาคือ “ทำอย่างไรให้ Cluster Computing ประมวลผลข้อมูลชุดเดิมซ้ำ ๆ ได้เร็ว โดยไม่ต้องอ่านข้อมูลจาก Disk ใหม่ทุกครั้ง และยังทนต่อเครื่องที่ล้มได้?” งานสำคัญเริ่มต้นคือ “Spark: Cluster Computing with Working Sets” โดย Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker และ Ion Stoica ตีพิมพ์ในปี 2010 และมี technical report ของ Berkeley ลงวันที่ 7 พฤษภาคม 2010 1. ปัญหาที่นักวิจัยเห็น ยุคนั้น MapReduce/Hadoop เป็นแนวทางสำคัญสำหรับ Big Data โดยเฉพาะ Machine Learning ที่ต้องใช้ Dataset เดิมหลายรอบ เช่น ถ้าทุก iteration ต้องอ่านข้อมูลจาก Disk ใหม่ จะเกิด overhead สูง งานวิจัย Spark จึงตั้งโจทย์ว่า ทำอย่างไรให้ Working Set อยู่ใน Memory และนำกลับมาใช้ซ้ำได้ 2. นวัตกรรมสำคัญคือ RDD นักวิจัยไม่ได้เริ่มจากคำว่า DataFrame หรือ Spark SQL แต่ละ Partition สามารถถูกเก็บใน Memory และนำกลับมาใช้ซ้ำได้ 3. แล้วถ้า Memory หายล่ะ? นี่คือจุดที่งานวิจัย ฉลาดมาก แทนที่จะ replicate ทุกข้อมูลเหมือนระบบ Distributed Storage บางประเภท Spark ใช้แนวคิด Lineage ...