Online Courseware และหนังสือ Big Data ที่น่าอ่าน

ผมเริ่มสนใจเรื่อง Big Data มาได้ซักพักหนึ่ง และโชคดีที่มีโอกาสได้อ่านหนังสือหลายเล่ม เรียนรู้ทั้งจาก  Online Courseware ต่างๆทั้งที่ฟรีและเสียเงิน จริงๆท่านหนึ่งที่ต้องขอบคุณอย่างมากคือ คุณดนัยรัฐ ธนบดีธรรมจารี จาก Oracle ที่ได้มาช่วยสอนและแนะนำการติดตั้ง Hadoop ทำให้ผมได้เริ่มลงมือปฎิบัติในเรื่องของ Big Data มากขึ้นไม่ใช่แค่อ่านแต่หนังสือ ซึ่งก็ได้ศึกษา Hadoop และ Big Data มาอย่างต่อเนื่อง ทั้งการใช้เครื่องมือต่าง การใช้ Big Data as a Service บน Cloud เช่น Amazon Elastic Map Reduce การเรียนรู้ภาษาหรือ Tool ต่างๆเช่น  Hive, Pig, HBase, Hue หรือ Mahout รวมถึงการอ่านหนังสืออีกหลายสิบเล่ม ลองมาดูกันครับว่ามีแหล่งข้อมูลไหนบ้างครับสำหรับการศึกษา Big Data และ  Hadoop

Online Courseware

มีเว็บไซต์ดีๆหลายอันที่สอนเรื่อง  Big Data โดยเฉพาะเรื่องของ Hadoop อาทิเช่น

  • www.bigdatauniversity.com : ซึ่งเป็นเว็บไซต์การเรียนรู้ Big Data  ของ IBM จะมี Courseware  ดีๆอยู่หลายหลักสูตรที่มีทั้ง Slide  เสียงบรรยาย และ Hand-on Lab  อาทิเช่น Big Data Fundamentals, Hadoop Fundamentals หรือ Course ที่เรียนรู้เครื่องมือบางอย่างเช่น Moving Data into Hadoop แต่อย่างไรก็ตาม Hand-on Lab ใน courseware  เหล่านี้จะผูกอยู่กับ IBM Infosphere BigInsight
  • Cloudera Online Training: Cloudera เป็นบริษัทที่เด่นที่สุดบริษัทหนึ่งในการทำ Hadoop Distribution ส่วนหนึ่งก็เป็นเพราะว่าคนที่เริ่มคิดโปรเจ็ค Hadoop อยู่ที่บริษัทนี้ Cloudera จะมี Online Courseware ดีๆหลายตัว อาทิเช่น Introduction to Hadoop and MapReduce นอกจากนี้ยังมี Hand-on Training  ซึ่งใช้เครื่องมือของ Cloudera Live ที่อยู่บน Cloud ให้สามารถฝึกและเรียนรู้การใช้เครื่องมือต่างๆอย่าง Pig หรือ Hive ได้
  • Simplilearn: ในปัจจุบันมี Courseware ที่ผู้เรียนสามารถจ่ายเงินเรียน Online ได้หลายๆหลักสูตร ผมเองเคยเรียนหลักสูตรของ Simplilearn ที่ค่าเรียนประมาณร้อยกว่าเหรียญ เนื้อหาก็ดีพอควรสำหรับผู้สนใจเรีิ่มต่้นการทำ Big Data โดยใช้  Hadoop พร้อมทั้งมีแบบฝึกหัดให้ทำ

Screenshot 2014-10-12 07.03.06

หนังสือด้าน Big Data

มีหนังสือหลายเล่มมากที่เกี่ยวข้องกับ Big Data ที่ผมมีโอกาสอ่าน ที่ได้อ่านหลายเล่มเป็นเพราะผมเป็นสมาชิก Safari Book Online ทำให้สามารถค้นหนังสือมาอ่านได้จำนวนมาก แต่บางเล่มก็ซื้อมาอ่านใน Kindle หนังสือต่างๆที่ผมอยากแนะนำมีดังนี้

Screenshot 2014-10-12 16.24.31

Big Data: Understanding How Data Powers Big Business หนังสือเล่มนี้เหมาะกับผู้บริหารที่ต้องการทำความเข้าใจเกี่ยวกับ Big Data ซึ่งไม่ได้ต้องการลงด้านเทคนิคมากนัก หนังสือเล่มนี้จะให้คำตอบความหมายของ Big Data ผลกระทบต่อธุรกิจ การวางแผนกลยุทธ์ Big Data สำหรับองค์กร การกำหนดทีมงาน และการวางแผนต่างๆ นับเป็นหนังสือที่ดีมากสำหรับผู้บริหารที่ต้องการทำความเข้าใจและวางแผน Big Data ขององค์กร

Big Data Analytics: Turning Big Data into Big Money: เป็นหนังสืออีกเล่มสำหรับผู้บริหาร โดยจะกล่าวถึงความหมายของ Big Data พูดถึง Business Case การสร้าง  Big Data Team การหา Big Data Source  และอื่นๆ ผมว่าหนังสือเล่มนี้อ่านง่ายกว่าเล่มแรก แต่เล่มแรกจะมีทฤษฎีและ template ต่างๆ ให้เรานำไปใช้ได้ดีกว่า

Planning for Big Data: หนังสืออีกเล่มหนึ่งที่เป็นการกล่าวถึง Big Data ในลักษณะ High Level หนังสือออกมาเมื่อปี 2012 ซึ่งน่าจะอิงกับ Microsoft พอสมควร แต่ข้อดีคือเป็นหนังสือที่สามารถหาอ่านได้ฟรีทาง Amazon Kindle  ในหนังสือจะพูดถึงความหมายของ Big Data, Apache Hadoop, Big Data Market Survey, Big Data in the Cloud และจะมีบทหนึ่งพูดถึง Microsoft’s Plan for Big Data

Hadoop Real-World Solutions Cookbook: หนังสือเล่มนี้เหมาะสำหรับนักไอทีที่ต้องการเรียน Hadoop และโปรแกรมอื่นๆที่เกี่ยวข้องของ Hadoop จะมีบทที่แนะนำ Hadoop และองค์ประกอบอื่นๆเช่น HDFS, MapReduce, Hive และ Pig หนังสือเล่มนี้จะมีเนื้อหาที่ดีในการแนะนำการเขียนโปรแกรม MapReduce โดยใช้ภาษา Java และมีตัวอย่างทีดีในการเขียนโปรแกรมโดยเฉพาะในบทที่  6 ที่ว่าด้วยเรื่อง Big Data Analysis

Hadoop in Practice: หนังสือด้่านเทคนิคอีกเล่มหนึ่งที่ค่อนข้างจะละเอียด และอาจจะอ่านยากกว่าเล่มก่อนหน้านี้ เหมาะสำหรับ Programmer ที่เข้าใจ command line ของ Linux เนื้อหาข้างในละเอียดมาก จุดเด่นของหนังสือเล่มนี้คือส่วนที่ 4 ที่กล่าวถึง Data Science และจะมีบทที่พูดถึง Algorithm ตัวอย่างการใช้ R และ Mahout

Hadoop: The Definitive Guide: หนังสืออีกเล่มที่แนะนำ Hadoop หนังสือเล่มนี้จะแนะนำซอฟต์แวร์ต่างๆของ Hadoop ไว้ได้ครอบคลุมทั้งหมดตั้งแต่ Hive, Pig, Sqoop, HBase หรือ Zookeeper รวมถึงพูดถึงการติดตั้ง Hadoop Cluster เล่มนี้เหมาะสำหรับ Administor ที่ต้องการติดตั้งและเข้าใจ Hadoop แต่ก็มีการกล่าวถึงการโปรแกรม MapReduce อยู่หลายบทเหมือนกัน

Programming Hive: หนังสือเล่มนี้สำหรับผู้สนใจจะใช้คำสั่งคล้าย SQL บน Hadoop เพื่อที่จะสืบค้นข้อมูล Unstructure โดยใช้โปรแกรม  Hive  หนังสือเหมาะกับผู้ที่สนใจเล่น Hive อย่างจริงจัง เพราะมีหลายละเอียดค่อนข้างมากตั้งแต่ Data Types การใช้ภาษา  Hive QL ผมเองได้แค่อ่านผ่านๆเพราะไม่ได้ต้องการเจาะลึกการใช้ Hive

