ต้องใหญ่แค่ไหน …จึงจะเรียกว่า Big Data
จากคนทำงานวิเคราะห์ข้อมูล CDR (Call Detail Recorder) ตามหมายอาญาหรือหมายศาล เพื่อสืบสวนหาตัวคนร้ายเพียง 1–3 คน คือ คนลงมือก่อเหตุ คนชี้เป้า และคนใช้จ้างวาน โดยใช้เทคนิค Outlier Analysis ซึ่งต้องควานหาจากข้อมูลหลายสิบหลายร้อยล้านเรคคอร์ด. มาเป็นคนทำงานวิจัยและพัฒนา รวมถึงทำต้นแบบระบบ Big Data ภาครัฐของไทย และปัจจุบันก็เป็นคนหนึ่งในหลายๆ คนที่ต้องทำงานด้าน Data Science และ Big Data รวมถึงเป็นผู้บรรยายในหลักสูตรเหล่านี้ด้วย. ผมยอมรับอย่างไม่อายว่า ที่ผ่านมาก็สงสัยข้องใจมาโดยตลอดว่า Data Volume ขนาดเท่าไหร่กันแน่ที่จะจัดเป็น Big Data.
ประเด็นประสบการณ์
ผมเองก็ผ่านการเรียน ผ่านการอ่าน เป็นคนธรรมดาที่ต้องศึกษาหาความรู้อยู่ตลอดเหมือนกัน. ท่านผู้อ่านก็คงได้เจอประสบการณ์เดียวกับผมที่เคยทราบมาบ้างว่า Data Volume ที่มีขนาดหลายร้อย GB ก็จัดว่าเป็น Big Data แล้ว แต่พอไปเรียนอีกสำนักหนึ่ง ท่านผู้บรรยายก็บอกว่าหลายร้อย GB นั้นน้อยไป ต้อง TB ขึ้นไป ส่วนเพื่อนที่นั่งเรียนข้างๆ ก็บอกว่า เรียน Online มาแล้วก็เห็น Instructor เค้าย้ำว่าต้อง PB (Petabyte) เป็นอย่างน้อย. ตกแล้วเอางัยกันแน่!??? … เพราะด้วยขนาดข้อมูลนี้เองที่ผมเองหรือหลายๆ ท่าน อาจนำไปใช้เป็นปัจจัยหนึ่งในการเลือกใช้เทคโนโลยี และ Big Data Technology ก็เป็นของใหม่ราคาแพง ที่ไม่เฉพาะเป็นการลงทุนในตัวเทคโนโลยีอย่างเดียว แต่ต้องลงทุนในตัวบุคลากร และการบริหารจัดการอื่นๆ อีกด้วย. มาถึงตรงนี้ทำคิดต่อไปได้ว่า การเข้าใจเรื่อง 4 V อย่างเดียวคงไม่เพียงพอแล้ว เราต้องคิดต่อไปด้วยว่า เมื่อข้อมูลของเรามีขนาดใหญ่ถึงขนาดที่เรียกได้ว่าเป็น Big Data แล้ว จะมีเทคโนโลยีใดบ้างที่จะสามารถบริหารจัดการและสร้างประโยชน์จาก Big Data ในเชิงการวิเคราะห์ (Big Data Analytics) ได้บ้าง ดังนั้นสรุปประเด็นที่จะนำไปสู่การหาคำตอบได้ 2 อย่างคือ
(1) ข้อมูลขนาดเท่าใด จึงจะจัดว่าเป็น Big Data
(2) เมื่อเป็น Big Data แล้ว จะบริหารจัดการและสร้างประโยชน์จากข้อมูลได้อย่างไร
การเรียนรู้จากศึกษาค้นคว้า และลงทำด้วยตนเองจริงๆ
วันนี้ผมได้ผ่านความสำเร็จและล้มเหลว ทั้งจากการทำงานและการวิจัยมานับครั้งไม่ถ้วนแล้วจนมั่นใจว่า
ไม่มีเทคโนโลยีใดๆ เลยที่เป็นเทคโนโลยีเดียว จะสามารถตอบโจทย์ได้ทั้ง Data ที่เป็น Big Data และที่เป็น Non-Big Data. แต่ละเทคโนโลยีมีเวลาและความเหมาะสมในตัวของมันเอง การใช้งานเทคโนโลยีแบบผสมผสานบูรณาการจึงเป็นเรื่องจำเป็นอย่างหลีกเลี่ยงไม่ได้ครับ.
แล้วเมื่อไหร่ล่ะจึงจะเป็นเวลาของ Big Data?
ในการบรรยายถ่ายทอดประสบการณ์หลักสูตร Big Data และ Data Science ผมมักจะใช้กราฟข้างบนนี้อธิบายว่าเมื่อไหร่จึงจะใช้ Big Data Technology. กราฟนี้แสดงความสัมพันธ์ระหว่างขนาดข้อมูล (Data Volume) และระยะเวลาที่ใช้ในการประมวลผลข้อมูล (Time-to-Process) โดยเส้นกราฟสีแดงเป็นระยะเวลาฯ ของ Big Data Technology และเส้นสีเขียวเป็นระยะเวลาฯ ของ เทคโนโลยีแบบดั้งเดิม (Legacy Technology). จากกราฟจะเห็นได้ว่า จุดเริ่มต้นของกราฟที่ข้อมูลมีเล็กๆ ที่สุด Big Data Tech. ยังใช้เวลาประมวลผลนานกว่า Legacy. เมื่อขนาดของข้อมูลใหญ่ขึ้นอีกเล็กน้อย Legacy ใช้เวลาในการประมวลผลข้อมูลที่ไม่แตกต่างจากเดิมมากนัก (กราฟเส้นสีเขียวมีความชันค่อนข้างคงที่หรือเพิ่มขึ้นไม่มาก)แต่ Big Data Tech. กลับใช้เวลามากกว่า และแนวโน้มความสัมพันธ์ระหว่างขนาดข้อมูลกับระยะเวลาที่ใช้ในการประมวลผลจะยังคงเป็นเช่นนี้จนกระทั่งเส้นกราฟทั้งสีเขียวและสีแดงเข้าใกล้จุดตัดซึ่งกันและกัน ซึ่งผมขอเรียกง่ายๆ ว่า จุด Equi (Equilibrium).
ต่อมาเมื่อเส้นกราฟทั้งสองเข้าใกล้จุด Equi แล้ว จะเห็นว่า ขนาดของข้อมูลใหญ่ขึ้นเพียงเล็กน้อย แต่ Legacy กลับใช้เวลาในการประมวลผลเพิ่มมากขึ้น (กราฟเส้นสีเขียวมีความชันเพิ่มมากขึ้น). เมื่อข้อมูลมีขนาดใหญ่ขึ้นอีกจนถึงจุด Equi แล้วจะเห็นได้ว่า Legacy จะไม่ใช่เทคโนโลยีที่เหมาะสมสำหรับประมวลผลข้อมูลอีกต่อไป เพราะขนาดข้อมูลเพิ่มขึ้นเพียงนิดเดียว แต่เวลาในการประมวลผลจะถึงขนาดเข้าใกล้อนันต์ (Infinity)เลยทีเดียว หรือที่เราท่านทั้งหลายพบเจอปัญหาเครื่องคอมพิวเตอร์มันนิ่งๆ อึนๆ อยู่นาน … ไม่รู้ว่า แฮงค์ไปแล้วหรือยัง. ด้วยเหตุนี้เมื่อขนาดข้อมูลถึงจุด Equi แล้ว จึงควรนำ Big Data Tech. มาใช้ประมวลผลข้อมูล. เราจะได้ประโยชน์จาก Big Data Tech. อย่างเต็มที่ตั้งแต่หลังจากจุด Equi นี้ต่อไป.
การบริหารจัดการและการสร้างประโยชน์จาก Big Data
การดำเนินงานด้าน Big Data ควรต้องเริ่มจากการกำหนดโจทย์ทางธุรกิจที่ช่วยให้องค์กรสามารถบรรลุเป้าประสงค์ทางยุทธศาสตร์โดยตรง อีกทั้งต้องสำรวจความพร้อมของข้อมูล เพื่อค้นหา Data Gaps ระหว่างข้อมูลที่มีอยู่แล้ว และข้อมูลที่ควรจะต้องมีแต่ยังไม่มี แล้วนำทั้งโจทย์ แล้ว Data Gaps เหล่านี้มากำหนดทิศทางการทำ Data Analytics ต่อไป นอกจากนี้ยังมีรายละเอียดอื่นๆ อีกที่อยู่ในขอบเขตเนื้อหาเรื่อง Big Data Strategy ซึ่งมีหลายงานเขียนได้อธิบายเรื่องนี้ไว้ดีแล้วและจะช่วยนำทางให้ท่านบริหารจัดการและสร้างประโยชน์จาก Big Data ได้. ส่วนในด้านเทคโนโลยี ควรเลือกใช้เทคโนโลยีที่สามารถประมวลผลข้อมูลที่มีขนาดใหญ่ได้อย่างแท้จริง ซึ่งในที่นี่หมายถึง ตั้งแต่จุด Equi เป็นต้นไป ตัวอย่างเช่น Apache Spark เป็น ฺBig Data Technology ที่มีการประมวลผลแบบกระจาย (Distributed Computing) และสามารถ Scale-out เพิ่มจำนวน Node ได้ตามภาระงานที่ต้องประมวลผลได้ ดังนั้นเมื่อข้อมูลที่นำมาประมวลผลมีปริมาณเพิ่มมากขึ้น เราเพียงแค่เพิ่มจำนวน Node เข้าไปใน Spark Cluster โดยที่ไม่จำเป็นต้องมี Configuration ที่ยุ่งยาก. นอกจากนี้ Apache Spark ยังมีความสามารถที่หลากหลายทั้งการจัดเตรียมข้อมูล (Data Preprocessing) ไปจนถึงการทำ Big Data Analytics ที่รวมถึงการสร้าง Machine Learning Model และ AI ด้วย. หากท่านเป็น Developer ที่มีทักษะการ Programming มาบ้างแล้ว ก็สามารถใช้ Programming Language เดิมๆ ของท่านมาพัฒนาโค้ดบน Spark ได้ไม่ยากเลย เช่น การใช้ภาษา Python ผ่าน Python API Language ของ Spark สามารถทำ Machine Learning ได้ง่ายๆ
ตัวอย่างโค้ดภาษา Pyspark (Python + Spark) ที่ทำให้ท่านสามารถสร้าง Machine Learning Models ที่มีค่า Accuracy สูงเกินกว่า 80% ได้ในระยะเวลาไม่ถึง 15 นาที บน Training Set ระดับล้านเรคคอร์ด สำหรับการอธิบายโค้ดขอยกไว้ฉบับหน้าครับผม
สรุปส่งท้าย
ขนาดของข้อมูลเป็น Key Decision ตัวหนึ่งที่ใช้ในการเลือกใช้เทคโนโลยี. เทคโนโลยีที่นำมาใช้จะส่งผลกระทบต่อเนื่องถึงการจัดการอื่นๆ ที่มีอยู่เดิมในองค์กรด้วย โดยเฉพาะอย่างยิ่ง การสรรหาคัดเลือกบุคลากร การฝึกอบรมบุคลากรที่จะมาใช้เทคโนโลยี. ด้วยเหตุนี้การเลือกใช้เทคโนโลยีให้เหมาะสมจึงเป็นสิ่งสำคัญ แต่สิ่งที่สำคัญยิ่งกว่า คือ การเข้าใจว่าเทคโนโลยีไหนเหมาะกับช่วงเวลาไหนในสถานการณ์ใด. ดังนั้น หากยังไม่มีเทคโนโลยีใดที่เก่งไปเสียทุกสถานการณ์แล้ว การบูรณาการใช้งานระหว่างเทคโนโลยีที่มีอยู่กับเทคโนโลยีใหม่ๆ โดยรู้ว่าช่วงไหนคือบทบาทของเทคโนโลยีใดจึงเป็นทางเลือกที่เหมาะสมที่สุดแล้วในยุคนี้.