ช่วงนี้เวลาผมอ่านข่าวจากสื่อต่างๆก็จะเห็นผู้คนในทุกวงการออกมาพูดเรื่องการทำ Big Data เป็นจำนวนมาก มีการเขียนบทความ มีการออกข่าวต่างๆ กำหนดนโยบาย บ้างก็เข้าใจหลักการ บ้างก็พูดกันตามกระแส จนเหมือนกับว่า Big Data เป็นเครื่องมือวิเศษที่จะมาปรับเปลี่ยนองค์กรให้เข้าสู่การเปลี่ยนแปลงเชิงดิจิทัลได้โดยง่าย ทั้งๆที่การวิเคราะห์ข้อมูล Big Data มันซับซ้อนกว่านั้นและต้องมีการปรับเปลี่ยนโครงสร้างพื้นฐานด้านเทคโนโลยีสารสนเทศในองค์กรพอสมควร

ผมเองค่อนข้างจะโชคดีที่ยังเป็นคนลงมือปฎิบัติ ทำ Big Data Project เอง ศึกษาเอง มาเปิดและติดตั้งระบบอย่าง Hadoop  มาใช้  Cloud Services ต่างๆในการทำ Big Data Analytics ได้ลงมือทำ Machine Learning ตลอดจนศึกษาทฤษฎีทั้งในมุมมองของผู้บริหารและนักไอที เห็น Use Cases ในที่ต่างๆ และก็ได้เจอผู้คนมากมายในองค์กรต่างๆ พร้อมทั้งมีโอกาสได้ไปบรรยายและสอนเรื่องนี้ในหลายๆที่ ทั้งระดับบริหารและสอนคนลงมือปฎิบัติจริงจัง จึงพอที่จะบอกได้คร่าวๆบ้างว่า เราควรจะเริ่มต้นทำ  Big Data ได้อย่างไร ผมอยากจะสรุปประเด็นการเริ่มต้นทำโครงการ Big Data ที่สำคัญสามเรื่องดังนี้

1. การทำ Big Data  ควรเริ่มต้นทำกับข้อมูลประเภทใด

Big Data คือข้อมูลขนาดใหญ่มากๆทั้งที่เป็น  Structure และ unstructure ซึ่งผมมักจะได้ยินว่าเราควรเอา Big Data มาเพื่อวิเคราะห์พฤติกรรมลูกค้่า บ้างก็บอกว่าไปเอาข้อมูลใน Social Media มาเพื่อเข้าใจลูกค้าหรือแบรนด์เราเองมากขึ้น แต่จริงๆแล้วถ้าเราแบ่งข้อมูลที่จะนำมาใช้ เราอาจแบ่งได้เป็นสี่ประเภท

  • ข้อมูลที่มีอยู่แล้ว และได้ทำการวิเคราะห์แล้ว
  • ข้อมูลที่มีอยู่แล้ว แต่ไม่เคยนำมาวิเคราะห์ใดๆ
  • ข้อมูลที่ยังไม่เคยเก็บ แต่น่าจะมีประโยชน์
  • ข้อมูลจากคู่ค้าหรือแหล่งอื่นๆ

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

2.การทำ Big Data  ต้องลงทุนโครงสร้างพื้นฐานมากน้อยเพียงใด

การวิเคราะห์ข้อมูลของ Big Data ที่ดีต้องมีการลงทุนโครงสร้างพื้นฐานที่แตกต่างจากการจัดทำฐานข้อมูลแบบเดิมๆหรือการทำโครงการ Data warehouse ซึ่งจะเป็นการลงทุนด้าน Data Lake ที่จะมาใช้ในการเก็บข้อมูลขนาดใหญ่ ดังแสดงรูปที่ 1 ซึ่งหลายๆองค์กรจะลงทุนไปกับเทคโนโลยีอย่าง Hadoop เพราะจะมีค่าใช้จ่ายในการเก็บ Storage ที่ค่อนข้างถูกกว่าเทคโนโลยีอื่นๆ ดังแสดงในรูปที่ 2  ที่อาจถูกกว่า Database เกือบ 20 เท่า แต่อย่างไรก็ตามการที่จะทำ Hadoop cluster ที่เป็นแบบ on-Promise ก็ยังมีค่าใช้จ่ายที่สูง อาทิเช่นการติดตั้ง Hadoop Servers  18 ตัวอาจมีค่าใช้จ่ายสูงถึง 30 ล้าน ดังแสดงในรูปที่  3

Screenshot 2017-11-24 13.23.02

รูปที่  1 การทำโครงการ Big Data Analytics โดยการทำ  Data Lake

Screenshot 2017-11-24 13.51.52

รูปที่  2 เปรียบเทียบค่าใช้จ่ายการทำ  Big Data Platform

