วันจันทร์ที่ 29 สิงหาคม พ.ศ. 2559

Big Data คืออะไร ?

Big Data คืออะไร ? + วิธีใช้ Hadoop/Spark บน Cloud Dataproc[1]
ช่วงนี้ไปไหนมาไหนก็มีแต่คนพูดถึง Big Data จนหลายๆ คนก็คงจะพอรู้กันแล้วว่ามันก็คือการนำข้อมูลปริมาณมหาศาลมาใช้ให้เกิดประโยชน์นั่นเองฮะ ส่วนจะใช้ tool ตัวไหน มีวิธีการทำอย่างไรนั้น ผมจะขอใช้บทความนี้เล่าให้เพื่อนๆ ฟังคร่าวๆ แล้วกันนะครับ

โลกทุกวันนี้ ไม่แน่จริง อยู่ไม่ได้ !
อย่างที่เรารู้กันดีนะครับว่า ธุรกิจสมัยนี้มีการแข่งขันกันสูงเอามากๆ เลย ถ้าเราหยุดอยู่กับที่ คนอื่นๆ ก็พร้อมที่จะแซงเราได้ตลอดเวลาฮะ ดังนั้นธุรกิจต่างๆ จึงต้องคอยพัฒนาสินค้าและบริการของตนเองอยู่อย่างต่อเนื่อง แล้วไอ้การพัฒนาที่ว่านี้มันจะง่ายขึ้นเยอะเลยล่ะครับ ถ้าเราสามารถ “รู้อนาคต” ได้ก่อนคนอื่น

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

เราอยู่ในยุคที่เต็มไปด้วยข้อมูล
แต่ในปัจจุบัน เราไม่ต้องกังวลเรื่องปริมาณของข้อมูลเท่าไรแล้วนะครับ เพราะจากการสำรวจล่าสุดพบว่าในแต่ละวัน ผู้บริโภคนั้นผลิตข้อมูลออกมามากขึ้นเรื่อยๆ ไม่ว่าจะเป็นการเข้าเว็บเพื่ออ่านข่าว  การค้นหาข้อมูล การซื้อขายของออนไลน์ การเล่น Social Network พฤติกรรมเหล่านี้ล้วนก่อให้เกิดข้อมูลใหม่ๆ ที่สามารถนำมาวิเคราะห์ได้ฮะ อยู่ที่เจ้าของธุรกิจแล้วล่ะครับว่า จะสามารถนำข้อมูลปริมาณมหาศาลหรือที่นิยมเรียกกันว่า “Big Data” เหล่านี้ มาใช้ให้เกิดประโยชน์อะไรได้บ้าง ?

Big Data คืออะไร ?
คำถามที่ตามมาก็คือ แล้วข้อมูลมันต้องมากแค่ไหนเราถึงจะเรียกมันว่า Big Data ? เค้าว่ากันว่าจะเรียก Big Data ได้ ข้อมูลจะต้องมีลักษณะตามนี้ฮะ
  • Volumnอย่างแรกเลยคือข้อมูลจะต้องเยอะครับ เช่น 1000TB ขึ้นไป
  • Velocityนอกจากเยอะแล้ว ข้อมูลจะต้องโตเร็วด้วยนะครับ อาจจะมีขนาดใหญ่ขึ้น 1TB ต่อวัน เลยทีเดียว
  • Varietyอีกเรื่องคือข้อมูลนั้นจะต้องมีความหลากหลายครับ คืออาจจะมีหลาย format แล้วแต่ละ format ต้องใช้วิธีวิเคราะห์ที่แตกต่างกันด้วย อะไรทำนองนี้ฮะ
ผมเคยสงสัยว่า แล้วทำไมเราต้องมาแยกแยะด้วยว่าข้อมูลของเราเป็น Big Data แล้วหรือยัง ? คำตอบคือ เพราะ tool สำหรับ Big Data นั้น มันไม่เหมาะกับข้อมูลน้อยๆ อะครับ หากข้อมูลของเรายังไม่ถึงขั้นเรียกว่า Big Data แล้ว ผมแนะนำให้ใช้ tool ทั่วไปจะเหมาะสมกว่าฮะ พูดง่ายๆ ก็คือ Big Data มันคือข้อมูลที่มีปริมาณมากและมีความซับซ้อนสูงจนไม่เหมาะที่จะนำมาวิเคราะห์ด้วย tool ทั่วไปนั่นเองครับ

ความลำบากในการวิเคราะห์ Big Data
เรามาดูกันครับว่า จากลักษณะของ Big Data ทั้ง 3 ข้อ ข้างต้น ถ้าจะใช้วิธีวิเคราะห์ข้อมูลแบบเดิมๆ เราจะต้องเจอกับปัญหาอะไรบ้าง ?
  • ที่เก็บข้อมูล ลองคิดดูเล่นๆ นะครับว่าถ้าเราจะต้องหาที่มาเก็บข้อมูลที่มันมาวันละ 1TB เราจะต้องเตรียม HDD เอาไว้เยอะแค่ไหน ?
  • ประสิทธิภาพ แล้วต่อให้เราไปซื้อ HDD มาเพิ่ม เพื่อที่จะเก็บข้อมูลให้ได้ทั้งหมด เราก็จะเจอปัญหาเกี่ยวกับ access time ของ HDD ที่ค่อนข้างสูง ทำให้การประมวลผลใช้เวลานานมากเลยกว่าจะได้ผลลัพธ์ออกมา แล้วบางทีเราก็อยากวิเคราะห์ข้อมูลแบบ real-time ซะด้วยสิ
  • เครื่องคอมพิวเตอร์สมมติว่าเรามีเงินมากพอที่จะใช้ SSD แทน HDD แล้วเตรียมความจุไว้มากพอที่จะเก็บข้อมูล Big Data ได้  ปัญหาต่อมาที่จะต้องเจอก็คือเราจะต้องเตรียมเครื่องคอมพิวเตอร์ที่จะเอาไว้ใช้ในการวิเคราะห์ข้อมูลเหล่านั้นครับ หากใช้แค่เครื่องเดียวมาคำนวณข้อมูลปริมาณมหาศาล กว่าจะเสร็จก็คงเป็นวันๆ ฮะ แล้วผลลัพธ์ที่เราได้มาก็จะกลายเป็นข้อมูลในอดีตไปซะแล้ว ดังนั้นเราจะต้องเตรียมเครื่องคอมพิวเตอร์เอาไว้เยอะพอสมควร เพื่อที่จะทำให้เราได้ผลลัพธ์เร็วเท่าที่เราต้องการครับ
  • ต้นทุน สุดท้ายแล้ว เราก็จะเห็นว่าเม็ดเงินที่จะต้องลงไปกับ Big Data นั้นไม่ใช่น้อยๆ เลยล่ะครับ
ปัญหาที่ว่ามานี้ รับรองว่าเราจะต้องเจอแน่ๆ ครับ ให้เราเตรียมพื้นที่จัดเก็บข้อมูลและเครื่องคอมพิวเตอร์มาให้พร้อมก่อนเลย เมื่อทุกอย่างพร้อมแล้ว เวลาใช้งานจริง ปัญหาที่จะตามมาทีหลังก็คือ
  • ความปลอดภัยของข้อมูล  อย่าลืมนะครับว่าเราจะต้องคิดเผื่อเหตุการณ์ที่ข้อมูลใน SSD มันเสียด้วย การเก็บข้อมูลเอาไว้ที่เดียวนั้น ถือว่ามีความเสี่ยงสูงครับ ดังนั้นเราจะต้องมีระบบสำรองข้อมูลอัตโนมัติ แล้วการประเมินพื้นที่จัดเก็บข้อมูลนั้นก็จะต้องคิดเผื่อพื้นที่ที่จะต้องใช้ในการสำรองข้อมูลเอาไว้ด้วยนะครับ T__T
  • ประสิทธิภาพถึงแม้ว่าเราจะมีพื้นที่จัดเก็บข้อมูลที่ใหญ่และเร็ว และมีเครื่องคอมพิวเตอร์แรงๆ แต่เชื่อเถอะครับว่ามันไม่พอที่จะใช้วิเคราะห์ข้อมูล Big Data หรอก ถ้าเรายังใช้วิธีวิเคราะห์แบบเดิมๆ ที่เราเคยทำกับ RDBMS อยู่ หรือต่อให้ทำได้ ก็คงจะต้องใช้ต้นทุนที่สูงมากๆ เลยล่ะครับ