Mahout in Action: หนังสือนี้เหมาะกับ Data Scientist ที่ต้องการพัฒนา Scalable Machine Learning โดยใช้ Mahout ที่รันอยู่บน Hadoop หนังสือเล่มนี้จะอ่านยากมากเพราะจะเต็มไปด้วยสูตรคณิตศาสตร์ต่างๆและโปรแกรมภาษาจาวาโดยใช้ Mahout หนังสือจะกล่าวถึงการทำ Preditive Analysis สามเรื่องที่ Mahout สามารถทำได้คือ Recommendation, Classification และ Clustering

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

IMC Institute

ตุลาคม 2557

 

Big Data on Cloud ตอนที่ 2: BI/Analytics as a Service

เมื่อเดือนก่อนผมเขียนบทความเรื่อง การคาดการณ์แนวโน้มของ Big Data โดยคาดการณ์ด้านๆต่างไว้  10 เรื่อง และได้กล่าวถึงเรื่อง Big Data as a Service (BDaaS) ไว้ โดยเชื่อว่าจะมีการให้ความสำคัญกับการทำ  Big Data บน Cloud มากขึ้น ซึ่งมีการคาดการณ์ว่ามูลค่าการตลาดของ Big Data ในปี 2021  จะสูงถึง 88 พันล้านเหรียญสหรัฐและถ้าคิดมูลค่า Big Data as a Service ว่าจะมีมูลค่าประมาณ 35% ของตลาดก็จะทำให้มีมูลค่าสูงถึง 30 พันล้านเหรียญสหรัฐ และผมได้แสดงแผนภาพของ  BDaaS ที่เริ่มพูดถึง as a Service อื่นๆ นอกเหนือจากคำว่า IaaS, PaaS และ SaaS ที่เราคุ้นเคยกันดี ดังรูปที่  1

BDaaSรูปที่ 1 Big Data as a Service

จากจะรูปจะเห็นว่า BDaaS จะมีบริการอย่าง  Compute as a Service  เช่น EC2 บน Amazon Web Services (AWS) หรือ Storage as a Service เช่น S3 บน AWS หรือบริการอย่าง Data as a Service  อาทิเช่น

  • Database as a Service  อย่าง SQL Server บน Azure  หรือ  RDS บน AWS หรือ
  • NoSQL as a Service  เช่น  Mongo DB บน Bluemix หรือ  Heroku
  • Hadoop as a  Service  อย่าง Amazon EMR, Microsoft Azure HDInsight, Rackspace Cloud Big Data Platform, IBM Bluemix และ  Qubole (ผมเองก็ได้เขียนบทความเรื่อง “Big Data on Cloud: Hadoop as a Service “)

คราวนี้พอมาถึงเรื่องสุดท้าย Analytics as a Service ก็เริ่มมีประเด็นขึ้นมาบ้างเพราะหลายๆคนไม่เข้าใจความแตกต่างระหว่าง  Big Data, Business intelligence และ  Analytics  พอดีได้อ่านบทความของดร.อธิป อัศวานันท์ รองประธานกรรมการธุรกิจเทคโนโลยีสารสนเทศและการสื่อสาร หอการค้าไทย เรื่อง “ความเข้าใจที่ผิดๆ เกี่ยวกับ Big Data และ Analytics (1)” ก็ยิ่งทำให้เห็นสอดคล้องกับท่านว่าคนไทยยังไม่เข้าใจเรื่องนี้ดี คิดไปว่า  Programmer  หรือ  BI Analyst  จะสามารถเป็น Data Scientist ทำเรื่อง  Analytics ได้ ผมเลยได้เขียนบทความเรื่อง “Big Data Analytics กับความต้องการ Data Scientist ตำแหน่งงานที่น่าสนใจในปัจจุบัน” เพื่อย้ำให้เห็นว่าอะไรคือคำว่า  Analytics และต่่างกับ BI อย่างไร

ตัวผมเองเรียนปริญญาโทและเอกมาทางด้าน Electrical and Electronic  Engineering สมัยนั้นจำได้ว่ามีเพื่อนหลายๆคนทำวิทยานิพนธ์ทางด้าน Neural Networks  ซึ่งก็เป็นคณิตศาสตร์โมเดลด้าน  Analytics แบบหนึ่ง และปีท้ายๆของการเรียนปริญญาเอกและการทำวิจัยหลังจากจบปริญญาเอกก็ต้องมาจัับเรื่อง Analytics กับเขาบ้าง ตอนนั้นทำเรื่อง Parallel Genetic Algorithm เพื่อคาดการณ์ราคาจำหน่ายไฟฟ้าของ Spot Market ที่โรงไฟฟ้าใน New Zealand ต้องแข่งขันกัน การเรียนปริญญาเอกที่ใช้เวลาหลายปี ดูวุ่นวายกับโมเดลคณิตศาสตร์ และ Algorithm  ทำให้บางครั้งก็ท้อ และถามตัวเองหลายครั้งว่า เรามาทำอะไรเสียเวลาอยู่หลายๆปีกับการคำนวณอะไร ขณะที่เพื่อนๆหลายคนจบออกมาก็มีความก้าวหน้าทางการงานไปประกอบอาชีพแล้ว พอจบมาสอนหนังสือนักศึิกษาอีกสิบกว่าปี ก็ได้ใช้โมเดลคณิตศาสตร์เหล่านี้อีกน้อยมาก จนลืมเรื่องเหล่านี้ไป

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

ถ้าเรามาพิจารณา Product ทางด้าน  BI and Analytics จะพบว่ามีรายงานของ Gartner เมื่อเดือนกุมภาพันธ์ปีนี้เรื่อง Magic Quadrant for Business Intelligence and Analytics Platforms ที่วิเคราะห์ Product ทางด้านนี้ ซึ่งทาง Gartner จะพิจารณา Product จากคุณลักษณะต่างๆ อาทิเช่น ความสามารถในการทำ Report, Dashboard, Interactive visualization หรือการพิจารณาว่ามีความสามารถด้าน advanced analytics เช่น forecasting algorithms หรือดูความสามารถในการที่เชื่อมโยงกับข้อมูล Big Data  อื่นๆอย่าง Hadoop  ซึ่งผลการวิเคราะห์จะพบว่า Product หลายๆตัวก็จะมีความสามารถที่แตกต่างกันและไม่ได้มี feature ที่ทำได้ทุกด้าน โดย Gartner ได้สรุปรูปของ Magic Quadrant ดังนี้

 Screenshot 2014-10-09 17.57.12

รูปที่  2 Gartner’s Magic Quadrant for Business Intelligence and Analytics Platforms

เมื่อพูดถึงความแตกต่างระหว่าง BI กับ Predictive Analytics และ Product ต่างๆที่กล่าวมาแล้ว เราอาจจะเริ่มเห็นความแตกต่างระหว่าง BI as a Service  และ Analytics as a Service ซึ่งในปัจจุบันบริการบน Cloud ส่วนใหญ่จะระบุว่าเป็น BI as a Service ตัวอย่างเช่น

Screenshot 2014-10-09 12.44.21

รูปที่ 3  BIME: BI as a Service

BI as a Service บน Cloud เหล่านี้โดยมากจะสามารถวิเคราะห์ข้อมูลจาก Data ที่มาจากแหล่งต่างๆได้ บางตัวก็อาจสนับสนุน Big Data ที่เป็น  unstructure หรือบางตัวก็จะมี Analytics Engine ที่ Embedded เข้ามาและทำให้เราใช้ Algorithm วิเคราะห์และคาดการณ์ข้อมูลได้ก่อนที่จะใช้ เครื่องมืออย่าง BI ในการที่จะทำ Report/ Dashboard  หรือทำ  Visualization ในมุมมองต่างๆ อาทิเช่น  Birst  ดังแสดงให้เห็นในรูป

Screenshot 2014-10-09 18.05.11

รูปที่  4 Birst Data Sheet

Screenshot 2014-10-09 19.49.48

รูปที่  5 IBM Watson Analytics

แต่เมื่อมาดู Analytics บน Cloud ส่วนใหญ่ก็ยังไม่ได้มี Analytics Algorithm ที่ชาญฉลาดมากนัก แต่ก็อาจช่วยลดความจำเป็นของความต้องการ Data Scientist ไปได้บ้าง เพราะอาจใช้เครื่องมือเหล่านี้เข้ามาช่วยได้ แต่ที่น่าสนใจและกำลังเป็นเรื่องที่น่าจับตามองก็คือการเปิดตัวของ  IBM Watson Analytics ซึ่งเป็น  ระบบคอมพิวเตอร์ Artificial Intelligent ของ IBM ที่จะให้บริการบน Cloud ในเดือนพฤศจิกายนนี้ และก็น่าจะเป็น Analytics as a Service บน  Cloud ที่แท้จรืงตัวหนึ่ง ซึ่งจะเปลี่ยนโลกของการวิเคราะห์  Big Data ไปอย่างมาก และเครื่องมือเหล่านี้อาจเข้ามาช่วยแทนที่ความต้องการหา  Data Scientist   ในอนาคตไปได้

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

