สรุปงาน Big Data Conference 2016

เมื่อวาน ผมได้ไปหางาน Big Data Conference ไปหา Idea ใหม่ และหาคำตอบให้กับตัวเอง ด้วยว่าเราเรียน ป โท Computer Science ที่จุฬา ดีไหม ? มาเข้าเรื่องกันเลยดีกว่าครับ

Section 1 : Going Intersteller?: The Truth Behind the Cloud โดยคุณ Rawitat Pulum

  • อะไร คือ big data เราสนใจอะไร ทาง อ มองต่างจาก 3V มาเป็น 4S
    • Space
    • Size
    • Speed
    • Structure
  • ย้อนกลับไปในยุคแรกๆ ของ digital ปี 1980 เรามองพ Structure ก่อน พวก ER-Diagram นั้นแหละ แล้วเอา Data ยัดเข้าไป เพื่อจัดเก็บและค้นหาแหละ
    • ถ้าตัวอย่างใกล้ตัวสุดๆ ระบบดิวอี้ และ sort ในห้องสมุด
    • ถ้ามาด้านคอมบ้างหละ พวกระบบงานทั้งหลายตอนเรียน ระบบงานห้องสมุด ร้านขายของ ถ้าอลังการหน่อยก็ ตัว E-commerce ทุกระบบกล่าวมาเนี่ยมี T ทุกคนคุ้นเคยนะครับ T นั้น คือ Transaction พอมีแล้ว มีเยอะแล้ว เมื่อมีข้อมูลเราก็มีคำถาม
      • คำถามที่เราเตรียมคำตอบไว้แล้ว เช่น ดู Transaction ย้อนหลัง ดูยอดขาย
      • คำถามที่เราไม่ได้เตรียมคำตอบ เช่น อยากหาความสัมพันธ์ ของการยืมหนังสือใน แต่ละสาขา , การซื้อของคนกลุ่มไหน กับสินค้าอะไรเยอะสุด เราควรทำโปรโมชั่นไหน เป็นต้น
  • Small Data vs Big Data
  • Structure & Data Immutable vs Mutable

Session 2:  Manage & Monitor Hadoop cluster with Apache Ambari โดยคุณ Charnsilp Chinprasert

  • Apache Ambari มาช่วยจัดการ Hadoop เพื่อใช้ช่วย
    • Provisioning :
      • Install & Config ได้ง่าย มี Step ในการ Test ว่า Config ที่ทำ Work ไหม
      • การปรับ Parameter มันฉลาด ที่รู้ด้วยว่าจะกระทบ Config ตัวไหน นึกถึง DB2 แล้วสยองเลยย
      • Revision ของ Config ไม่ต้องมา Comment ไว้ลอยและ
    • Management :
    • Monitor :

Session 3 และ 4:  Real time log monitoring + Logging service design for web application โดยคุณ ศุภเกศ วงศ์คำภู และ Wittawas Wisarnkanchana

  • เนื่องจากเห็นว่า 2 หัวข้อนี้ มันคล้ายกัน เลยขอยุบรวมกันดีกว่า
  • ทำไม Log ถึงเป็น Big Data เพราะ มันเยอะ ง่ายๆ และมีคุณค่าแฝงในตัว
  • เอา Log มาทำอะไร
    • Issue Tracking/ Debugging : เอาไว้หา Error ที่เกิดขึ้นบน Production
    • Performance Analysis : เอามาวิเคราะห์ เช่น อยู่มันไปใช้ I/O บ่อย ระบบช้าลง ตรงนี้ต้องหาสามารถว่าทำไมถึงทำ
    • Security Analysis
    • Predictive Analysis : ทำนายอนาคต เช่น เอา Activity Log มาดูพฤติกรรม User เพื่อปรับ UX/UI หรือ หาสร้างโปรโมชั่น โดยเอาข้อมูลอื่นๆมา Matching
  • ปัญหาถัดมา ถ้ามี Log จากหลายๆที่ เราจะดูยังไง ไล่ไปดึงจากทุกเครื่อง (Decentralize) ถึกไป มี Tools ที่เข้ามาช่วยรวมสุ่งศูนย์กลาง (Centralize) ดังนี้
    • Data Source: Log ของ Client ใช้ Log4j, Log4Net และของเจ้าอื่นๆ
    • Pre-Process : ผมมองว่าเป็นการทำ ETL(Extract Transform Load)  เอา log จากหลายๆ Data Source มาทำให้เป็นรูปแบบที่เหมาะสมต่อไป
    • Process & Index : เอาข้อมูลที่ได้มาจัดเก็บใช้พร้อมใช้ Elasticsearch ซึ่งต่อยอดมาจาก Lucene (เคยเล่นมานานละเจ๋งมาก) โดยมันเป็น Search Engine แบบ Distributed เกิดมาเพื่อ Search
      • Elasticsearch มันเกิดมา เพื่อ Search นะ ไม่จำเป็นต้องมาเก็บ Log อาจจะไปทำ Search Engine เจ๋งๆให้กับเว็บได้ เพราะ มันมี REST และ JSON
    • Visualize : Kibana มันเป็น UI ที่มาเป็นของคู่กับ Elasticsearch ช่วยให้เรา Filter และ Visualize Data ได้ง่ายขึ้น
  • มาดูเรื่องอื่นๆบ้าง Log Storage มันมีไม่ได้มี Elasticsearch มีตัวอื่นด้วย เช่น Redis, Cassandra, MongoDB ซึ่งต้องไปดูจุดเด่น-ด้อย ของแต่ละตัวกันต่อไปครับ
  • MicroService กับการจัดการ  log ทำมาเป็น Middleware
  • ปัญหาโลกแตกในอัลกอริทึม TOP-K Problem : Search ข้อมูลอย่างไรให้ได้มีประสิทธิภาพที่สุด