ถึงแม้ว่าปัญหาที่ผมว่ามาอาจจะดูเยอะ แต่จริงๆ แล้วมันมีตัวช่วยอยู่ครับ ซึ่ง tool ที่เค้านิยมใช้กันมากที่สุดตัวหนึ่งก็คือ Hadoop เรามาดูกันครับว่า เจ้า Hadoop ที่ว่านี้ มันช่วยอะไรเราได้บ้าง ?

รู้จักกับ Apache Hadoop
Apache Hadoop เป็นซอฟต์แวร์ open-source ที่สร้างขึ้นมาเพื่อเป็น framework ในการทำ distributed processing สำหรับข้อมูลขนาดใหญ่ครับ จุดเด่นข้อนึงของ Hadoop ก็คือ เค้าออกแบบมาให้ใช้กับเครื่องคอมพิวเตอร์แบบไม่ต้องแรงมากได้ด้วย การจะขยาย scale ในอนาคต ก็สามารถเพิ่มเครื่องเข้าไปได้ง่ายๆ เลย แถมยังมีระบบสำรองข้อมูลให้โดยอัตโนมัติอีก เรียกว่าถ้าใครกำลังมองหาตัวช่วยในการจัดการกับ Big Data แล้วล่ะก็ Hadoop นี่ถือเป็นทางเลือกที่น่าสนใจเอามากๆ เลยล่ะครับ


Hadoop เป็น framework สำหรับการประมวลผลข้อมูลขนาดใหญ่

องค์ประกอบของ Hadoopด้วยความซับซ้อนของ Big Data จึงทำให้ Hadoop แบ่งออกเป็นโมดูลย่อยๆ ครับ ในบทความนี้ ผมจะขอพูดถึงแต่โมดูลหลักๆ แล้วกันนะฮะ

  • Hadoop Distributed File System (HDFS)โมดูลนี้จะเอาไว้ใช้จัดเก็บข้อมูลที่จะนำมาวิเคราะห์ให้อยู่ในรูปที่สามารถเข้าถึงได้อย่างรวดเร็ว รวมไปถึงการสำรองข้อมูลดังกล่าวให้โดยอัตโนมัติครับ
  • MapReduce ส่วนโมดูลนี้จะเอาไว้ใช้เกี่ยวกับการประมวลผลข้อมูลปริมาณมหาศาลที่เราได้เก็บเอาไว้ครับ
พูดง่ายๆ ก็คือ Hadoop มันจะแบ่งออกเป็น 2 ส่วน นั่นก็คือ ส่วนที่เอาไว้เก็บกับส่วนที่เอาไว้คิดนั่นเองฮะ เพื่อให้เห็นภาพมากขึ้น ผมจะขอลงรายละเอียดเพิ่มเติมอีกนิดนึงแล้วกันนะครับ
เก็บข้อมูล Big Data ไว้ใน HDFS
สมมติว่าเรามี Cluster ที่ได้ติดตั้ง Hadoop เอาไว้จนพร้อมใช้งาน แล้วเราต้องการจะใช้ Hadoop ประมวลผลข้อมูลที่อยู่ในไฟล์ CSV ไฟล์นึง เราจะมีวิธีการอย่างไร?

ปล่อยให้ HDFS จัดการเรื่องไฟล์
วิธีการก็คือ ให้เราอัพโหลดไฟล์ CSV นี้ เข้าไปเก็บไว้ใน HDFS ก่อน แล้วปล่อยให้เจ้า HDFS ทำหน้าที่ของมัน 2 อย่างนี้ฮะ
  • แบ่งไฟล์ออกเป็น Block ย่อยๆสมมติว่าไฟล์ CSV นั้น มีขนาด 1TB การประมวลผลไฟล์ใหญ่ขนาดนี้ รับรองว่าช้าแน่ๆ ฮะ HDFS เลยจะแบ่งไฟล์นี้ออกเป็นไฟล์ย่อยๆ ที่เรียกว่า “Block” แล้วนำไปเก็บกระจายตาม Node ต่างๆ ใน Cluster ของเรา เพียงเท่านี้ Node ต่างๆ ก็จะสามารถช่วยกันประมวลผลไฟล์ CSV นี้แบบขนานกันได้แล้วล่ะครับ
  • สำรอง Block เหล่านั้น เอาไว้ที่ Node อื่นๆนอกจากนั้น HDFS ยังช่วย replicate แต่ละ Block เอาไว้ที่ Node อื่นๆ ด้วยนะครับ(default คือ replicate ไป 3 Node) คือสมมติ Block A ของ Node 1 พัง เรามั่นใจได้เลยว่า Block A จะยังมีสำรองอยู่ใน Node อื่นๆ อย่างแน่นอนฮะ

รู้จักกับ Node ใน Hadoop

Node นั้นหมายถึงเครื่องคอมพิวเตอร์ที่ประกอบไปด้วย CPU, RAM แล้วก็ Disk ครับ ซึ่ง Node ต่างๆ ใน Hadoop จะแบ่งออกเป็น 2 แบบด้วยกัน
  • Data Nodeเป็น Node ที่ทำหน้าที่เก็บ Block ของไฟล์เอาไว้ และรับผิดชอบในการประมวลผล Block นั้นๆ ครับ แต่ตัว Data Node เอง มันจะไม่รู้นะครับว่า Block ที่ตัวเองเก็บอยู่นั้น เป็นของไฟล์ไหน
  • Name Nodeเป็น Node ที่ทำหน้าที่รวบรวมผลของการประมวลผล Block ต่างๆ จาก Data Node ทั้งหลายครับ ซึ่งแน่นอนว่าเจ้า Name Node นี้ มันจะต้องรู้ทุกอย่างเกี่ยวกับไฟล์ต้นฉบับ ไม่ว่าจะเป็นชื่อไฟล์, ขนาด รวมไปถึงที่อยู่ของแต่ละ Block ที่ถูกกระจายออกไปตาม Data Node ต่างๆ หรือพูดง่ายๆ Name Node มันก็คือ Master ส่วน Data Node ก็คือ Slave นั่นเองครับ
และอย่างที่บอกไปนะครับว่า ค่า defalut ของการ replicate แต่ละ Block นั้นจะอยู่ที่ 3 Node นั่นหมายความว่า การจะใช้ Hadoop ได้อย่างมีประสิทธิภาพนั้น เราอาจจะมีอย่างน้อย 5 เครื่อง ครับ คือ Data Node 3 เครื่อง Name Node 1 เครื่อง แล้วก็ Name Node ตัว secondary อีก 1 เครื่อง ส่วน spec นั้น ให้อัด Disk ให้ Data Node เยอะๆ ครับ แล้วก็อัด RAM ให้ Name Node เยอะๆ เพราะข้อมูลที่ Name Node ดูแลนั้น ส่วนใหญ่จะเก็บอยู่ใน RAM เพื่อป้องกันไม่ให้เกิดปัญหา bottle neck นั่นเองฮะ

ประมวลผลข้อมูลด้วย MapReduce