IMC Institute

ตุลาคม 2557

Big Data Analytics กับความต้องการ Data Scientist ตำแหน่งงานที่น่าสนใจในปัจจุบัน

ช่วงเดือนที่ผ่านมาผมมีโอกาสได้บรรยายและพูดคุยกับคนไอทีจำนวนมากเรื่อง Big Data  พอพูดถึงปัญหาเรื่องการขาดบุคลากรด้าน Data Scientist ดูเหมือนหลายๆคนไม่เข้าใจว่าตำแหน่งงานนี้ทำอะไร บ้างก็บอกว่าองค์กรมี Business Intelligence (BI) Analyst ที่เชี่ยวชาญอยู่แล้ว บ้างก็บอกว่าองค์กรมีโปรแกรมเมอร์ที่เก่งด้านการพัฒนาโปรแกรมอย่าง MapReduce บน Hadoop  อยู่มาก นั้นละคือ  Data Scientist พอเมื่อวันก่อนได้อ่านบทความของ ดร.อธิป อัศวานันท์ ผู้บริหารของ  True  และ รองประธานกรรมการธุรกิจเทคโนโลยีสารสนเทศและการสื่อสาร หอการค้าไทย เรื่อง “ความเข้าใจที่ผิดๆ เกี่ยวกับ Big Data และ Analytics (1)” ยิ่งทำให้เห็นสอดคล้องกับท่านว่า บ้านเรากำลังเข้าใจเรื่องนี้ผิดกันไปใหญ่

เพื่อความเข้าใจเกี่ยวกับงานทางด้าน Data Scientist  คงจะขอเริ่มจากความหมายของ  Big Data ซึ่งเคยให้ความหมายไปหลายครั้งว่า โลกในปัจจุบันกำลังเผชิญกับข้อมูลขนาดใหญ่ (Volume) หลากหลายรูปแบบ   (Variety)  ที่มีการเปลี่ยนแปลงอย่างรวดเร็ว (Velocity) ดังนั้นการจะได้ประโยชน์จากข้อมูลแบบนี้จำเป็นจะต้องหาเครื่องมือใหม่ๆมาใช้งานเช่น  Hadoop, NoSQL หรือ  NewSQL ซึ่งการทำ Big Data ก็มีระดับของ Maturity  Level ดังแสดงในรูปที่ 1 ขึ้นอยู่กับว่าเราจะการนำข้อมูลมาใช้แบบใด โดยระดับต่้นๆก็จะเป็นการทำ  Business Monitor หรือขั้นต่อมาก็อาจเป็นการทำ Business Insight ที่ต้องใช้ BI ไปจนถึงระดับอย่าง Business Optimization  ที่ต้องมีการทำ  Analytics ดังนั้นการทำ  Big Data ในระดับต้นก็อาจไม่มีด้าน Analytic มากนักแต่ก็จะไม่ได้ประโยชน์จากข้อมูลเท่าที่ควร เพราะการคาดการณ์อนาคตได้จากข้อมูลมหาศาลคือความได้เปรียบเหนือคู่แข่ง

Screenshot 2014-10-05 19.36.35

รูปที่  1  Big Data Maturity Level  จากหนังสือ Big Data: Understanding How Data Powers Big Business 

คราวนี้ก็อาจเริ่มมีคำถามว่า Business Insight ที่ใช้ BI Analyst และ Business Optimization ที่ใช้ Data Scientist มีความต่างกันอย่างไร เพื่อความเข้าใจในการวิเคราะห์ทั้งสองส่วนนี้ลองพิจารณาดูรูปที่  2 เราจะเห็นว่าทั้งสองกรณีเป็นการวิเคราะห์ข้อมูล แต่กรณีของ  BI จะเป็นการวิเคราะห์ข้อมูลที่มีอยู่เพื่อมาดูสถานภาพปัจจุบันดูข้อมูลที่ผ่านมา อาจเอานักสถิติมาวิเคราะห์ข้อมูล เขียนกราฟในมิติต่างๆ เพื่อทำให้เราเข้าใจข้อมูลได้ดีขึ้นซึ่งก็จะมีประโยชน์ในระดับหนึ่ง แต่เมื่อพูดถึง  Data Scientist คือการวิเคราะห์ข้อมูลที่เป็นการคาดการณ์สิ่งที่น่าจะเกิดขึ้นจากข้อมูลในอดีตจำนวนมากที่มีอยู่เช่น การคาดการณ์สินค้าที่ผู้ใช้จะซื้อ การคาดการณ์การตลาด การพยากรณ์เหตุการณ์ต่างๆทางวิทยาศาสตร์ สิ่งเหล่านี้คือ Predictive Analytic  ที่ต้องการนักวิจัยทีมีความรู้ด้าน Algorithm อย่างเช่น Machine Learning  เป็นอย่างดี

Screenshot 2014-10-05 19.49.23

รูปที่  2  ความแตกต่างระหว่าง  BI และ Data Scientist จากหนังสือ Big Data: Understanding How Data Powers Big Business 

ผมเองเคยทำวิจัยปริญญาเอกและเขียนบทความเรื่อง Optimal Power Dispatch in Multinode Electricity Market Using Genetic Algorithm ซึ่งเป็นการคาดการณ์การผลิตไฟฟ้าโดยใช้ทฤษฎีอย่าง Genetic Algorithm ซึ่งต้องใช้โมเดลคณิตศาสตร์ในการคาดการณ์อนาคต ที่เป็นเรื่องค่อนข้างยาก แม้วันนี้ผมจะเป็นนักไอทีที่เล่นเครื่องมือ  Big Data หลายตัวไม่ว่าจะเป็น Hadoop  การพัฒนาโปรแกรมอย่าง Map Reduce,  Hive  หรือ Big  แต่ก็ไม่กล้าที่จะเรียกตัวเองว่าเป็น  Data Scientist เพราะแม้จะมีความรู้ด้าน Predictive Algorithm มาบ้างแต่ก็ล้ามือมานานและวันนี้ไม่ใช้คณิตศาสตร์มากแบบเดิมแล้ว

เพื่อให้เข้าใจเรื่องความแตกต่างเดี่ยวกับ  BI และ Data Scientist มากขึ้น ผมขอยกตัวอย่างในกรณีที่มีข้อมูลการขายของร้านบน E-Commerce ของเราอยู่ ถ้าเรามีคำถามอย่างเช่น

  • ยอดขายสินค้าเราในเดือน หรือไตรมาสที่ผ่านมาเป็นอย่างไร
  • ผู้ซื้อสินค้ามีอายุเฉลี่ยเท่าไร เพศอะไร
  • ผู้ที่เข้าเยี่ยมชมเว็บไซต์มีค่าเฉลี่ยการซื้อจริงเท่าไร

การวิเคราะห์ข้อมูลเหล่านี้คือ BI  เราอาจใช้นักสถิติมาวิเคราะห์ มาเขียนกราฟ หรือถ้าข้อมูลเป็นแบบ unstructure  ที่อยู่บน  Hadoop เราก็อาจให้  Programmer  เขียนโปรแกรม MapReduce  มาวิเคราะห์ได้

คราวนี้ถ้าคำถามเราเปลี่ยนไปเป็นแบบการคาดการณ์อนาคต อาทิเช่น

  • ผู้ซื้อคนนี้ควรจะซื้อสินค้าอะไรในอนาคต  (Next Thing to Buy)
  • เราควรสั่งสินค้าอะไรมาขายเพิ่มเติม
  • ยอดขายในไตรมาสหน้าน่าจะประมาณการเท่าไร

คำถามแบบนี้ คนที่เป็น BI หรือ Programmer ทั่วไป คงจะให้คำตอบไม่ได้ เพราะจะต้องถามว่าแล้วฉันจะรู้ได้อย่างไร  การจะหาคำตอบเหล่านี้ได้นี้คนที่จะวิเคราะห์ต้องมีความรู้ด้าน Predictive Analytic  หรือ  Machine Learning  ต้องรู้ว่าจะเอาข้อมูลอะไรมาวิเคราะห์และต้องใช้  Algorithm อะไร ซึ่งคนที่ไม่ได้ศึกษาทางด้านนี้ย่อมไม่เข้าใจและทำไม่ได้โดยง่าย

