Big Data 101
  #BugDay2013


     @somkiat
-- สยามชํานาญกิจ --
Gartner Identify Top Technology
                  2013
●   Big Data
●   Modern Information Infrastructure
●   Semantic Technology
●   The Logical Data Warehouse
●   NoSQL DBMS
●   In-Memory Computing
●   Information *




             http://www.gartner.com/newsroom/id/2359715
คําถามที 1




ข้อมูลมาจากไหน ?
ข้อมูลมาจากไหน ?

                     Social Media

          Sensor
        - Location
         - Climate                  Scientist




Mobile usage            Data            Social Media




        Purchase
           Tx                       Photo

                         VDO
ข้อมูลมาจากไหน




http://whatsthebigdata.com/2013/02/04/the-big-data-explosion-infographic/
ข้อมูลมาจากไหน




http://whatsthebigdata.com/2013/02/04/the-big-data-explosion-infographic/
ข้อมูลมาจากไหน




http://whatsthebigdata.com/2013/02/04/the-big-data-explosion-infographic/
ข้อมูลมาจากไหน




http://whatsthebigdata.com/2013/02/04/the-big-data-explosion-infographic/
การเติบโตของข้อมูล




http://whatsthebigdata.com/2013/02/04/the-big-data-explosion-infographic/
คําถามที 2




ทําไม Big Data ถึงมีความสําค ัญล่ะ !!
ทําไมต้อง Big Data ?
    สันๆ ง่ายๆ คือ
    การวิเคราะห์
         เพือ
    การต ัดสินใจ
         เพือ
   สร้างองค์ความรู ้
คําเหล่านีแตกต่างก ันอย่างไร ?
            Data = ?
        Information = ?
        Knowledge = ?
          Decision = ?
คําเหล่านีแตกต่างก ันอย่างไร ?
           Data = ความจริง
Information = ความจริงบางส่วนกับความรู ้
       Knowledge = สิงทีคุณรู ้
  Decision = การตัดสินใจเพือลงมือทํา
Model




http://www.infogineering.net/data-information-knowledge.htm
คําถามที 3




Big Data คืออะไร
Big Data คืออะไร
Wikipedia

Big data usually includes data sets with sizes
beyond the ability of commonly used software
tools to capture, curate, manage, and process
the data within a tolerable elapsed time.
Big Data คืออะไร
● ข ้อมูลคืออะไร ( What )
● จัดการมันอย่างไร ( How )
● เพือเปิ ดให ้รู ้ว่าข ้อมูลมันเกียวกับอะไร ( What with )
Big Data คืออะไร
●   การรวบรวมข ้อมูล
●   การวิเคราะห์
●   การดึงส่วนทีมีประโยชน์ออกมา
●   การหาวิธการใหม่ๆ มาใช ้งาน
              ี
●   การใช ้งานข ้อมูล
●   การปรับปรุงทางธุรกิจ
●   การวางแผนงาน
●   ทําให ้โลกน่าอยูขน
                     ่ ึ
Big Data คืออะไร
●   การรวบรวมข ้อมูล
●   การวิเคราะห์
●   การดึงส่วนทีมีประโยชน์ออกมา
●   การหาวิธการใหม่ๆ มาใช ้งาน to YOU
              ี             UP
●   การใช ้งานข ้อมูล
●   การปรับปรุงทางธุรกิจ
●   การวางแผนงาน
●   ทําให ้โลกน่าอยูขน
                     ่ ึ
คุณล ักษณะของ Big Data (3V)
● Volume
● Variety
● Velocity
คุณล ักษณะของ Big Data
● Volume
  ○ ปริมาณข ้อมูลทีมีจํานวนมากขึนๆๆๆๆๆๆ
  ○ GB -> TB -> PB -> EB -> ZB -> YB
● EB = Zettabyte
● 1 EB = Trillion GB
● 1 EB = Billion TB
คุณล ักษณะของ Big Data
● Variety
  ○ รูปแบบข ้อมูลทีหลายหลาย
    ■ Structured
    ■ Unstructured
    ■ Semistructured
  ○ มีวธการนํ ามาใช ้งานอย่างไร
       ิ ี
  ○ VDO, Photo, Audio, Document, Text
  ○ Log, Monitoring
  ○ Stock reacord, Transaction

  ○ Need pre-processing and data cleaning
คุณล ักษณะของ Big Data
● Velocity
  ○   ความรวดเร็วในการประมวลผล วิเคราะห์
  ○   Batch, Near real time
  ○   Stream processing
  ○   Need real time
  ○   Online VDO, Location tracking, AR