เมื่อเอาข้อมูลมาเก็บลงใน HDFS เรียบร้อยแล้ว ทีนี้เรามาดูวิธีการนำข้อมูลเหล่านั้นมาประมวลผลฮะ สมติว่าข้อมูลในไฟล์ CSV นั้น เป็นข้อมูลของคนไทยทุกคน แล้วเราจะหาว่าคนที่อายุเยอะที่สุดในไทย มีอายุเป็นเท่าไร เราจะออกแบบการคำนวณอย่างไรดี ? Hadoop เค้าแนะนำให้ทำเป็นขั้นเป็นตอนตามนี้ฮะ
  • Mapเนื่องจาก record มันมีขนาดหลายล้าน อยู่ดีๆ เราไปหาเลยว่าคนไหนอายุเยอะสุดคงไม่ได้ฮะ วิธีที่ดีกว่าคือให้เราแบ่งข้อมูลออกเป็นโซนย่อยๆ ก่อน แล้วจึงหาคำตอบที่ต้องการภายในโซนนั้นๆ ไล่ไปเรื่อยๆ ทีละโซนๆ ฮะ อย่างในที่นี้ เราอาจจะหาก่อนว่าใครอายุเยอะที่สุดในแต่ละเขต/อำเภอก็ได้ครับ
  • Shuffleพอเรารู้แล้วว่าใครอายุเยอะสุดในแต่ละอำเภอ ก็ให้เรารวบรวมข้อมูลเหล่านั้นมา group by จังหวัด แล้วเรียงลำดับอายุจากมากไปน้อยฮะ ทีนี้เราก็พอจะรู้คร่าวๆ แล้วว่าจังหวัดไหนมีคนอายุเยอะๆ อยู่บ้าง
  • Combineหลังจากที่เราเรียงลำดับข้อมูลจากมากไปน้อยแล้ว ให้เราตัดข้อมูลที่ไม่เข้าข่ายออกให้หมดฮะ สมมติว่าข้อมูลของคนอายุสูงสุดของแต่ละเขตในกรุงเทพฯ เรียงลำดับจากมากไปน้อยเป็น 100, 95, 93, 87, … , 80 ให้เราเหลือไว้แต่คนที่อายุสูงสุดซึ่งก็คือ 100 ครับ หรือพูดง่ายๆ ก็คือ ให้เราหาผู้ชนะของแต่ละจังหวัดนั่นเองครับ
  • Reduceมาถึงตรงนี้ เราจะได้แชมป์ของแต่ละจังหวัดมาแล้ว ถูกมั้ยครับ ? ขั้นตอนสุดท้ายก็คือการหาว่าในบรรดาแชมป์เหล่านั้น ใครกันที่อายุเยอะที่สุด จะเห็นว่าขั้นตอนนี้ไม่ค่อยยากแล้ว เพราะเราได้ปรับแต่งข้อมูลให้อยู่ในรูปที่คำนวณง่ายเอามากๆ แล้วนั่นเองฮะ
ผมมั่นใจว่าคำถามในหัวของทุกคนในตอนนี้ก็คือ แล้วไอ้ 4 ขั้นตอนที่ว่ามานี้ เราจะต้องไปทำที่ไหน อย่างไร คำตอบคือเราจะต้องเขียนโปรแกรมขึ้นมาฮะ ^0^ ซึ่งภาษาที่เค้าใช้กันก็จะเป็นพวก Java, C++, Python หรือ Scala แต่ในบทความนี้ ผมจะขอยังไม่ลงรายละเอียดนะครับ ให้เราไปอ่านกันเอาเองที่เว็บหลักในหัวข้อ MapReduce Tutorial แต่ถ้าจะให้สรุปแบบสั้นๆ เลยก็คือ สมมติเราเลือกเขียน MapReduce ด้วย Java พอเขียนเสร็จ เราก็แค่อัพโหลดไฟล์ JAR ของเราขึ้น HDFS แล้วก็รันโปรแกรมที่เราเขียน โดยระบุ input ให้เป็นไฟล์ CSV ของเรา แล้วก็ระบุ output เป็นที่ๆ เราต้องการจะให้ Hadoop เก็บผลลัพธ์จากการรันเอาไว้ อะไรทำนองนี้ครับ

Tool อื่นๆ ที่ควรรู้จัก

ตอนนี้ผมว่าเราคงพอจะเห็นภาพกันคร่าวๆ แล้วล่ะครับว่า Hadoop มันช่วยอะไรเราได้บ้าง ทีนี้เรามาดู tool ตัวอื่นๆ ที่เค้านิยมใช้ร่วมกับ Hadoop กันครับว่ามันมีอะไรบ้าง

Apache Pig

หากเราไม่ถนัดทางด้านการเขียนโปรแกรมเท่าไร หรือบางทีเราแค่อยากจะวิเคราะห์อะไรง่ายๆ ไม่อยากมานั่งเสียเวลาเขียนโปรแกรม Apache Pig ช่วยเราได้ฮะ คือมันจะคล้ายๆ กับการทำ MapReduce เลย เพียงแต่ Pig มันจะมีฟีเจอร์ที่เรียกว่า Pig Latin ที่จะทำให้เราสามารถ query ข้อมูลด้วยคำสั่งง่ายๆ ได้ด้วย อย่างการวิเคราะห์หาคนอายุเยอะสุดก่อนหน้านี้ เราก็จะใช้คำสั่งLOAD ข้อมูลจากไฟล์ CSV มาก่อน จากนั้นก็ GROUP คนที่อายุสูงสุดตามจังหวัด แล้วก็ FOREACHจังหวัดทั้งหมด เพื่อหาคำตอบว่าคนไหนที่อายุเยอะที่สุด สุดท้ายก็ STORE ผลลัพธ์ออกมาเก็บเป็นไฟล์ อะไรทำนองนี้ฮะ ลองดูตัวอย่างคำสั่งของ Pig ตามด้านล่างนี้
จะเห็นว่าโค้ด Pig Latin นี่มันอ่านรู้เรื่องเลยนะครับ ส่วนวิธีรันก็ง่ายๆ ฮะ ให้เราเซฟคำสั่งเหล่านี้เป็นไฟล์ .pig แล้วอัพโหลดขึ้น HDFS จากนั้นก็รันผ่าน command-line ได้เลย

Apache Hive

ส่วน Apache Hive นี่ก็จะคล้ายๆ กันเลยฮะ เพียงแต่เราจะเปลี่ยนจากการเขียน Pig Latin มาเป็นการใช้ HiveQL ซึ่งมี syntax ใกล้เคียงกับ SQL ที่เราถนัดแทน ลองดูตัวอย่าง HiveQL ด้านล่างนี้ฮะ
รู้สึกว่าชีวิตสบายขึ้นเยอะเลยใช่มั้ยล่ะครับ ผมว่ามันเหมาะมากเลย หากเราอยากจะลอง query อะไรง่ายๆ ไว้เราไปเจอเคสที่การคำนวณมันซับซ้อนเอามากๆ เราค่อยเขียน MapReduce เอาก็ได้ครับ

Apache Spark

Apache Spark เป็น tool สำหรับทำ data processing ที่สร้างบน Hadoop อีกทีครับ จุดขายของ Spark นั้นจะอยู่ที่ความเร็วในการประมวลผล ซึ่งเค้าเคลมว่าสามารถเร็วกว่า MapReduce ของ Hadoop ได้ถึง 10-100 เท่าเลยทีเดียว แถมยังมาพร้อมกับ Spark SQL ที่จะช่วยให้เราสามารถเขียน query ได้ง่ายๆ เหมือนกับการใช้ HiveQL อีกด้วยฮะ

Spark เคลมว่าเร็วกว่า MapReduce 10-100 เท่า

ลองใช้งานจริงด้วย Cloud Dataproc

มาถึงตรงนี้ เราจะเห็นว่า Big Data มันไม่ได้เข้าใจยากอย่างที่คิดเลยใช่มั้ยละครับ แต่ถ้าจะให้เห็นภาพมากขึ้น ผมว่าเราจะต้องลองเล่นของจริงดูเลยฮะ แล้วในปัจจุบัน การหา Hadoop มาเล่นก็ไม่ได้ลำบากเหมือนแต่ก่อนแล้ว เพราะเมื่อไม่นานมานี้ Google เค้าได้เปิดตัว Cloud Dataproc ซึ่งเป็นบริการที่นำ Hadoop และ Spark มาติดตั้งบนระบบ Cloud ของ Google แถมยังปรับแต่งระบบมาให้เราใช้งานได้ง่ายๆ แล้วค่าบริการก็ถือว่าไม่แพงเท่าไรด้วยครับ
หากข้อมูลที่ต้องการจะวิเคราะห์อยู่บนระบบ Cloud ของ Google อยู่แล้ว การใช้ Cloud Dataproc ก็ยิ่งสะดวกเข้าไปใหญ่ครับ ให้เราเข้า Google Cloud Platform แล้วไปที่ Big Data แล้วเลือก Cloud Dataproc เราก็จะเจอเมนูย่อย 2 อัน สำหรับสร้าง Cluster และ Job ที่เราอยากจะให้รันบน Cluster ของเราครับ ให้เราเลือก Clusters แล้ว Create a cluster ได้เลย