ปัจจุบันผมกำลังให้คำปรึกษานักศึกษาปริญญาโทคนหนึี่งเรื่องของ  Big Data Analytic  นอกจากให้ศึกษาการติดตั้ง Hadoop  การพัฒนาโปรแกรมอย่าง MapReduce หรือ Hive  แล้ว ผมต้องให้เขาศึกษา Machine Learning  และเครืองมืออย่าง  Apache Mahout  เพื่อที่จะทำ Predictive Analytic ในการคาดการณ์ข้อมูลในอนาคต และพอมาอ่านหนังสืออย่าง Mahout  ที่จะพูดถึงโมเดลทางคณิตศาสตร์ด้าน Classification อย่าง Hidden Markov Models  คนที่ล้างานวิจัยด้านคณิตศาสตร์อย่างผมมานานก็เริ่มงง

หลายๆท่านอาจแปลกใจว่า แล้วบริษัทใหญ่ๆทั่วโลก  เขาหา Data Scientist มาจากไหน ผลสำรวจของ  NewVantage Partner เมื่อปี2013 ก็ระบุว่าตำแหน่งนี้หายากมาก  6%  บอกว่าไม่มีทางที่จะหาได้ 60% บอกว่าหายากมาก และส่วนมากก็จะต้องหาคนที่จบปริญญาเอกด้านคณิตศาสตร์ หรืออาจต้องดึงตัวมาจากบริษัทใหญ่ๆอย่าง Facebook  หรือ Google  ดังนั้นจึงมีการบอกกันว่าตำแหน่งงาน  Data Scientist ในปัจจุบันเป็นงานที่ดีมากให้เงินเดือนสูงๆ และหาคนได้ยากมาก ผมเคยได้ยินว่าบริษัทอย่าง  Singtel ของสิงคโปร์หา  Data Scientist มาโดยการดึงคนจบปริญญาเอกด้านคณิตศาสตร์จากยุโรปตะวันออก

Screenshot 2014-10-05 20.21.57

รูปที่  3  Big Data Talent Survey

สุดท้ายหลายคนก็ตั้งคำถามว่า ถ้าเราไม่มี Data Scientist เราจะทำ Big Data ได้ไหม จริงๆเราก็คงทำได้ละครับในมุมของ Business Insight  แต่ถ้าจะเป็นมุมของ Analytic ที่ต้องการ  Predictive Analytic  ก็คงจะเหนื่อยหน่อยครับอาจต้องหาคนไปศึกษาโมเดลคณิตศาสตร์และ  Algorithm เหล่านี้ แต่ยังไงเราก็ควรต้องเริ่มต้น ผมเองวันนี้ก็เน้นในการจัดอบรมสร้่าง IT Prefessional  ด้าน Big Data โดยเน้นเทคโนโลยีอย่าง Hadoop และหวังว่าในอนาคตจะมี  Data Scientist ที่เก่งๆจำนวนมากขึ้น

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

IMC Institute

ตุลาคม 2557

Big Data on Cloud ตอนที่ 1: Hadoop as a Service

Hadoop เป็นเทคโนโลยีทางด้าน Big Data ที่น่าสนใจเพราะสามารถที่จะเก็บข้อมูลที่เป็น   Unstructure จำนวนเป็น PetaByte ได้ ซึ่งในทางทฤษฎีการศึกษาการติดตั้งระบบ Hadoop และการนำมา  Hadoop  มาใช้ในการวิเคราะห์ข้อมูลโดยใช้โปรแกรมอย่าง MapReduce  หรือใช้เทคโนโลยีต่างๆอย่าง  Hive, Pig, Scoop หรือ HBase เป็นเรื่องไม่ยากนัก แต่ในทางปฎิบัติปัญหาสำคัญที่องค์กรจะพบในการติดตั้ง Hadoop Big Data  ก็คือการหาเครื่อง Server จำนวนมากมาเพื่อติดตั้งระบบ Hadoop Cluster  จำนวนตั้งแต่  5  เครื่องไปจนเป็นร้อยเป็นพันเครื่อง

HadoopProcess

รูปที่ 1 Hadoop Lifecycle [Source: Rackspace]

การแก้ปัญหาในเรื่องการจัดหา  Server อาจทำได้โดยการใช้ระบบ  Public Cloud  ซึ่งก็จะเป็นการลดค่่าใช้จ่ายขององค์กร ทั้งนี้รูปแบบของการใช้ Hadoop  บน Public Cloud   มีสองแบบคือ

  1. ติดตั้ง Hadoop Cluster โดยใช้ Virtual Server ในระบบ  Public IaaS Cloud อย่าง Amazon Web Services  (AWS) หรือ Microsoft Azure  กรณีนี้จะใช้ในกรณีที่เราจะต้องการนำ Hadoop มาใช้ในการเก็บข้อมูลขนาดใหญ่โดยใช้ HDFS และใช้ในการวิเคราะห์ข้่อมูลโดยใช้เครื่องมืออย่าง  MapReduce, Hive, Pig
  2. การใช้บริการ  Hadoop as a Service ของ  Public Cloud Provider ที่ได้ติดตั้งระบบ Hadoop ไว้แล้ว และเราต้องการใช้ระบบที่มีอยู่เช่น MapReduce, Hive, Pig มาใช้ในการวิเคราะห์ข้อมูล ทั้งนี้ข้อมูลที่จะนำมาวิเคราะห์อาจอยู่ในองค์กรเราหรือเก็บไว้ที่อื่น

การใช้ Public Cloud ในกรณีที่ 1  ถ้ามีข้อมูลขนาดใหญ่มาก  ก็อาจจะมีค่าใช้จ่ายที่สูง ยิ่งถ้ามีจุดประสงค์เพื่อที่จะใช้ในการเก็บข้อมูลแบบ Unstructure  ก็ดูอาจไม่คุ้มค่านัก แต่ก็มีข้อดีที่มีระบบ  Hadoop Cluster ที่ติดตั้งเองและไม่ต้องใช้ร่วมกับคนอื่น ผู้เขียนเองเคยทดลองติดตั้งระบบแบบนี้โดยใช้ Azure HDInsight และทดลองติดตั้ง Hadoop CloudEra Distribution  ลงใน AWS EC2  และล่าสุดทดลองติดตั้ง Apache Hadoop Cluster  4 เครื่องลงบน  AWS EC2

สำหรับกรณีที่ 2  น่าจะเหมาะกับผู้ต้องการวิเคราะห์ข้อมูลขนาดใหญ่เช่น  ข้อมูลที่เป็น Text หรือ ข้อมูลจาก  Social Media โดยใช่้เทคโนโลยี Hadoop โดยไม่ต้องการลงทุนซื้อเครื่อง  Server  และก็ไม่ได้เน้นที่จะใช้ Hadoop Cluster  ในการเก็บข้อมูลอย่างถาวร ในปัจจุบันมีผู้ให้บริการ  Cloud Computing อยู่่หลายรายที่ให้บริการ Hadoop as a Service โดยจะคิดค่าบริการตามระยะเวลาที่ใช้ในการประมวลผล และอาจรวมถึงขนาดของข้อมูล  การใช้  Bandwidth ตัวอย่างของผู้ให้บริการมีดังนี้

  • Amazon Elastic Map Reduce

เป็นบริการ  Hadoop Cluster ของ  AWS ที่ผู้ใช้บริการสามารถที่จะเลือกขนาดของ Cluster หรือภาษาที่จะใช้การวิเคราะห์ข้อมูลเช่น Java  สำหรับ  MapReduce หรือ Python สำหรับ Streaming และ  Hive, Pig  ผู้เขียนเองเคยใช้   AWS EMR ในการวิเคราะห์ข้อมูลดยการ Transfer ข้อมูลผ่าน  Amazon  S3 ก็สะดวกและใช้งานง่าย ทั้งนี้ Hadoop Distribution ที่ลงบน EMR ผู้ใช้สามารถเลือกได้ระหว่าง  Amazon หรือ  MapR Distribution

Screenshot 2014-09-16 15.18.54

รูปที่ 2 ตัวอย่างการใช้  Amazon EMR

  • Rackspace Cloud Big Data Platform

Rackspace   หนึ่งในผู้นำด้าน  Public IaaS Cloud  มีบริการที่เรียกว่า Hadoop as a Service  เพื่อให้ผู้ใช้สามารถที่จะส่งข้อมูลมาประมวลผลได้ โดยได้ร่วมมือกับ  Hortonworks  ในการติดตั้ง Distribution ของ  Hadoop