ดังนั้นจึงไม่แปลกใจที่หน่วยงานจำนวนมากไม่สามารถที่จะลงทุนโครงสร้างพื้นฐานเรื่องของ  Big Data Platform ได้ เนื่องด้วยค่าใช้จ่ายที่สูง และอาจคำนวณหาผลตอบแทนในการลงทุนลำบาก รวมถึงอาจหา  Business case ค่อนข้างยาก ข้อสำคัญการลงทุน Hadoop อาจพบว่าส่วนใหญ่ก็คือการรวบรวมข้อมูลมาใส่ลงใน Data Lake  มากกว่าการใช้ CPU ในการประมวลผลผ่าน Processing Tools อย่าง  Hive, Spark, Impala เพราะนานๆครั้งจะทำการประมวลผลที่ และบางครั้งหากต้องการประมวลผลก็จะพบว่าความเร็วหรือจำนวน CPU ไม่พอ จึงอาจเกิดคำถามขึ้นมาว่าเราต้องลงทุนโครงสร้างพื้นฐานจำนวนหลายสิบล้านบาทเพียงเพียงเพื่อใช้ในการเก็บช้อมูลที่เป็น archieve จะคุ้มค่าหรือไม่

 

Screenshot 2017-11-24 13.52.01

รูปที่  3 ค่าใช้จ่ายการทำ  Hadoop Cluster จำนวน  18 เครื่อง [ข้อมูลจาก https://blogs.oracle.com%5D

แนวทางที่ดีสำหรับการลงทุนโครงการ Big Data คือการใช้บริการ Public Cloud ดังที่ผมเคยเขียนไว้ในบทความ “Big Data as a Service แนวทางการทำโครงการ Big Data ที่ไม่ต้องลงทุนโครงสร้างพื้นฐาน”  ทั้งนี้เราจะแยกส่วนการเก็บข้อมูลขนาดใหญ่ที่เป็น Data Lake ไว้ใน Cloud Storage อาทิเช่นการใช้ Google Cloud Storage, AWS S3 หรือ Microsoft Azure Blob มาแทนที่การใช้ Hadoop HDFS ซึ่งจะเป็นการประหยัดค่าใช้จ่ายกว่าการลงทุน Hadoop Cluster มากและก็มีความเสถียรของระบบที่ดีกว่า นอกจากองค์กรก็ยังลดค่าใช้จ่ายในการบริหารจัดการและดูแลระบบ ซึ่งจะถูกกว่าการลงทุน Hadoop Cluster หลายสิบเท่า โดยอาจมีค่าใช้จ่ายเพียงการเก็บข้อมูลเดือนหนึ่งหลักเพียงหมื่นบาทในการเก็บข้อมูลเป็น Terabyte ทั้งนี้ข้อมูลที่นำมาเก็บบน  Cloud storage ก็เป็นข้อมูลเช่นเดียวกับ Hadoop HDFS ที่เน้นข้อมูลที่เป็น  Archeive ซึ่งอาจเป็น Warm data หรือ Cold data และหากองค์กรกังวลเรื่องความปลอดภัยก็สามารถเข้ารหัสก่อนนำข้อมูลเหล่านี้ไปเก็บไว้บน Cloud

Screenshot 2017-11-24 13.22.42

รูปที่  4 เปรียบเทียบค่าใช้จ่ายการใช้ Cloud Storageกับ Hadoop HDFS

ในด้านการประมวลผล เราก็สามารถที่จะใช้จำนวน CPU ไม่จำกัดเพราะเราสามารถที่จะใช้บริการ Hadoop as a Services ที่มีค่าใช้จ่ายตามการใช้งานเช่นการใช้ Amazon EMR. Google DataProc หรือ  Microsoft HDInsight ซึ่งจะเสียค่าใช้จ่ายน้อยมากตามจำนวน CPU ที่ใช้ในการประมวลผล ซึ่งจากประสบการณ์ของผมที่ทำโครงการ Big Data Analytics ที่ทาง IMC Institute รับทำให้กับลูกค้านั้น บางครั้งเราเปิด Server ขนาด 4  vCPU  ถึงสามสิบเครื่อง เสียค่าใช้จ่ายเพียงหลักร้อยบาท ดังนั้นจะเห็นได้ว่าการลงทุนโครงการ Big Data โดยใช้ Cloud Computing ก็จะลงทุนเพียงเล็กน้อยและสามารถเริ่มทำงานได้ทันที

3.การทำ Big Data  ต้องจะพัฒนาคนเพียงใด

การวิเคราะห์ข้อมูล Big Data จะแตกต่างกับการทำโครงการ Data warehouse  ที่อาจเน้นการทำ Data Cleansing ซึ่งจะเน้นการใช้  SQL แต่การทำ Big Data จะต้องการ  Developer ที่สามารถพัฒนาโปรแกรมอย่างภาษา Python หรือ SQL ได้ ตลอกจนอาจต้องการ Data Sciencetist ที่มีความรู้ด้าน Machine Learning Algorithm ต่างๆ หากต้องการเห็นการทำ Big Data Analytics อย่างจริงจัง องค์กรจำเป็นต้องพัฒนาบุคลากรขึ้นมาเพื่อให้ใช้ Processing Tools ต่างๆอย่าง Apache Spark และควรมีความเข้าใจด้าน Machine Learning ซึ่งระยะต้นที่เป็นโจทย์วิเคราะห์ข้อที่หนึ่งหรือสอง เราอาจเรียนรู้โดยการว่าจ้าง Outsource มาทำแล้วทำงานร่วมกัน เพื่อเป็นการพัฒนาบุคลากรเพื่อแก้โจทย์ Big Data Analytics อื่นๆในอนาคต

ธนชาติ นุ่มนนท์

IMC Institute

พฤศจิกายน 2560

Screenshot 2017-10-02 08.23.18

 

 

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s