สร้าง Cluster ที่จะใช้กับ Cloud Dataproc


ตั้งชื่อ Cluster พร้อมระบุโซน และจำนวน Node ที่ต้องการจะใช้

เมื่อได้ Cluster มาแล้ว เราก็จะมาสร้าง Job กันต่อฮะ ข่าวดีก็คือ Cloud Dataproc รองรับทั้ง Pig, Hive และ Spark SQL เลย หรือใครอยากจะเขียนโปรแกรมเองก็สามารถระบุไฟล์ที่ต้องการจะรันได้เช่นกันครับ

Cloud Dataproc รองรับทั้ง MapReduce ของ Hadoop เอง รวมไปถึง Pig, Hive และ Spark SQL


สมมติเราเลือกใช้ Hive เราก็สามารถใส่ Query ที่ต้องการจะรันลงไปได้ทันที

หนทางยังอีกยาวไกล…

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


Big Data คืออะไร[2]

คำว่า Big Data คือการที่มีข้อมูลปริมาณมากๆ มากแค่ไหน อย่างน้อย ก็จะคุยกันในระดับ Tera Byte (TB) หรือ ระดับ Peta Byte (PB) ซึ่งก็คือ 1000 TB นั่นเอง โดยในระบบ Internet ในยุคที่ Social Media ที่เฟื่องฟู มีสารสนเทศเกิดขึ้นจำนวนมาก ทุกๆ คนสามารถที่จะพร้อมผลิตข้อมูล มีกิจกรรมต่างๆ มากมาย พร้อมทั้ง อุปกรณ์ (Device) ที่มีจำนวนมากและยังมีอัตราการขยายตัวที่สูงอีกด้วย ทั้ง Smart Device ที่รองรับการเข้าถึง การใช้งาน ข้อมูลจำนวนมากๆ ได้อย่างง่ายดาย

เชื่อหรือไม่

  • ปัจจุบันในปี 2014 มี Mobile Device มากกว่า 7.4 Billion ที่ใช้งานบนโลกใบนี้
  • Facebook มีข้อมูลมากกว่า 500 TB ที่เกิดขึ้นในแต่ละวัน
  • มีคนกด Like ใน Facebook มากกว่า 2.7 Billion ในแต่ละวัน
  • ข้อมูลมีแนวโน้มเพิ่มมากขึ้น ๆ กว่า 10 เท่าในทุกๆ 5 ปี
  • แนวโน้มของข้อมูลมีขนาดที่ใหญ่ขึ้น คือเป็นรูปภาพ และ วีดีโอมากขึ้น

คุณสมบัติของ Big Data 

คุณสมบัติของ Big Data จะมีด้วยกัน 3 มุมมอง คือ
  • Volume : ข้อมูลมีปริมาณมาก อยู่ในระดับ Terabytes ขึ้นไป
  • Variety : ข้อมูลมีรูปแบบที่หลากหลาย ไม่ว่าจะเป็น ข้อความ รูปภาพ วีดิโอ มัลติมีเดีย
  • Velocity : ข้อมูลจะมีการเปลี่ยนแปลงตลอดเวลาและรวดเร็ว

Big Data ในมุมมองผู้บริหาร

  • การ Capture ข้อมูลที่เกิดขึ้นอาจจะเป็นในรูปแบบ Real-time ย่อมจะทำให้เราได้รับรู้ข้อมูลในมิติต่างๆ ได้ ซึ่งข้อมูลเหล่านี้มีคุณสมบัติที่เป็น Big Data คือมีทั้ง Volume, Variety และ Velocity
  • เนื่องจากเทคโนโลยีเกี่ยวกับข้อมูลมีจำนวนมากขึ้น การเลือกใช้เทคโนโลยีเดิม อาจจะไม่เพียงพอที่จะนำเอาข้อมูลที่ได้มาใช้ประโยชน์เพื่อตอบโจทย์ธุรกิจขององค์กรได้ ดังนั้นต้องเลือกใช้เทคโนโลยีให้เหมาะสม
  • การนำเอาเทคโนโลยีใหม่ๆ มาวิเคราะห์ Big Data เพื่อให้ทราบพฤติกรรมและความต้องการที่แท้จริงของผู้บริโภค โดยใช้เครื่องมือที่มีประสิทธิภาพ ย่อมทำให้เราสามารถชิงความได้เปรียบในการแข่งขันยิ่งขึ้น
  • การส่งบุคลากรมาฝึกอบรม ให้ความรู้ กับบุคลากรในองค์กรให้มีความรู้ความเข้าใจในเรื่อง Big Data, Cloud Computing และ Deep Analytical เพื่อเป็นบุคลากรในการนำข้อมูลมาใช้งานได้อย่างดี จะช่วยให้ข้อมูลที่เก็บมาใช้ได้อย่างดี มีประสิทธิผลมากยิ่งขึ้น

BIG DATA ช่วยเพิ่มคุณค่าให้ธุรกิจได้อย่างไร?[3]


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

ลดต้นทุนและค่าใช้จ่ายด้วย Big Data Analytics

การลดต้นทุนและค่าใช้จ่าย ยังคงเป็นหนึ่งประโยชน์อันดับต้นๆ ที่ผู้บริหารจะนำมาพิจารณา ก่อนการลงทุนเปลี่ยนแปลงการทำงานใดๆ ในองค์กร โดยเฉพาะอย่างยิ่ง ในองค์กรขนาดใหญ่ ยิ่งมีความได้เปรียบในทางขนาด ผลประโยชน์จากการประหยัดเพียงเสี้ยวเล็กๆ ก็มีมูลค่ามหาศาลหากนำไปใช้เป็นจำนวนมาก
  • ลดต้นทุนในระบบจัดการและวิเคราะห์ข้อมูล ผู้นำ IT ในหลายองค์กร เลือกที่จะขยายระบบการจัดการและวิเคราะห์ข้อมูลโดยการใช้เทคโนโลยี Big Data แทนที่จะขยายในแนวทางการใช้คลังข้อมูลหรือ data warehouse แบบดั้งเดิม เพราะสามารถคืนทุนได้เร็วกว่า และสามารถรองรับการเพิ่มขึ้นของข้อมูลได้ดีกว่า
  • ลดค่าใช้จ่ายเกี่ยวกับการขนส่งและการจัดการห่วงโซ่อุปทาน หน่วยงานอย่าง General Electric หรือ UPS (United Parcel Services) ต่างก็ติดตั้งเซ็นเซอร์หลากหลายรูปแบบในส่วนประกอบต่างๆ ของห่วงโซ่อุปทาน ไม่ว่าจะเป็น GPS ติดยานพาหนะ หรือเซ็นเซอร์ติดที่เครื่องยนต์ แล้วนำข้อมูล telematic ที่ได้มาวิเคราะห์หาจุดที่สามารถลดค่าใช้จ่ายได้  GE ประมาณการณ์ว่า หากลดอัตราการใช้เชื้อเพลิงเครื่องบินลงเพียง 1% จะสามารถลดค่าใช้จ่ายได้ถึง 30 พันล้านเหรียญ ในช่วงระยะเวลา 15 ปี ในขณะที่หาก UPS สามารถลดระยะทางในการขับรถของพนักงานขับรถแต่ละคนได้เพียงวันละ 1 ไมล์ จะประหยัดค่าใช้จ่ายได้ถึงปีละ 50 ล้านเหรียญ

เพิ่มรายได้