Screenshot 2014-09-16 15.24.41  รูปที่ 3 Rackspace Big Data

  • Qubole

Qubole  เป็นผู้ให้บริการ Hadoop as a Service  โดยเฉพาะ ซึ่งทางบริษัทนี้ติดตั้ง  Hadoop Cluster  บนเครื่อง Server  ของ  AWS และ Google Compute Engine คิดค่าบริการ  Data Service ในการวิเคราะห์ข้อมูลทั้งแบบเหมาจ่ายรายเดือน  (เริ่มตั้งแต่ $5,900 ต่อเดือน) และตามการใช้งาน ($0.11 ต่อ Computing Hour และ $0.22  ต่อ import/export)

Screenshot 2014-09-16 15.39.21

   รูปที่ 4 Qubole.com

  • Google Cloud Platform

Google มีระบบ  Apache Hadoop  ที่รันอยู่บน Google Cloud ให้ผู้ใช้สามารถประมวลข้อมูลโดยใช้ MapReduce,  Hadoop Streaming, Hive หรือ Pig  ที่เก็บอยู่บน Google Cloud Storage  ได้ โดยคิดค่าใช้จ่ายตามปริมาณการใช้งาน

Screenshot 2014-09-16 16.13.40

 รูปที่ 5 Google Apache Hadoop

  • IBM Bluemix: Analytic on Hadoop

IBM Bluemix ซึ่งเป็น  Public PaaS ก็มีการติดตั้ง  Hadoop Cluster  เพื่อให้ผู้ใช้สามารถประมวลผลข้อมูลขนาดใหญ่โดยใช้ MapReduce, Hive หรือ Pig เช่นเดียวกับ Google  หรือ AWS ทั้งนี้ Hadoop  ที่ติดตั้งบน  Bluemix เป็น Distribution ของ  IBM ที่ชื่อ InfoSphere BigInsights

Screenshot 2014-09-16 21.15.24

รูปที่ 6 IBM Analytics fo Hadoop

จากที่กล่าวมาทั้งหมดนี้จะเห็นได้ว่า ในปัจจุบันองค์กรต่างๆสามารถทำการประมวลผลข้อมูลโดยใช้ เทคโนโลยี Hadoop ได้เลยผ่านบริการ  Public Cloud โดยไม่ต้องจัดหาเครื่อง Server หลายๆองค์กรก็อาจจะห่วงเรื่องความปลอดภัยของข้อมูล ซึ่ีงในกรณีของ Hadoop as a Service เราไม่จำเป็นต้องเก็บข่้อมูลลงใน  Hadoop Cluster  โดยเราสามารถ  Transfer ข้อมูลที่จำเป็นในการประมวลผลไปใช้ได้เป็นครั้งคราวไป ทำให้เราน่าจะเชื่อมั่นในเรื่องข้อมูลได้ดีขึ้น ข้อสำคัญเราจะเห็นว่ามีองค์กรใหญ่ๆจำนวนมากมาใช้บริการแบบนี้ ซึ่งแน่นอนข้อมูลขององค์กรเหล่านั้นก็มีความสำคัญไม่น้อยกว่าของเรา จึงทำให้เห็นได้ว่าองค์กรต่างๆมีความเชื่อมั่นในบริการแบบนี้มากขึ้นเรื่อยๆ

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

IMC Institute

กันยายน 2557

การคาดการณ์แนวโน้มของ Big Data

เมื่อวานนี้ทาง IMC Institute  จัดงานฟรีสัมมนาร่วมกับ Computerlogy ภายใต้หัวข้อ Big Data: From Data to Business Insight โดยมีผู้เข้าร่วมสัมมนาประมาณ 100  คน หัวข้อที่ผมไปบรรยายในงานสัมมนานี้คือ  Forecast of Big Data Trends เพื่อให้ผู้เข้าร่วมสัมมนาทราบถึงแนวโน้มของ Big Data โดยมี Slide ที่ใช้ในการบรรยายดังนี้

ฺBigData-Seminar

การบรรยายเริ่มต้นโดยการบรรยายหลักการของ Big Data ทั้งนี้เพราะหลายๆคนยังเข้าใจผิดคิดว่า Big Data คือการที่มีข้อมูลดิจิตอลขนาดมหาศาล แต่จริงๆแล้วเรามักจะนิยามความหมายของ Big Data ด้วยคำย่อว่า 3V คือ Volume, Velocity และ Variety

  • Volume: คือมืจำนวนข้อมูลมากเกินกว่าระบบฐานข้อมูลแบบเดิมๆจะสามารถที่จะจัดการได้
  • Velocity: คือข้อมูลจะมีการเปลี่ยนแปลงอย่างรวดเร็ว เช่นข้อมูลจาก Social Media ข้อมูลการซื้อขาย ข้อมูล Transaction การเงินหรือการใช้โทรศัพท์  หรือข้อมูลจาก Sensor
  • Variety: คือข้อมูลจะมีหลากหลายรูปแบบทั้ง Structure และ Unstructure ซึ่งอาจจะอยู่ในรูปทั้ง RDBMS, text, XML, JSON หรือ Image

ดังนั้นการจัดการ Big Data จึงจำเป็นต้องใช้ระบบการเก็บข้อมูลหรือการประมวลในรูปแบบอื่นๆที่อาจไม่ใช่เพียงแค่ฐานข้อมูล RDBMS แบบเดิมๆ ซึ่งเทคโนโลยีที่นำมาใช้ในปัจจุบันมีทั้ง Hadoop, NoSQL, NewSQL และ MPP เราจึงเห็นได้ว่า แนวโน้มการลงทุนไอทีขององค์กรต่างๆจึงมีการลงทุนเพื่อปรับปรุง Information Infrastructure มากขึ้น เพื่อให้รองรับกับการใช้งานด้าน Big Data

คราวนี้มาถึงการคาดการณ์แนวโน้มของ Big Data ที่ผมได้รวบรวมมาจากแหล่งต่างๆ ผมได้สรุปมา 10 เรื่องดังนี้

1) Hadoop will gain in stature 

ตลาด  Hadoop  ซึ่งเป็นซอฟต์แวร์ Open Source ที่ใช้ในการเก็บและประมวลผลข้อมูลแบบ  Unstructure  ขนาดใหญ่จะโตขึ้นเรื่อยๆ โดยองค์กรต่างๆจะมีการลงทุนเพื่อใช้งาน  Hadoop  คู่กับฐานข้อมูล  RDBMS แบบเดิม และ  NoSQL โดยทาง IDC ระบุว่าในปี 2012  มีการลงทุนด้านซอฟต์แวร์ Hadoop สูงถึง $209 ล้านเหรียญสหรัฐหรือคิดเป็น  11% ของมูลค่าตลาดด้าน Big Data

2) SQL holds biggest promise for Big Data

องค์กรส่วนใหญ่ยังใช้ภาษา  SQL ในการประมวลผล สังเกตุได้จากการลงทุนทางเทคโนโลยีด้าน  Big Data ร้อยละ 64 ขององค์กรก็ยังเป็นการจัดหาฐานข้อมูล RDBMS แบบเดิม มีเพียง 28%  ที่จัดหา  Hadoop/MapReduce  ส่วนหนึ่งก็เป็นเพราะภาษาที่ใช้ในการประมวลผลข้อมูลของ  Hadoop ยังเป็น MapReduce ซึ่งยากต่อการพัฒนา   จึงทำให้ผู้พัฒนา OpenSource  ของ Hadoop ต้องพัฒนาเครื่องมือใหม่ๆอย่าง  Hive, Impala หรือ  Jaql  เพื่อให้ผู้ใช้สามารถใช้ภาษา  SQL ได้ ทำให้เป็นโอกาสที่ดีสำหรับผู้ที่ต้องการประมวลผล  Big Data  ที่จะสามารถประมวลผลได้ง่ายและรวดเร็วขึ้น

3) Big Data vendor consolidation begins

ในปัจจุบันเรามีผู้ผลิตซอฟต์แวร์ ฮาร์ดแวร์และผู้ให้บริการ  Big Data  อยู่หลายราย โดยเฉพาะผู้ที่ทำด้าน Hadoop มีคนนำ Open Source ตัวนี้มาพัฒนาต่อยอดหลายรายและทำเป็นหลาย  distribution จนเป็นเรื่องยากที่ผู้ใช้จะเลือก distribution ที่เหมาะสม การคาดการณ์เรื่องหนึ่งคือเราอาจเห็นจำนวนผู้ผลิตซอฟต์แวร์เหล่านี้น้อยลง จะเหลือเพียงไม่กี่ราย รายเล็กๆที่น่าสนใจอย่าง  CloudEra  ก็จะต้องมาแข่งกับบริษัทใหญ่ๆอย่าง  Microsoft หรือ  IBM