Real time processing model




     http://www-01.ibm.com/software/data/bigdata/
3V
คุณล ักษณะของ Big Data ( IBM ) 4V
●   Volume
●   Variety
●   Velocity
●   Veracity
    ○   ความน่าเชือถือของข ้อมูล
    ○   คุณภาพ
    ○   แหล่งทีมา
    ○   Noise/Outlier
Example of Veracity issue
● Twitter
  ○ Message from Spam bot ?
  ○ Message from human ?
  ○ Fake account ?
4V

Volume            Velocity




          Value


Variety           Veracity
สร้างความท้าทาย
●   ไม่รู ้ Volume และ Variety ของข ้อมูล
●   จัดเก็บข ้อมูลอย่างไร
●   วิเคราะห์ข ้อมูลทังหมดอย่างไร ใช ้เวลาเท่าไร
●   หาชุดข ้อมูลทีมีความสําคัญอย่างไร
●   จะทดสอบอย่างไร
สร้างความท้าทาย
●   Visualization
●   Big Data application
●   แนวทางการวิเคราะห์ข ้อมูล
●   ศึกษาพฤติกรรมของผู ้บริโภค
●   Public data
●   New information และ Data service
สร้างเทคโนโลยี
●   ถูก
●   ขยายได ้ง่าย
●   เร็ว
●   ทํางานบน memory ขนาดใหญ่
●   ทีจัดเก็บข ้อมูลรองรับข ้อมูล Volume, Variety
●   Parallel
●   Clustering
●   Cloud
เทคโนโลยี
● การประมวลผล
   ○ MapReduce
● การจัดเก็บข ้อมูล
   ○ Distributed File System
   ○ Object Storage
   ○ NoSQL
Distributed File System
● เก็บข ้อมูลแบบถาวร
● แยกข ้อมูลออกเป็ นส่วนๆ เช่น file, shard, chunk,
  และ block เป็ นต ้น
● สนับสนุนการเข ้าถึง file server และ remote
  server
● สนับสนุน concurrency
● สนับสนุน distribution
● สนับสนุน replication
Distributed File System
●   Hadoop File System (HDFS)
●   GlusterFS
●   MogileFS
●   Google File System ( GFS )
●   MooseFS
HDFS Architecture




http://www.ibm.com/developerworks/library/wa-introhdfs/
NoSQL
● Key-value
  ○ Memcached, Redis, Riak
● Column
  ○ Cassandra, HBase
● Graph
  ○ Neo4J, FlockDB
● Document
  ○ MongoDB, CouchDB
สร้างโอกาส
● ทางธุรกิจ
● ทางด ้าน Testing




  http://searchengineland.com/why-big-testing-will-be-bigger-than-big-data-145452
Big Testing




http://searchengineland.com/why-big-testing-will-be-bigger-than-big-data-145452
Big Testing




                                       Big Mistake
http://searchengineland.com/why-big-testing-will-be-bigger-than-big-data-145452
Big Testing
● ถ ้า Big Data คือ นามัน
                      ้ํ
● ดังนัน Big Testing คือ
  ส่วนทีทําให ้รถวิงไปข ้างหน ้าได ้อย่างถูกต ้อง
Cycle of Big Data

ความต ้องการเพิมสูง
ทําให ้เกิดเทคโนโลยี
เพือรองรับ




                                                    นํ าไปใช ้เพือเพิมประสิทธิภาพในห
                                                    ลากหลายองค์กร




                       ได ้ผลลัพธ์ทดี
                                   ี
                       แต่ยงต ้องการสูงขึนไปเรือย
                            ั
ข้อแนะนําในการสร้างระบบ
●   คุณเก็บข ้อมูลอะไรบ ้าง
●   ผลการวิเคราะห์แสดงออกมาในรูปแบบทีเข ้าใจง่าย
●   ระบบต ้องเสถียร เมือมีผู ้ใช ้จํานวนมากขึน
●   จําไว ้ว่าระบบหลังบ ้านเล็กๆ จะแก ้ปั ญหาทุกอย่างไม่ได ้
●   การสร ้าง software ทีว่ายาก แต่การทีจะให ้ Software หรือ
    Service นันทํางานไปได ้ยากยิงกว่า
กฎของ Big Data
●   ทําการวิเคราะห์ได ้รวดเร็ว
●   ดูแลข ้อมูลเพียงชุดเดียว
●   ต ้องใช ้ข ้อมูลทีหลายหลาย
●   ข ้อมูลจะมีคาเมือเวลาผ่านไป ดังนันห ้ามลบทิง
                   ่