การนำ Big Data มาเพื่อตอบวัตถุประสงค์ในการสร้างรายได้เพิ่มในธุรกิจ ทำได้ในหลายแนวทางดังนี้
  • สร้างหรือแนะนำสินค้าและบริการใหม่ๆ การที่เทคโนโลยี Big Data สามารถเก็บข้อมูลการปฎิสัมพันธ์กับลูกค้าทุกครั้ง และเมื่อนำมาวิเคราะห์ ก็ทำให้หลายองค์กร สามารถพัฒนาสินค้าหรือบริการที่ตรงกับความต้องการของลูกค้าได้
    • Amazon ทำการวิเคราะห์การเข้าเว็บไซต์ของเราจนสามารถเสนอสินค้าที่คาดว่าเราจะต้องการได้ โดยไม่ก่อให้เกิดความรู้สึกรำคาญต่อผู้ใช้เลย
    • บริษัทประกันภัยรถยนต์ในอเมริกาสร้างแผนกรมธรรม์ที่มีราคาเฉพาะบุคคล โดยไม่เพียงแต่วิเคราะห์ข้อมูลกว้างๆ อย่างเพศและวัยของลูกค้า แต่ยังรวมไปถึงข้อมูลอย่างเมืองที่อยู่ ข้อมูลการเคลมในอดีต ประวัติและนิสัยในการขับขี่ด้วย
    • Netflix ผู้ให้บริการ VDO Streaming ใหญ่ที่สุดในสหรัฐ เก็บข้อมูลทุกอย่างในการรับชม ไม่ว่าจะเป็นเรื่อง เวลา สถานที่ อุปกรณ์ที่ใช้ มีการหยุด หรือกดเร่งเวลา ย้อนกลับช่วงไหนบ้างหรือไม่ Netflix นำผลการวิเคราะห์มา “ทดลองตลาด” โดยการลงทุนสร้างซีรี่ย์ “House of Cards” โดยระบุทั้งผู้แสดงนำและผู้กำกับ และมั่นใจถึงขนาดกล้าลงทุนเซ็นสัญญาสร้างมูลค่า 100 ล้านเหรียญ และเปิดให้ชมพร้อมกันทุกตอน ผลที่ได้คือ House of Cards ประสบความสำเร็จอย่างถล่มทลาย กลายเป็นอีกหนึ่งช่องทางทำเงินของ Netflix ไป

เพิ่มประสิทธิภาพในการทำงาน

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

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

เทคโนโลยี Big Data สามารถช่วยเพิ่มประสิทธิภาพในการทำงานสำหรับ Knowledge Worker ได้ โดยการย้ายหน้าที่ในการจัดการข้อมูลไปให้ระบบคอมพิวเตอร์ทำ แทนที่จะให้ระบบนำเสนอเพียงแค่ “ข้อมูล” หรือ “รายงาน” การใช้ Big Data ร่วมกับความสามารถในการวิเคราะห์ข้อมูล ผลลัพธ์ที่ได้จึงควรจะเป็น Insights หรือ คำแนะนำในการตัดสินใจทำอะไรบางอย่าง
ในขณะที่ระบบสารสนเทศทั่วไปอาจส่งรายงานยอดขายของสินค้า 100-200 รายการ แล้วปล่อยให้ผู้ใช้มานั่งเลือกดูเองว่าจะต้องทำอะไรบ้างกับสินค้าตัวไหน แต่ถ้าเราใช้เครื่องมือที่เหมาะสมร่วมกับการวิเคราะห์ที่ถูกต้อง การนำเสนอจะเป็นว่า นี่คือสินค้า 3 อย่างที่ขายดีกว่าที่เตรียมการไว้ ควรสั่งผลิตหรือสั่งซื้อเพิ่ม และนี่คือสินค้า 2 อย่างที่ขายได้ช้ากว่าที่คาด อาจจะจำเป็นต้องจัดโปรโมชั่นกระตุ้นยอดขายเฉพาะรายการนั้นเป็นต้น

Big Data มีประโยชน์ต่อองค์กรอย่างไร ? [4]

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

Big Data เปรียบเสมือนเครื่องมือเพื่อให้ไปถึงจุดๆนั้น หากเราสามารถนำข้อมูลเหล่านี้มาวิเคราะห์และใช้ได้ทันท่วงนี้ จะเกิดประโยชน์อย่างมหาศาล ยกตัวอย่างเช่น
1.       สามารถคาดการณ์ล่วงหน้าได้ว่าความต้องการของลูกค้าคืออะไร จะเปลี่ยนแปลงไปในทิศทางใด
2.       Visualization สามารถวิเคราะห์พฤติกรรมลูกค้าเพื่อนำกลับมาวางกลยุทธ์ทางการตลาดได้
3.       Time to Market สามารถ Offer Product ที่ลูกค้าต้องการได้ในเวลาที่ทันท่วงที

Big Data ความสำคัญที่ใหญ่กว่าชื่อ[5]


โดย สุภัค ลายเลิศ กรรมการอำนวยการและประธานเจ้าหน้าที่ปฏิบัติการ บริษัท ยิบอินซอย จำกัด
“ชิวิตติดเน็ต” จากผลการวิจัยของ GloblaWebIndex ในปี 2557 ชี้ว่ามีคนใช้งานอินเตอร์เน็ตสูงถึง 65% ของจำนวนประชากร โดยเฉพาะสมาร์ทโฟนทำให้อินเทอร์เน็ตติดตามตัวเราไปทุก ๆ ที่ ในยุคที่โซเชียลมีเดียเข้ามามีบทบาทในชีวิตประจำวัน ทำให้อินเทอร์เน็ตเป็นภาพแรกที่ใครหลายคนนึกถึงยามตื่นนอน ยามกินอาหาร ยามเดินทาง ยามออกกำลังกาย หรือแม้แต่ใครหลายคนอาจจะหลับไปพร้อมกับสิ่งนี้เลยก็ได้ นอกจากนี้ผู้ผลิตได้มีความพยายามที่จะนำอุปกรณ์ต่าง ๆ เชื่อมต่อกับอินเทอร์เน็ตมากขึ้น ทำให้เราสามารถเชื่อมต่อใช้งานอินเตอร์เน็ตได้หลากหลายรูปแบบและหลากหลายช่องทางไม่ว่าจะเป็นการทำงาน ความบันเทิง หรือแม้แต่สุขภาพ ทำให้มีการเรียกขานความยิ่งใหญ่นี้ว่า Internet of Thing คือ อินเทอร์เน็ตของทุกสิ่งๆทุกอย่าง หรือทุกสิ่งทุกอย่างล้วนแล้วแต่ใช้อินเทอร์เน็ต ไม่ว่าจะเป็นการเช็คเรื่องราวข่าวสาร การสร้างธุรกิจ การศึกษาข้อมูล การลงทุน เก็บประวัติสุขภาพ หรือแม้แต่การจัดการชีวิตประจำวัน ที่อินเทอร์เน็ตก็เข้ามามีส่วนในแทบทุกกระบวนการ
Mobile Internet จึงเป็นต้นแบบของการใช้งานที่สะดวกและรวดเร็ว ตอบสนองความต้องการของโลกธุรกิจได้เป็นอย่างดี…
ปัจจัยสำคัญในจุดเริ่มการเปลี่ยนแปลงคือเทคโนโลยีสุดล้ำ คือ สมาร์ทโฟน (Smart Phone) ที่มีการพัฒนาจากโทรศัพท์มือถือธรรมดาให้กลายเป็นเครื่องมือที่ใช้ติดต่อสื่อสารผ่านทางอินเทอร์เน็ตได้ เป็นโครงสร้างพื้นฐานที่ทำให้การใช้งานอินเทอร์เน็ตเป็นเรื่องง่าย และสามารถเข้าถึงได้ง่าย Mobile Internet จึงเป็นต้นแบบของการใช้งานที่สะดวกและรวดเร็ว ตอบสนองความต้องการของโลกธุรกิจได้เป็นอย่างดี และเมื่อเวลาเปลี่ยนผ่านไปจากการใช้งานอินเทอร์เน็ตที่เคยใช้อยู่ในกลุ่มเล็กๆของสังคม ก็เพิ่มจำนวนผู้ใช้บริการมากขึ้นจนเกลุ่มขนาดใหญ่ที่ทุกคนให้ความสำคัญทำให้โลกของเราก้าวเข้าสู่ยุคดิจิทัล (Digital) ที่มีการใช้งานอินเทอร์เน็ตในเทคโนโลยีต่างๆแทบทุกอณูพื้นที่ ทำให้ความเข้มข้นในการใช้งานอินเทอร์เน็ตมีมากขึ้น ทุกองค์กรหันมาให้ความสำคัญกับการใช้งานแบบเรียลไทม์บนอินเทอร์เน็ต
ในส่วนของภาครัฐได้ตอบรับต่อการเปลี่ยนแปลงนี้ด้วยการร่างแผนนโยบายดิจิทัลเพื่อเศรษฐกิจและสังคม เพื่อจัดตั้งเป็นกระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม เป็นการหลอมรวมกันระหว่าง โครงสร้างพื้นฐานด้านเทคโนโลยีสารสนเทศ โทรคมนาคม และการแพร่กระจายเสียง เพื่อให้ครอบคลุมความต้องการของประชาชนให้มากที่สุด และในขณะเดียวกันก็ได้วางยุทธศาสตร์เพื่อให้เกิดการขับเคลื่อนไปในทางเดียวกันถึง 5 จุดด้วยกัน นั่นคือ 1.ภาคเอกชนจะต้องเป็นผู้นำการพัฒนาด้านเศรษฐกิจและสังคม รัฐเป็นผู้อำนวยความสะดวก (facilitator) และส่งเสริมสนับสนุน 2.มีคณะกรรมการเศรษฐกิจดิจิทัลแห่งชาติ ที่ชี้นำทิศทางของการพัฒนาให้แก่หน่วยงานทั้งภาคเอกชนและภาครัฐ และกำหนดนโยบายสนับสนุนด้านการสร้างแรงจูงใจ (Incentive) นวัตกรรม (Innovation) จัดหาตลาดให้แก่เอกชน 3.กำหนดแนวทางการพัฒนาประเทศบนพื้นฐานของการพัฒนา และใช้ประโยชน์จากเทคโนโลยีดิจิทัล ร่วมกันอย่างมีเอกภาพ 4.รัฐจะกำกับดูแลระบบเทคโนโลยีและสารสนเทศ ให้มีธรรมาภิบาลและความมั่นคงปลอดภัย และ 5.รัฐจะปรับปรุงบทบาท อำนาจหน้าที่ และแนวทางการลงทุนในองค์กรที่เกี่ยวข้อง และแน่นอนว่าเมื่อภาครัฐตอบรับกับการพัฒนาทางด้านดิจิทัลขนาดนี้แล้ว ภาคเอกชนเองก็อยู่เฉยไม่ได้ จึงต้องเร่งพัฒนาระบบเพื่อเตรียมพร้อมในการจัดการธุรกิจให้กับองค์กรของตนเอง