4) Internet of things grow

การเข้ามาของอุปกรณ์ที่เป็น  Internet of Things  เช่น  Wearable Devices, Smart TV จะทำให้ข้อมูลโตขึ้นเรื่อยๆ โดยมีการคาดการณ์ว่าภายในปี  2017  จำนวน  Internet of Things  จะแซงหน้าจำนวนรวมของ  PC, Smartphone  และ  Tablet

5) More data warehouses will deploy enterprise data hubs

Data warehouses  จะมีการติดตั้ง  Enterprise Data Hubs  โดยเป็นการรวบรวมข้อมูลจากแหล่งต่างๆทั้งภายในและภายนอกองค์กร โดยจะมีรูปแบบข้อมูลที่หลากหลายทั้งเป็น  Structure และ  Unstructure โดยจะมีการใช้เทคโนโลยี  Hadoop ที่ประหยัดค่าใช้จ่ายกว่าเทคโนโลยีอื่นมาทำหน้าที่เป็น  Data Hub และช่วยทำหน้าที่ OffLoad ETL ข้อมูลที่ไม่สำคัญมากใน Data Warehouse

 6) Business intelligence (BI) will be embedded on smart systems

การคาดการณ์อีกเรื่องหนึ่งคือแนวโน้มที่เราจะเห็นอุปกรณ์หรือระบบต่างๆมีระบบ    Business Intelligence  (BI) ฝั่งอยู่ในระบบ เช่นระบบการขายต่อไปเซลล์ขายสินค้าอาจสามารถที่จะดูข้อมูลและวิเคราะห์ลูกค้าผ่านอุปกรณมือถือได้เลยโดยเลยโปรแกรม BI ผ่าน  Cloud Services

7) Less relational SQL, more NoSQL

เนื่องจากข้อมูลจะมีความหลากหลายมากขึ้น ดังนั้นการวิเคราะห์ข้อมูลที่เป็นโครงสร้างแบบเดิมโดยใช้ภาษา  SQL  จึงอาจไม่เพียงพอ ทำให้เทคโนโลยีที่เป็น  NoSQL หรือที่เรียกว่า   Not Only SQL จะเข้ามาใช้ร่วมกับฐานข้อมูล RDBMS แบบเดิม โดยเราจะเริ่มเห็นซอฟต์แวร์ใหม่ๆเหล่านี้อาทิเช่น MongoDB  ถูกนำมาใช้มากขึ้น

8) Hadoop will shift to real-time processing

Hadoop เวอร์ชั่น 1.x จะมีข้อจำกัดในเรื่อง  Namenode ทำให้ขยายขนาดเกิน 4,000 เครื่องไม่ได้ และมีข้อจำกัดในเรื่องการประมวลผลข้อมูลบน HDFS ที่เป็น MapReduce ที่ต้องรันแบบ Batch ไม่ใช่ Realtime  แต่ใน Hadoop  เวอร์ชั่น 2.x  ได้มีการปรับปรุงนำ  Data Operating System อย่าง  YARN  เข้ามาทำให้รูปแบบประมวลมีมากกว่า MapReduce  โดยสามารถใช้ NoSQL หรือ  Stream อย่าง  Python  ที่เป็น  Realtime ได้

9) Big Data as a Service (BDaaS)

ประเด็นสำคัญหนึ่งในการประมวลผลข้อมูล Big Data คือการลงทุนจัดหาเครื่องคอมพิวเตอร์ Server จำนวนมากเข้าใช้งาน ซึ่งต้องลงทุนสูงและอาจไม่คุ้มค่า จึงเริ่มมีการให้บริการการประมวลผลบน  Cloud Service มากขึ้น ตัวอย่างเช่นการใช้ Hadoop บน  Cloud ที่ในปัจจุบันมีผู้ให้บริการรายหลายอาทิเช่น Amazon EMR, Microsoft Azure HDInsight, IBM Bluemix และ  Qubole

BDaaS

10) External data is as important as internal data

ในปัจจุบันองค์กรจะมีข้อมูลที่ต้องนำมาพิจารณามากขึ้น โดยจำเป็นจะต้องให้ความสำคัญกับข้อมูลจากภายนอกองค์กร อาทิเช่นข้อมูลจาก Social Media พอๆกับการให้ความสำคัญกับข้อมูลในองค์กร เพื่อนำข้อมูลต่างๆเหล่านี้มาวิเคราะห์เชิงธุรกิจ

สุดท้ายคงต้องจบที่ว่าทาง IMC Institute และ  Computerlog ยังมีหลักสูตรอบรมเรื่อง Big Data  ใหกับผู้บริหารในวันที่ 1-2  ตุลาคมนี้เรื่อง  Big Data in Action for Senior Management ซึงผู้สนใจสามารถเข้าไปดูรายละเอียดได้ที่ www.imcinstitute.com/bigdatamgmt

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

IMC Institute

กันยายน 2557

Open Government Data กับการปฎิรูปประเทศไทย

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

UN E-Government Index

หากเราได้ศึกษาการสำรวจด้าน E-Government ขององค์การสหประชาชาติที่ทำกันมาอย่างต่อเนื่องตั้งแต่ปี 2001  จากรายงาน United Nation E-Government Survey ที่ออกมาทุกสองปี เราจะเห็นได้ว่าบริบทของการสำรวจ เปลี่ยนแปลงไปตามเทคโนโลยีและการสร้างธรรมาบิบาล รวมถึงพิจารณาการมีส่วนรวมของภาคประชาชนดังแสดงในรูปที่ 1  ที่เราจะเห็นได้ว่าในครั้งแรกปี 2001  E-Government อาจจะเน้นเรื่องของการพัฒนาเว็บไซต์ของภาครัฐ แล้วเปลี่ยนมาเน้นในเรื่องของการใช้  Social Media ของภาครัฐในปี 2004/2006 และกลายมาเป็นเรื่องของ Cloud Computing/Smartphone ในปี 2010 และรายงานล่าสุดการสำรวจจะเน้นเรื่องของ Open Government Data/Linked Data

e-GovSurvey

รูปที่  1 การสำรวจ UN E-Government Survey

ผลการสำรวจด้าน E-Government ขององค์การสหประชาชาติก็จะสอดคล้องกับดัชนีความโปร่งใสของประเทศ ซึ่งเราจะพบว่าประเทศที่มีอัตราการคอร์รัปชั่นน้อยก็จะมีอันดับ E-Government ที่สูง ซึ่งการสำรวจล่าสุดในปี 2014 ก็จะเน้นเรื่อง Big Data และ  Open Government Data และพบว่าประเทศที่มีการเปิดข้อมูลในภาครัฐก็จะมีคะแนนค่อนข้างสูง โดยประเทศเกาหลีใต้ก็มีอันดับที่หนึ่งอย่างต่อเนื่องมาสามสมัยทั้งนี้เพราะประเทศเขาได้ปรับระบบ E-Government มาตลอดเพื่อเน้นให้เกิดการทำงานภาครัฐที่รวดเร็วและโปร่งใส ส่วนประเทศไทยเราจะพบว่าอันดับด้าน E-Government ของเราตกลงมาตลอด ส่วนหนึ่งไม่ใช่แค่เรื่องของการนำเทคโนโลยีมาใช้ในภาครัฐ แต่เป็นเพราะดัชนีการคอร์รัปชั่นของประเทศสูงขึ้น ก็ทำให้การนำเทคโนโลยีเข้ามาใช้เพื่อให้เกิดความโปร่งใสเป็นไปได้ยาก เพราะผู้บริหารประเทศก็ย่อมไม่อยากให้เกิดการตรวจสอบโดยง่า เราจะเห็นได้ในรูปที่ 2  ว่าประเทศไทยมีอันดับด้าน E-Government ตกลงมาในอันดับที่ 102 และมีคะแนนต่ำกว่าค่าเฉลี่ยของโลกและภูมิภาคเอเซีย

Thailand-Index

รูปที่  2 E-Government Index ของประเทศไทย

Open Government Data

