thank-big
ในปัจจุบันคำว่า Big Data นั้นได้เข้ามาสู่หน่วยงานต่างๆ อย่างมากมาย
ในบางหน่วยงานอาจจะมีทีม Big Data ขึ้นมา
แต่ปัญหาที่พบเจออย่างมาก คือ เรื่องของความรู้ความสามารถของทีม

ดังนั้น เรามาดูกันหน่อยสิว่าทีม Big Data
ควรมีความรู้ความสามารถอะไรบ้าง ?

big-data-spectrum

1. Data Modeling

เรื่องของ Data model นั้นควรออกแบบให้เหมาะสมในแต่ละมุมมอง
ดังนั้นจึงต้องมีความรู้ และ เข้าใจ เกี่ยวกับ business

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

Modeling -> Visualising -> Adapting -> Evolving

2. Fine Tuning

เรื่องของการ scale มันสำคัญมาก ทั้งการรองรับข้อมูลที่เยอะขึ้น และ น้อยลง
แต่ว่าการ tunning มันยังมีเรื่องอื่นๆ อีกนะ เช่น

  • Performance
  • Reliability
  • Security
  • Maintainability

ดังนั้นในทีมของคุณควรมีผู้เชี่ยวชาญด้านการ tuning ด้วยเสมอนะ

3. Deployment Automation

เนื่องจากการจัดการกับ Big Data มันมีความซับซ้อนสูง
ประกอบไปด้วยการทำงานหลายๆ ส่วน
ดังนั้น เรื่องของการ deploy แบบอัตโนมัติจึงสำคัญมากๆ
เพื่อสะดวกต่อการควบคุม environment ต่างๆ ที่เกี่ยวข้อง
รวมทั้งช่วยลดความเสี่ยงในการ deploy บน production server
ด้วยการเพิ่มพวก automated test ต่างๆ เข้าไป

4. ETL Development (Extract-Transform-Load)

ในโลกของ Big Data นั้นต้องการ algorithm สำหรับ

  • การจัดการข้อมูล เช่น pre-processing data และ การเลือก property ของข้อมูลที่น่าสนใจ เป็นต้น
  • การวิเคราะห์ และ ประมวลผล
  • การแสดงผลในรูปแบบที่เข้าใจง่าย

ซึ่งในส่วนการพัฒนาสิ่งเหล่านี้ จะเป็นต้องใช้ความรู้พื้นฐานมากมาย เช่น

  • Test-Driven Development
  • Continuous Integration

5. Practical Data Science

ความรู้ที่ทีม Big Data ต้องมี และ เข้าใจ
ในเรื่องของ Data mining และ Predictive analytic หรือ Data Scientist
ซึ่งจะส่งผลดีต่อการ modeling data อีกด้วย

6. Theoretical Data Science

สิ่งที่ขาดไม่ได้เลย คือ ทฤษฎีต่างๆ ทั้ง Data mining และ สถิติ
ถ้ารักที่จะมาทำเกี่ยวกับ Big Data มันขาดไปเสียมิได้เลย
ยิ่งเรื่องสถิติ ต้องอยู่ในลมหายใจเข้าออกกันเลยทีเดียว

เนื่องจากคุณต้องนำสิ่งที่มีประโยชน์จาก Big Data ออกมา
เพื่อสนับสนุน business หรือ สร้าง business ใหม่กัน

data-science-diagram-2

ดังนั้นในทีม Big Data จะต้องประกอบไปด้วยหลายๆ ความสามารถ

  • ทั้งการพัฒนา
  • ทั้งการวิจัย
  • ทั้งการดู network และ infrastructure
  • ทั้ง business

แน่นอนว่าตอนเริ่มต้น
แต่ละคนในทีมจะมีความสามารถเฉพาะทาง หรือ T-Shape Skill
แต่เมื่อทำงานเป็นทีมแล้ว จะต้องมีการแลกเปลี่ยนและแบ่งปันความรู้กัน
มันจะทำให้แต่ละคนเริ่มมีความสามารถอื่นๆ เพิ่มขึ้น

จะสังเกตุได้ว่าทีม Big Data จะแตกต่างจากทีมพัฒนา software ทั่วไป
เนื่องจากแต่ละคนจะมีความสามารถเฉพาะทางที่แทบจะไม่เกี่ยวข้องกันเลย

แต่เหนือสิ่งอื่นใด
Big Data == Big Thinking  นะ 

ตัวอย่างเทคโนโลยีหลักๆ และความรู้ สำหรับ Big Data

  • Hadoop และ Cassandra สำหรับที่จัดเก็บข้อมูล
  • Kafka สำหรับ event processing
  • Spark และ Storm สำหรับ ETL job (Extract-Tranform-Loader)
  • Machine Learning Library และ ภาษาต่างๆ เช่น ภาษา R
  • ยังมีเรื่องของ Data Science ที่เกิดขึ้นมาอีก มันจะเยอะไปไหน …..

 

วันนี้คุณพร้อมรับกับ Big Data แล้วหรือยัง ?
หรือว่าทีมของคุณยังขาดคนที่มีความสามารถอะไรบ้าง ?

 

Reference Websites
http://codurance.com/2015/06/13/big-data-skills-spectrum/