Big Data คืออะไร?
Big Data คือเทคนิค หรือเทคโนโลยีในการกลั่น หรือวิเคราะห์ สกัด เอาคุณค่าออกมาจากขู้อมูลขนาดใหญ่ ซึ่งเกินขอบเขตหรือขีดจำกัดของการจัดการข้อมูลแบบเดิม ๆ โดยทาง Gartner ได้นิยามความหมายของ Big Data ไว้ด้วย 3V คือ high-volume, high-velocity และ high-variety
Volume ปริมาณของข้อมูลจะมากมายมหาศาลจนไม่สามารถที่จะเก็บรวบรวมในฐานข้อมูลรูปแบบเดิมๆได้ หรือถ้าเก็บได้ก็อาจจะยากและซับซ้อน
Velocity หรือความเร็ว คือข้อมูลที่เปลี่ยนแปลงตลอดเวลา โดยข้อมูลนั้นจะมีค่าในเวลา ณ จุดนั้น และจดหมดค่าเมื่อเวลาผ่านไป การนำเอาข้อมูลชนิดนี้มาใช้ต้องมีการประมวลผลที่รวดเร็วทันต่อเห็นการณ์
Variety หรือความหลากหลาย ข้อมูลที่มีความหลากหลายทางโครงสร้าง ทำให้ไม่สามารถที่จะจัดเก็บหรือแยกหมวดหมู่ได้ตามที่ต้องการ หรือมีรายละเอียดปลีกย่อย หรือรูปแบบในการจัดการข้อมูลที่เพิ่มมากขึ้นตามขนาดของข้อมูล
หากไม่มีความพร้อมหรือจัดการไม่เหมาะสม ข้อมูลเหล่านั้นอาจจะกลายเป็นขยะในการจัดการข้อมูลไปในทันที
ทั้งสามสิ่งนี้เป็นหลักในการยึดถือข้อมูลได้ว่า Big Data เป็นข้อมูลที่พิเศษมากจริงๆ ดังนั้นหลายองค์กรในโลกธุรกิจจึงให้ความสนใจมากเป็นพิเศษ และต้องการใช้ประโยชน์จากข้อมูลเหล่านั้น การจะนำเอาข้อมูล Big Data มาใช้งานให้เกิดประโยชน์ต้องมีความพร้อมหลายด้านไม่ว่าจะเป็นด้านเทคโนโลยี ด้านเทคนิค และด้านบุคลากร หากไม่มีความพร้อมหรือจัดการไม่เหมาะสม ข้อมูลเหล่านั้นอาจจะกลายเป็นขยะในการจัดการข้อมูลไปในทันที
Big Data จะเป็นประโยชน์ต่อการใช้งานหลายประการ เช่น การใช้งานข้อมูลเกี่ยวกับการค้นคว้า วิจัย เอกสาร เครือข่ายทางสังคม หรือข้อมูลเฉพาะต่างๆ เช่น โรงพยาบาล คลังต่างๆ เป็นต้น ซึ่ง Big Data นี้เหมาะสำหรับการนำมาวิเคราะห์ข้อมูลดิบ หรือข้อมูลกึ่งโครงสร้างต่างๆ นำไปใช้ในการวิเคราะห์พฤติกรรมลูกค้า หรือธุรกิจที่เกี่ยวข้อง เพื่อหาการแก้ไขหรือหาวิธีการจัดการให้ธุรกิจเป็นไปตามที่คาดหวัง ไม่ว่าจะเป็นด้านธุรกิจ ที่จะเพิ่มโอกาสทางธุรกิจทำให้เกิดนวัตกรรมด้านเทคนิคที่สามารถรวบรวมและจัดเก็บข้อมูลได้ง่ายยิ่งขึ้น และทางด้านการเงินที่สามารถคิดเป็นเปอร์เซ็นต์ค่าใช้จ่ายไอทีได้ด้วย ซึ่งปัจจุบันนี้มีเครื่องมือที่ได้รับความนิยมเข้ามามีส่วนช่วยในการจัดการก็คือ Hadoop ที่ถูกพัฒนามาจาก Open Source Technology  สามารถเก็บข้อมูลขนาดใหญ่และนำไปประมวลผลได้ แต่การวิเคราะห์ Big Data นั้นเป็นเพียงแค่การวิเคราะห์ข้อมูลดิบแบบย่อยเท่านั้น หากต้องการข้อมูลที่เจาะลึกมากขึ้นไปอีกก็ต้องเพิ่มขั้นตอนการวิเคราะห์แบบ Analytics ที่จะทำให้ได้ข้อมูลในเชิงลึกมากขึ้นไปอีกด้วย
แนวโน้มในการนำ Big Data Analytics มาใช้งานนั้นมีเป้าหมายรองรับการขยายตัวธุรกิจอย่างชัดเจนดังนี้  ต้องมีความเร็วในการนำข้อมูลมาวิเคราะห์และใช้งานได้รวดเร็วและง่ายพอที่จะรับมือกับผู้ใช้งานแผนกต่างๆ ได้  และด้วยปริมาณข้อมูลที่เติบโตอย่างรวดเร็วเช่นกันหากสามารถนำมารวบรวมและวิเคราะห์ได้ก็จะเป็นการใช้ประโยชน์จากสินทรัพย์ขององค์กรเพื่อสร้างก้าวต่อไปที่แข็งแกร่งได้อีก  และหากช่วยให้บริษัทสามารถเข้าใจลูกค้าของตนได้ลึกซึ้ง มีภาพรวมธุรกิจ และวิเคราะห์ตอบโจทย์เพื่อสร้าง Customer Experience ที่ให้ความแตกต่างทางธุรกิจได้ก็จะยิ่งเป็นการต่อยอดธุรกิจให้เหนือคู่แข่ง  ที่สำคัญการนำข้อมูลที่เฉียบคมเหล่านี้มาใช้งาน ต้องสามารถตอบสนองทิศทางของแต่ละแผนกได้ดี และไม่ควรใช้งานยากเกินไป ทางที่ดี คือ ต้องง่ายจนแทบไม่ต้องเทรนเลย เพื่อให้เข้าถึงจิตใจลูกค้า หรือผู้บริโภคเป้าหมายของบริษัทได้แม้รายละเอียดเล็กน้อย  ทุกวันนี้การทำการค้าที่เข้าถึงใจผู้บริโภคและมีความคล่องตัวในการให้การบริการแบบหลากหลายช่องทางนั้นคือกุญแจแห่งความสำเร็จ
ทั้งหมดนี้ เพียงแค่มี Big Data ก็จะช่วยทำให้ระบบข้อมูลทางธุรกิจจัดการได้ง่ายขึ้น พร้อมทั้งยังสามารถนำไปต่อยอดให้เกิดประสิทธิภาพในด้านอื่นๆได้อีกด้วย และที่สำคัญยังตอบรับกับการจัดการด้านเศรษฐกิจและสังคมสนองนโยบายรัฐบาลในยุทธศาสตร์การพัฒนาด้านเศรษฐกิจและสังคมที่ให้เอกชนเป็นผู้นำและรัฐบาลเป็นผู้สนับสนุน เรียกว่า Big Data เข้ามาถูกจังหวะเวลาเหมาะกับการพัฒนาธุรกิจเพื่อพัฒนาประเทศชาติเสียจริง Big Data ชื่อนี้ยิ่งใหญ่จริงๆ
ตัวอย่างข้อมูลที่ทำให้เกิด Big Data[6]
  • ปูมบันทึกการใช้งานเว็บ (Web log)
  • ข้อมูลจาก RFID
  • เครือข่ายเซ็นเซอร์,
  • เครือข่ายสังคม, ข้อมูลสังคม (social data),
  • เอกสารและข้อความบนอินเทอร์เน็ต, การทำดัชนีค้นหาอินเทอร์เน็ต,
  • บันทึกการรับโทรศัพท์,
  • ดาราศาสตร์, วิทยาศาสตร์สภาพอากาศ, จีโนมิคส์,
  • การวิจัยทางชีวธรณีเคมี ชีววิทยา และการวิจัยทางวิทยาศาสตร์ที่ซับซ้อน
  • การสอดส่องทางการทหาร, เวชระเบียน, คลังภาพถ่าย, คลังภาพเคลื่อนไหว, และพาณิชย์อิเล็กทรอนิกส์ขนาดใหญ่
  • ตัวอย่างการใช้งาน BIG DATA แบบไม่ธรรมดา[7]