Session 5 : Connecting to Cassandra with Java โดยคุณ พีรพัฒน์ อโศกธรรมรังสี

Jpeg

  • ก่อนอื่นเลย เราต้องมารูัจักก่อนว่า Cassandra คือ อะไร
    • Key-Value Database มันไม่ใช่ RDBMS แน่ๆ
    • Key ไม่สามารถเปลี่ยน Type ได้
    • การออกแบบ DataModel สำคัญมากๆ ทำผิดต้องสร้างใหม่ และ Migrate เอา ออกแบบ Key ให้ถูกไม่งั้นช้ามากก
    • Index ทำได้ แต่ทำ ทำไมในเมื่อมันเป็น Key-Value อยู่แล้ว เพราะ ต้องสร้าง Index มันเหมือนทำ Table ซ้อน เปลือง Performance อีก
  • ใช้กับงานที่ต้องการความเร็วมากๆ เร็วแบบไม่ต้องพึ่ง Cache เช่น ข้อมูลที่มีการเปลี่ยนแปลงบ่อยๆ
  • ภาษาที่ใช้ CQL เหมือน SQL แต่ไม่เหมือน
    • SELECT : JOIN ไม่ได้ และต้องเวลา WHERE ต้องใช้ key เท่านั้น
    • INSERT / UPSERT :
      • Key ไม่ซ้ำก็ INSERT ถ้าซ้ำก็ UPDATE
      • ความพิเศษของมัน ทุก Record มี TTL (Time to Leave บอกอายุของ Record ว่ามีอายุเท่าไหร่ ถ้าหมดอายุไปแล้ว เวลาดึงข้อมูลจะไม่โผล่ออกมา)
    • ทำพวก Aggregate พวก SUM(), AVG() ไม่ได้ ในตัวเอง
  • Java Coding
    • เขียน Code คล้าย JDBC แต่ว่ามันไม่ใช่นะ ทำคำสั่งให้คล้ายๆกัน
    • ResultSet ไม่มีของ Java ปกติ ที่เป็น Pointer แต่มันจะดึงมาเก็บไว้ที่ memory
  • เวลาใช้งานจริง อาจะต้องมาปรับใช้กับ RDBMS ตัวอื่น เพราะ ข้อมูลบางส่วน มันไม่จำเป็นต้อง Realtime อาทิ เช่น ข้อมูลพวก Master

Session 6 : Unlock Security Insight from Machine Data โดยคุณ Narudom Roongririwong

  • ภาพรวมเป็นการนำ Log ที่แง่ของ Network มา Analysis ครับ เพื่อหาแนวโน้มความความเสี่ยง โดยมี Step ดังนี้
    • Know your Machine Data
    • Know your Context
    • Look for insight
    • Identify Measure
    • Security Analysis Life Cycle
    • Implementation
  • สำหรับรายละเอียดสามารถดูได้จาก Slide ครับ

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

This slideshow requires JavaScript.

 

 


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.