●   วางแผนสําหรับการเดิบโตแบบก ้าวกระโดด
●   แก ้ปั ญหาให ้ถูกจุด
●   ต ้องทํางานร่วมกับมนุษย์เสมอ
●   Big Data คือการ transform business
    เหมือนทีทํากับระบบ IT
ข้อควรจํา
● จะเริม Big Data ไม่ใช่การ migrate
  ระบบทีมีอยูเดิม เช่น Data Warehouse
              ่
● จะเริม Big Data เมือ 3V + Technology
  ทีมีอยูไม่รองรับ
         ่
รูไว้ใช่วา !!
                           ้      ่
● Big data that is very small
● Large datasets that aren’t big




          http://mike2.openmethodology.org/wiki/Big_Data_Definition
แนวคิดการสร้างระบบจ ัดการข้อมูล



                        โดย Nathan Marz
http://www.slideshare.net/nathanmarz/the-secrets-of-building-realtime-big-data-systems
ข้อมูล

                View 1




Raw             View 2
Data


                View 3
ข้อมูลจากระบบ Twitter

                    URL




Tweet              Retweet



                    Trend
                    Topic
คุณสมบ ัติของระบบข้อมูล
●   มีความเี สถียร จาก Server ล่ม และ Human error
●   การอ่านและแก ้ไขใช ้เวลาน ้อย ( Low latency )
●   ขยายได ้ง่าย ( Scalable )
●   เรียบง่าย
●   เพิมความสามารถได ้ง่าย
●   สามารถทําการวิเคราะห์ได ้ง่าย
●   ดูแลง่าย
●   Debug ง่าย
Architecture
● Batch Layer
● Speed Layer
Batch Layer
●   ประมวลผลนานๆ ( High latency )
●   ขยายในแนวนอน ( Horizontal )
●   เรียบง่าย
●   เช่น Apache Hadoop
    ○ MapReduce
    ○ ทํางานแบบขนาน
    ○ ขยายระบบได ้ง่าย
Batch Layer
● ข ้อมูลทังหมดอยูใน Master data set
                   ่
● ข ้อมูลจะถูกเพิมไปเรือยๆ
● ดังนัน

      view = function( Master data set )
Batch Layer


                                                     View 1

                               Batch
ข ้อมูลใหม่                                          View 2
                              process

              เพิมข ้อมูล               ดึงข ้อมูล   View 3


                            ข ้อมูลทังหมด
Batch Layer
●   เสถียร
●   ขยายได ้ง่าย
●   เพิมความสามารถได ้ง่าย
●   เรียบง่าย
●   ดูแลรักษาได ้ง่าย
●   Debug ง่าย
●   ใช้เวลาการ อ่าน และ แก้ไขสูง
Speed Layer
● แก ้ไขเรือง เวลาการทํางานทีสูงของ Batch layer
Speed Layer
● ต ้องการวิธการจัดการ
             ี
● วิธการส่งข ้อมูล
      ี
● ฐานข ้อมูลสําหรับการอ่าน และ เขียน ทีรวดเร็ว
   ○ Riak
   ○ Cassandra
   ○ HBase
● ทําให ้เกิดความซับซ ้อน !!
การทํางานร่วมก ัน



Batch Layer

                   Merge


Speed Layer
ผลทีได้ร ับ
● Batch layer ทํางานช ้า แต่ได ้ความถูกต ้อง
● Speed layer ทํางานรวดเร็ว
● เมือนํ าทังสอง layer มาทํางานร่วมกัน คือ

              "Eventual Accuracy"
อย่าลืม Data model
● ในเวลาหนึงๆ ข ้อมูลแต่ละ record ต ้องไม่ซากัน
                                           ้ํ
Data model
● เวลา 1 นาย A อยูกรุงเทพ
                  ่
● เวลา 1 นาย B อยูกรุงเทพ
                    ่
● เวลา 10 นาย A อยูเชียงใหม่
                      ่
Data model
● ข ้อมูลใน Master จะต ้องเพิมเข ้าไปใหม่เสมอ
● ต ้องมีข ้อมูล History ทังหมดเสมอ
   ○ ใช ้ในการวิเคราะห์
   ○ แก ้ไขเมือทํางานผิดพลาด
แนะนํา Storm
● Framework สําหรับการประมวลผลข้อมูลแบบ
  Real time
● Open source
● Free
● http://storm-project.net/
โครงสร้างของ Storm
This is Big Data


You'll never walk alone
Big Data is Art




  Thank you

Big data 101