เราอาจเคยอ่านบทความเกี่ยวกับการใช้งาน Big Data Analytics กันมาบ้างแล้วว่ามันทำอะไรได้บ้าง อย่างเช่น ใช้ทำความเข้าใจลูกค้ามากขึ้น ปรับปรุงแผนการตลาด หรือ ค้นหาและป้องกันการทุจริต ลองมาดูตัวอย่างการใช้งาน Big Data แบบไม่ธรรมดาเหล่านี้ดูบ้าง

วิเคราะห์ลานจอดรถ

บริษัทสตาร์ทอัพที่ชื่อ Orbital Insight ทำงานร่วมกับห้างค้าปลีกหลายแห่ง โดยทำการวิเคราะห์ ภาพถ่ายดาวเทียมของลานจอดรถของห้างค้าปลีกเหล่านั้น แล้วใช้ deep learning algorithm ในการประเมินสถานะธุรกิจของแต่ละบริษัท

Data ลิขิตให้เราเป็นคู่กัน

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

การใช้ข้อมูลใน Australian Open

การใช้ Big Data ในวงการกีฬาเพิ่มมากขึ้นเรื่อยๆ Australian Open ใช้ IBM real-time data analytic ซอฟต์แวร์มาคาดการณ์และเตรียมเซิร์ฟเวอร์ในระหว่างการแข่ง โดยวิเคราะห์จากตารางการแข่ง ความนิยมของผู้เล่น การสนทนาในโลกโซเชียล ร่วมกับข้อมูลในอดีต

NFL ใช้การวิเคราะห์ข้อมูลเพื่อปรับเปลี่ยนราคาตั๋วเข้าชม

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

การใช้ Big Data ในสกีรีสอร์ท

สกีรีสอร์ทหลายแห่งนำ Big Data มาใช้มากขึ้นเรื่อยๆ นับตั้งแต่เรื่องง่ายๆ อย่างการเก็บข้อมูลการเข้าพัก แต่ก็มีบางแห่งก้าวหน้าไปมากกว่านั้น อย่างเช่น การนำเทคโนโลยี RFID มาเก็บข้อมูลการเล่นสกีของผู้เข้าพัก  เช่น เล่นไปกี่รอบ เป็นระยะทางเท่าไหร่ เป็นต้น และนำข้อมูลเหล่านี้มาทำ gamification โดยจะโชว์อยู่บนเว็บไซต์ของรีสอร์ท ทำให้นักสกีสามารถแข่งขันกับเพื่อนๆ ได้ และใช้เวลาอยู่ในรีสอร์ทนั้นๆ นานขึ้น
Big Data สามารถส่งผลกับธุรกิจได้ในหลากหลายรูปแบบ ตัวอย่างข้างบนเป็นเพียงส่วนหนึ่งเท่านั้น
โครงการศึกษาเพิ่มเติมด้าน  Big Data[8]
 ปัจจัยที่ทำให้เกิด Big data  
1) Moore’s Law 
2) Mobile Computing 
3) Social Networking 
4) Cloud Computing

บทบาทของ Pentaho ในการประสานโลกเก่ากับใหม่เข้าด้วยกัน[9]



การที่ Pentaho จะเข้ามามีส่วนช่วยผนวกรวมสองส่วนนี้เข้าด้วยกัน จะใช้องค์ประกอบสำคัญสองส่วน นั่นคือ PDI (Pentaho Data Integration) เข้ามาช่วยทำ ETL และ data integration และ BA (Business Analytics) ซึ่งเป็นแพลตฟอร์มและส่วน front-end เพื่อให้ผู้ใช้ใช้งานได้อย่างสะดวก

ตัวอย่างการใช้งาน Pentaho กับธุรกิจ

มีการเล่าถึง business case 3 ตัวอย่างโดยแบ่งตามความซับซ้อนและผลกระทบต่อธุรกิจ
จากภาพ แกนนอนจะเป็นความซับซ้อนของกรณีศึกษา ตั้งแต่แบบง่ายๆ ไปจนถึงกรณีที่มีความซับซ้อนมากและในแนวตั้งจะเป็นผลกระทบต่อธุรกิจ เริ่มตั้งแต่การแค่ optimize กระบวนการและขั้นตอนการทำงาน ไปจนถึงการทำ business transformation

NASDAQ

ตัวอย่างแรกเป็นเรื่องของตลาดหุ้น NASDAQ ซึ่งเน้นให้เห็นถึงประโยชน์ของการใช้ Pentaho solution เข้ามาช่วยเรื่อง data warehouse optimization ทำงานร่วมกับ Amazon Redshift โดยมีปริมาณข้อมูลทางการเงินเข้ามากว่า 10 billion rows ต่อวัน จากการซื้อขายหุ้นมากกว่า 15 ล้านรายการ ส่งผลให้มี fact table ขนาด 150 ล้านแถว
ผลลัพธ์ที่ได้ก็คือ การที่สามารถลดเวลาในการประมวลผลลงเหลือแค่ 30 นาที ในขณะที่ลด TCO (Total Cost of Ownership) เหลือเพียง 50% ผ่านการลดจำนวน system & database admin และ development teams และยังสร้างรายได้ผ่านการขายบริการ option analysis ซึ่งนับเป็น 20% ของรายได้ของ NASDAQ เอง

CATERPILLAR

ตัวอย่างต่อไปคือระบบ Marine Asset Intelligence ของ Caterpillar ซึ่งทำหน้าที่ติดตามเครื่องจักรกลในเรือเดินสมุทรกว่า 3,000 ลำ โดยที่ในเรือแต่ละลำมีเซ็นเซอร์นับพันตัว สร้างข้อมูลรวมกันถึง 2.6 พันล้านจุดในแต่ละเดือน