Open Government Data (OGD) คือการความพยายามของทั่วโลกที่จะเปิดข้อมูล (และ Information) ของรัฐบาลและองค์กรสาธารณะต่างๆซึ่งไม่ใช่ข้อมูลส่วนบุคคลของประชาขน ในรูปแบบที่เป็นมาตรฐานเปิด (Open Format) ไม่ใช่มาตรฐานเฉพาะ (Proprietary format)  เพื่อคนหรือหรือเครื่องคอมพิวเตอร์อ่านได้ แล้วนำไปใช้หรือต่อยอดในการพัฒนาข้อมูลอื่นๆต่อไปได้  การเปิดข้อมูลจะเป็นการลดอุปสรรคในการเข้าถึงข้อมูลของภาคประชาชนและยังช่วยทำให้เกิดการนำไปใช้ในด้านอื่นๆที่มีประโยชน์ต่อไป

UNData

รูปที่  3 เว็บไซต์ data.un.org

ในปัจจุบันมีหลายๆประเทศและองค์กรที่พยายามสร้าง Open Data  อาทิเช่นองค์การสหประชาชาติได้สร้าง Portal ที่ชื่อ data.un.org หรือทางสหราชอาณาจักรก็มีเว็บไซต์อย่าง data.gov.uk ที่มีข้อมูลของภาครัฐด้านต่างๆรวมถึงข้อมูลการใช้จ่ายของภาครัฐ และก็มีการนำข้อมูลไปพัฒนา Application ต่างๆถึง  300 กว่า  App ประเทศในเอเซียหลายๆประเทศทั้งญี่ปุ่น เกาหลีใต้ และสิงคโปร์ต่างก็พัฒนา Portal สำหรับ  Open Data  หลายประเทศก็ได้ออกกฎหมายให้มีการเปิดข้อมูลภาครัฐให้เป็นมาตรฐานที่คนอื่นๆอ่านได้ ทางสหรัฐอเมริกาโดยประธานาธิบดีโอบามาก็ได้ประกาศนโยบาย Open Data เมื่อเดือนพฤษภาคม  2013 และมีการประกาศเรื่อง  Data Act  ในเดือนพฤษภาคม  2014

UKData

รูปที่  4 เว็บไซต์ data.gov.uk

หลักการของ OGD จะมี 8 ด้านดังนี้

  • Completeness ข้อมูลภาครัฐทั้งหมดที่ไม่เกี่ยวข้องกับข้อมูลส่วนบุคคลหรือความมั่นคงจะต้องถูกเปิด
  • Primacy ข้อมูลที่จะถูกเปิดจะเป็นรูปแบบเดียวกับที่ถูกเก็บไว้ โดยไม่มีการปรับปรุงและแก้ไขก่อนเปิด
  • Timeliness ข้อมูลจะถูกเปิดโดยทันทีทันใด
  • Ease of Physical and Electronic Access ข้อมูลถูกเปิดเพื่อให้ผู้ใช้ที่หลากหลายและมีจุดประสงค์ต่างกัน
  • Machine readability  ข้อมูลจะต้องอยู่ในรูปแบบที่นำไปประมวลผลได้โดยอัตโนมัติ
  • Non-discrimination ทุกคนสามารถนำข้อมูลไปใช่้ได้ โดยไม่ต้องมีการลงทะเบียนผู้ใช้
  • Open formats ข้อมูลต้องเป็นมาตรฐานที่เปิด
  • Licensing  ข้อมูลจะต้องไม่มีปัญหาเรื่องลิขสิทธิ์ในการใช้งาน

ประโยชน์ของ Open Government Data

การทำ OGD นอกเหนือจากการสร้างความโปร่งใสและทำให้เกิดธรรมาภิบาลในการบริหารงานภาครัฐ เพราะข้อมูลของภาครัฐในด้านต่างๆเช่น การจัดซื้อจัดจ้าง การใช้จ่ายเงินงบประมาณ ถูกเปิดเผยออกมาแล้ว ยังทำให้เกิดประโยชน์ในด้านอื่นๆอีกดังแสดงในรูปที่ 5  คือการช่วยทำให้บริการของรัฐดีขึ้นอาทิเช่น การเปิดเผยข้อมูลจราจรทำให้เกิดบริการสาธารณะที่ดีขึ้น การเปิดเผยข้อมูลอาชญกรรมก็จะช่วยลดปัญหาต่างๆ ดังแสดงตัวอย่างของการสร้าง Mobile App ที่เป็นประโยชน์จากการเปิดข้อมูลในประเทศอังกฤษดังแสดงในรูปที่ 6

OpenDataBenefit

รูปที่  5 ประโยชน์ของการทำ Open Government Data

UKApp

รูปที่  6 ตัวอย่างการบริการภาครัฐที่ดีขึ้นจาก OGD ของสหราชอาณาจักร

นอกจากนี้ OGD ยังทำเกิดธุรกิจต่างๆขึ้นมากมายและเป็นประโยชน์ต่อสังคม โดยมีรายงานระบุว่าการทำ  OGD ในกลุ่มประเทศยุโรปทำให้เกิดมูลค่าทางเศรษฐกิจสูงถึง 4 หมื่นล้านยูโรต่อปี การเปิดข้อมูลพยากรณ์อากาศในสหรัฐอเมริกาทำให้เกิดบริษัทใหม่ๆถึง 400 บริษัทและมีการว่าจ้างงานใหม่ถึง  4,000  ตำแหน่ง สำหรับประเทศสเปนการเปิดข้อมูลทำให้เกิดธุรกิจถึง 600 ล้านยูโรและตำแหน่งงานใหม่มากกว่า 500 ตำแหน่ง

ล่าสุดการเลือกตั้งประธาธิบดีในประเทศอินโดนีเซีย ทางคณะกรรมการการเลือกตั้งของเขาได้เปิดข้อมูลการนับคะแนน ทำให้เกิดการเลือกตั้งที่โปร่งใสยิ่งขึ้นและเกิดปรากฎการณ์ที่เรียกว่า  Crowdsourcing ที่ภาคประชาชนจากที่ต่างๆมาร่วมกันตรวจสอบและนับคะแนนการเลือกตั้ง

บทสรุป

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

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

IMC Institute

สิงหาคม 2557

เทคโนโลยี Big Data: Hadoop, NoSQL, NewSQL และ MPP

ผมเคยเขียนบล็อกอธิบายความหมายของ Big Data และได้บอกว่าความหมาย Big Data ไม่ได้มีความหมายแค่ข้อมูลมันใหญ่ แต่เรากำลังพูดถึงเทอม 3V  คือ Volume, Velocity และ Variety ซึ่งจะทำให้เราไม่สามารถที่จะใช้เทคโนโลยีฐานข้อมูลแบบเดิมวิเคราะห์ข้อมูลได้ทั้งหมด และอาจต้องพิจารณาเทคโนโลยีใหม่ๆเช่น Hadoop เข้ามาใช้งานในองค์กร (เนื้อหาสำหรับบล็อก Big Data และเทคโนโลยี Hadoop กับการพัฒนาองค์กรด้านการวิเคราะห์ข้อมูล สามารถดูได้ที่ tinyurl.com/pa2av55)

แต่ถ้าพูดถึงเทคโนโลยีสำหรับ  Big Data แล้วเราอาจเห็นเทคโนโลยีใหม่ๆอีกหลายอย่างที่อาจแบ่งออกได้เป็น 4 กลุ่มดังรูป

  • Hadoop คือเทคโนโลยีที่รองรับ Unstructure Data  ที่มีขนาดใหญ่หลาย PetaByte  ซึ่ง Hadoop เป็นเทคโนโลยี Opensource และมี vendor หลายรายนำไปเผยแพร่ต่อเช่น MapR หรือ CloudEra
  • NoSQL  คือเทคโนโลยีืที่เน้นเก็บข้อมูลขนาดใหญ่ที่ไม่ใช่ RDBMS แต่จะเน้นการเขียนและอ่านข้อมูลมากกว่าการใช้คำสั่งในการค้นหาที่ซับซ้อน จึงไม่ได้มีการใช้ภาษา SQL  ในระบบฐานข้อมูลแบบนี้ ตัวอย่างของซอฟต์แวร์ที่ใช้เทคโนโลยีนี้คือ MongoDB, GraphDB, BerkeleyDB และ CouchDB
  • NewSQL คือฐานข้อมูล  RDBMS แบบใหม่ที่ต้องการจะรองรับข้อมูลขนาดใหญ่ให้ได้เหมือนกับ NoSQL ซึ่งบางส่วนก็อาจนำ Cloud Comuputing มาใช้เช่น  Amazon RDS  หรือ SQL Azure แต่ก็มีตัวอย่างซอฟต์แวร์ฐานข้อมูลอีกหลายตัวที่สามารถรองรับข้อมูลจำนวนมากได้เช่น MySQL Cluster หรือ VoltDB
  • MPP หรือ  Massively Parallel Processing คือระบบที่สามารถประมวลข้อมูลขนาดใหญ่โดยใช้เทคโนโลยีแบบคู่ขนานได้อย่างรวดเร็ว  ซึ่งอาจเป็นเทคโนโลยีพวก Datawarehouse  หรือ  Applicance ของ อาทิเช่น Oracle Exadata, Netezza หรือ Greenplum