เทคโนโลยีสำหรับ Big Data: Storage และ Analytics[10]

เมื่อพูดถึง Big Data หลายๆคนก็คงเริ่มเข้าใจความหมายของ 3Vs (Volume, Velocity, Variety) และเริ่มที่จะเห็นภาพว่าข้อมูลจะมีขนาดใหญ่ขึ้นและมีหลากหลายรูปแบบ ดังนั้นจึงไม่แปลกใจที่หลายองค์กรจำเป็นต้องปรับ Information Infrastructure เพื่อให้รองรับกับการบริหารจัดการ Big Data ได้
เทคโนโลยีฐานข้อมูลเดิมที่เป็น RDBMS และภาษา SQL ก็ยังคงอยู่แต่การที่จะนำมาใช้ในการเก็บข้อมูลขนาดใหญ่มากๆเป็นหลายร้อย TeraByte หรือนับเป็น PetaByte อาจไม่สามารถทำได้และอาจมีต้นทุนที่สูงเกินไป และยิ่งถ้าข้อมูลเป็นแบบ  Unstructure ก็คงไม่สามารถจะเก็บได้ นอกจากนี้การจะประมวลผลข้อมูลหลายร้อยล้านเรคอร์ดโดยใช้เทคโนโลยี  RDBMS ผ่านภาษา SQL ก็อาจใช้เวลานานและบางครั้งอาจไม่สามารถประมวลผลได้ด้วยเหตุนี้จึงเริ่มมีการคิดถึงเทคโนโลยีอื่นๆในเก็บและประมวลผลข้อมูลที่เป็น Big Data ดังที่ได้แสดงตัวอย่างในรูปที่ 1 ซึ่งหากเราแบ่งเทคโนโลยีเป็นสองด้านคือ การเก็บข้อมูล (Storage) และการประมวลผล/วิเคราะห์ข้อมูล (Process/Analytics) เราอาจสามารถจำแนกเทคโนโลยีต่างๆได้ดังนี้
เทคโนโลยีการเก็บข้อมูล
ข้อมูลที่เป็น Big Data อาจจะมีขนาดใหญ่เกินกว่าที่เทคโนโลยีการเก็บข้อมูลแบบเดิมที่เรามีอยู่เก็บได้หรืออาจเจอปัญหาในแง่โครงสร้างของข้อมูลที่อาจไม่เหมาะกับเทตโนโลยี RDBMS ตัวอย่างเช่น Telecom operator อาจต้องการเก็บข้อมูล Call Detail Records (CDR) ที่อาจมีปริมาณสูงถึง 1 TeraByte ต่อวันเป็นระยะเวลายาวนานขึ้น หรือเราอาจต้องเก็บข้อมูลในอีเมลจำนวนมากที่เป็นรูปแบบของ Text File  หรือเก็บภาพจากกล้อง CCTV จำนวนหลายสิบ TB หรืออาจต้องการเก็บข้อมูลจาก Facebook ซึ่งข้อมูลต่างๆเหล่านี้ที่กล่าวมา อาจไม่เหมาะกับเทคโนโลยีฐานข้อมูลแบบเดิม RDBMS ที่เป็น Vertical Scaling
จากที่กล่าวมาจึ่งได้มีการนำเทคโนโลยีต่างๆเข้ามาเพื่อที่จะให้เก็บข้อมูลได้มากขึ้น โดยมีเทคโนโลยีต่างๆอาทิเช่น
  • ฐานข้อมูล  RDBMS แบบเดิม ก็ยังเป็นเทคโนโลยีที่เหมาะสมที่สุดในการเก็บข้อมูลแบบ Structure แต่ถ้าข้อมูลมีขนาดใหญ่มากก็จะเจอปัญหาเรื่องต้นทุนที่สูง  และหากข้อมูลมีจำนวนเป็น PetaByte ก็คงยากที่จะเก็บ ถึงแม้ในปัจจุบันจะมี MPP Datanbase อย่าง Oracle ExaDta หรือ SAP HANA แต่ราคาก็สุงมาก
  • Hadoop HDFS เป็นเทคโนโลยีที่มีการคาดการณ์ว่าหน่วยงานส่วนใหญ่จะต้องใช้ในอนาคต เพราะมีความต้องการเก็บข้อมูลขนาดใหญ่ทั้งที่เป็น Unstrucure Data หรือนำข้อมูลที่เป็น structure มาเก็บไว้ โดยสามารถจะเก็บข้อมูลได้เป็น PetaByte ทั้งนี้ขึ้นอยู่กับจำนวนเครื่องที่มีอยู่ในลักษณะ scale-out ข้อสำคัญ Hadoop มีต้นทุนที่ค่อนข้างต่ำเมื่อเทียบกับเทคโนโลยีการเก็บข้อมูลแบบอื่น ดังแสดงในรูปที่ 2
  • NoSQL เป็นเทคโนโลยีที่ต้องการเก็บข้อมูลจำนวนมากกว่าของ RDBMS ในลักษณะ scale-out เป็นจำนวนหลาย TeraByte แต่อาจไม่ได้เน้นเรื่อง Consistency หรือ ACID ของข้อมูลมากนัก เหมาะกับ Application บางประเภท ทั้งนี้เราสามารถจะแบ่งเทคโนโลยี NoSQL ออกไปได้สี่กลุ่มคือ Column Oriented, Document Oriented, Key-Value และ Graph
  • Cloud Storage ข้อมูลขนาดใหญ่ขององค์กรบางส่วนอาจต้องเก็บไว้ใน Public Cloud Storage เช่น  Amazon S3 โดยเฉพาะข้อมูลภายนอกอาทิเช่น Social Media Data หรือข้อมูลที่เป็น Archiving  ที่ไม่ได้มีความสำคัญมาก เพราะ Cloud Storage จะมีราคาในการเก็บที่ถูกสุด และสามารถที่จะเก็บได้โดยมีขนาดไม่จำกัด แต่ข้อเสียคือเรื่องความปลอดภัยและความเร็วในการถ่ายโอนข้อมูล

[1]. (2015). Big Data คืออะไร ? + วิธีใช้ Hadoop/Spark บน Cloud Dataproc | Siam ... Retrieved August 29, 2016, from http://www.siamhtml.com/getting-started-with-big-data-and-hadoop-spark-on-cloud-dataproc/.
[2.]Big Data คืออะไร ? | 9Expert Training. Retrieved August 29, 2016, from http://www.9experttraining.com/articles/big-data-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.
[3.] (2016). Big Data ช่วยเพิ่มคุณค่าให้ธุรกิจได้อย่างไร? – InfoMobius. Retrieved August 29, 2016, from
[4]. (2016). BIG DATA มีประโยชน์ต่อองค์กรอย่างไร | BIG DATA. Retrieved August 29, 2016, from http://narakk1994.blogspot.com/2016/05/big-data_16.html.
[6]. (2013). 1.what is Big Data - ITIL Foundation Certification and workshop. Retrieved August 29, 2016, from http://www.cyberthai.com/index.php/knowledge-center/97-what-big-data.
[7] (2016). ตัวอย่างการใช้งาน Big Data แบบไม่ธรรมดา – InfoMobius. Retrieved August 29, 2016, from http://www.infomobius.com/2015/04/unusual-big-data-analytics-use-cases/.
[8.] (2015). โครงการศึกษาเพิ่มเติมด้าน Big Data Governance and Big Analytic ณ ... Retrieved August 29, 2016, from http://libarts.stou.ac.th/UploadedFile/123.pdf.
[9] (2016). Big Data – InfoMobius. Retrieved August 29, 2016, from http://www.infomobius.com/tag/big-data/.
[10] เทคโนโลยีสำหรับ Big Data: Storage และ Analytics | Thanachart ... Retrieved August 29, 2016, from https://thanachart.org/2015/08/17/%E0%B9%80%E0%B8%97%E0%B8%84%E0%B9%82%E0%B8%99%E0%B9%82%E0%B8%A5%E0%B8%A2%E0%B8%B5%E0%B8%AA%E0%B8%B3%E0%B8%AB%E0%B8%A3%E0%B8%B1%E0%B8%9A-big-data/.















ไม่มีความคิดเห็น:

แสดงความคิดเห็น