รูปภาพ

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

รูปภาพ

ดังนั้นเราจะเห็นได้ว่าการจะพัฒนา  Big Data ในองค์กรจำเป็นจะต้องมีการพัฒนาระบบโครงสร้างด้านข้อมูล (Information Infrastructure) ซึ่งต้องมีเทคโนโลยีหลายๆด้าน โดยไม่ได้มีเพียงแค่ Hadoop  และก็ไม่ได้เป็นการนำเทคโนโลยีใหม่มาแทนระบบเดิม ซึ่งเราอาจเห็นตัวอย่างของเทคโนโลยีต่างๆดังรูป ที่จะเห็นว่ามีการนำเทคโนโลยีที่หลากหลายมาใช้ทั้ง RDBMS, NoSQL, Hadoop, MPP และ  BI

รูปภาพ

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

IMC Institute

มีนาคม 2557

Big Data และเทคโนโลยี Hadoop กับการพัฒนาองค์กรด้านการวิเคราะห์ข้อมูล

แนะนำ Big Data

Big Data เป็นอีกหัวข้อหนึ่งที่เริ่มมีการกล่าวถึงกันอย่างกว้างขวาง ซึ่งถ้าเราดูจาก Google Trends ก็จะเห็นได้ว่าทั่วโลกก็เริ่มให้ความสนใจในการค้นคำว่า  Big Data ตีคู่มากับคำว่า  Cloud Computing  แล้ว ส่วนหนึ่งก็อาจเป็นเพราะว่าข้อมูลในโลกของอินเตอร์เน็ตเรื่มมีเยอะขึ้น โดยเฉพาะข้อมูลจาก Social Network ที่ผู้คนต่างเข้ามาอัพเดทข้อมูลตลอดเวลา นอกจากนี้ราคาของ Storage ก็ถูกลงทำให้คนเริ่มที่จะเก็บข้อมูลเยอะขึ้นเรื่อยๆ ซึ่งทาง EMC/IDC ได้ทำตาดการณ์ว่าในปี 2015 จะมีข้อมูลดิจิตอลรวมกันประมาณ 7,910 ExaBytes

Image

หลายๆคนยังเข้าใจว่า Big Data คือการที่มีข้อมูลดิจิตอลขนาดมหาศาล แต่จริงๆแล้วเรามักจะนิยามความหมายของ Big Data ด้วยคำย่อว่า 3V คือ Volume, Velocity และ Variety

  • Volume: คือมืจำนวนข้อมูลมากเกินกว่าระบบฐานข้อมูลแบบเดิมๆจะสามารถที่จะจัดการได้
  • Velocity: คือข้อมูลจะมีการเปลี่ยนแปลงอย่างรวดเร็ว เช่นข้อมูลจาก Social Media ข้อมูลการซื้อขาย ข้อมูล Transaction การเงินหรือการใช้โทรศัพท์  หรือข้อมูลจาก Sensor
  • Variety: คือข้อมูลจะมีหลากหลายรูปแบบทั้ง Structure และ Unstructure ซึ่งอาจจะอยู่ในรูปทั้ง RDBMS, text, XML, JSON หรือ Image

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

Image

เทคโนโลยี Hadoop

ซอฟต์แวร์ที่สำคัญตัวหนึ่งที่มีการนำมาใช้กันมาในระบบ Big Data คือ Hadoop เพราะ Hadoop เป็น Open Source Technology ที่จะทำหน้าที่เป็น Distributed Storage ที่สามารถเก็บข้อมูลขนาดใหญ่ที่เป็น Unstructure และนำมาประมวลผลได้ โดยองค์ประกอบหลักๆของ Hadoop จะประกอบด้วย Hadoop Dustributed File System (HDFS) ที่ทำหน้่าที่เป็น Storage และ MapReduce ที่ใช้ในการพัฒนาโปรแกรมประมวลผล ทั้งนี้โครงสร้างด้าน Hardware ของ  Hadoop  จะใช้เครื่อง  Commodity Server  จำนวนมากต่อเป็น Cluster กัน

Image

ในปัจจุบันหลายๆองค์กรจะใช้ Hadoop Technology ในการพัฒนา Big Data อาทิเช่น Facebook, Yahoo และ Twitter โดยจะมีเครื่อง Server  9yh’c9j 5  -1,000  เครื่อง ทั้งนี้ขึ้นอยู่กับขนาดข้อมูล นอกจากนี้ Technology Vendor ต่างๆอาทิเช่น Oracle, IBM, EMC หรือแม้แต่ Microsoft  ต่างก็นำ Hadoop  มาใช้ในเทคโนโลยีของตัวเองในการพัฒนาผลิตภัณฑ์ทางด้าน Big Data

ทั้งนี้ Hadoop จะไม่ได้นำมาแทนที่ระบบฐานข้อมูลเดิมแต่เป็นการใช้งานร่วมกันทั้ง Database แบบเดิมที่เป็น  Structure Data และการนำ Unstructure Data ขององค์กรที่อาจเก็บไว้ในระบบอย่าง Hadoop เข้ามาพิจารณาร่วมกับข้อมูลอื่นๆภายนอกเช่น Facebook แล้วนำมาวิเคราะห์ข้อมูลโดยใช้เครื่องมืออย่าง Business Intelligence ดังรูป

Image

ซึ่งจากการสำรวจของ Unisphere Research  เมื่อพฤษภาคม 2013 พบว่าอุตสาหกรรมที่มีความสนใจจะพัฒนาเรื่อง  Big Data เป็นอันดับต้นๆคือ อุตสาหกรรมค้าปลีก อุตสาหกรรมธนาคารและประกันภัย อุตสาหกรรมโทรคมนาคม ซึ่งใช้ในการวิเคราะห์ลูกค้าและข้อมูลการตลาด นอกจากนี้หลายหน่วยงานก็มีการนำข้อมูลด้าน Social Media มาทำการวิเคราะห์เพื่อหาข้อมูลต่างๆ

การพัฒนา Big Data ที่สำคัญประการหนึ่งก็คือการปรับปรุงโครงสร้างระบบไอทีขององค์กรด้านข้อมูล (Information Infrastucture) รวมถึงการพัฒนาบุคลากรให้เข้าใจถึงเทคโนโลยีด้าน Big Data ใหม่ๆอย่าง Hadoop หรือ in-Momery Database และต้องมีการวางแผนในการนำข้อมูลทั้ง Structure และ  Unstructure จากภายในและภายนอกองค์กรมาใช้งาน รวมถึงการที่จะต้องหาผู้เชี่ยวชาญทางด้านข้อมูลที่เป็น Data Scientist  มาร่วมทำงาน

การพัฒนาองค์ความรู้ด้าน Big Data ของสถาบัน IMC

IMC Institute ให้ความสำคัญกับเทคโนโลยี Big Data  โดยที่ผ่านมาได้เปิดหลักสูตรอบรมในหลายหลักสูตรจำนวนผู้เรียนรวมกันมากกว่า 100  โดยมีหลักสูตรที่น่าสนใจคือ

โดยในวันที่ 18 ตุลาคมนี้ ทางสถาบัน IMC จะเปิดหลักสูตร Big Data on Public Cloud Computing ซึ่งเป็นการสอนหลักการของ Big Data ที่สามารถใช้งานได้จริงกับ Public Cloud อย่าง Amazon Web Services ซึ่งผู้เรียนจะได้ศึกษาการพัฒนา Big Data  ทั้งส่วนที่เป็น  Map/Reduce, Hive, Pig และ HBase  รวมถึงการนำข้อมูลขนาดใหญ่เข้า Amazon S3

อนึ่งเมื่อเร็วๆนี้ ทางสถาบัน IMC ได้จัดสัมมนาหัวข้อ  Business Intelligence in a Big Data World  ร่วมกับ Oracle และ PwC โดยมีหัวข้อที่น่าสนใจหลายๆเรื่อง ซึ่งสามารถที่จะดู  Slide  งานสัมมนานี้ได้ดังนี้

 

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

IMC Institute

ตุลาคม 2556