ปัญหาของ Batch

แนวคิดด้าน Streaming

Mike Metzger

Data Engineer

ความล่าช้า

  • เวลารอจนกว่าข้อมูลพร้อมประมวลผล
    • ข้อมูลครบทั้งหมดแล้วหรือยัง?
  • เวลารอจนกว่ากระบวนการเริ่มต้น
    • รอบถัดไปจะเริ่มเมื่อไหร่?
  • เวลาที่ใช้ประมวลผลข้อมูล
    • เสร็จสิ้นเมื่อไหร่?
  • เวลารอจนกว่าข้อมูลที่ประมวลผลแล้วพร้อมใช้งาน
    • ผู้ใช้จะใช้ข้อมูลได้เมื่อไหร่?
แนวคิดด้าน Streaming

ตัวอย่าง #1

รอข้อมูลต้นทาง

  • เครื่องส่งไฟล์ log ในช่วงการใช้งานต่ำ
  • ทำงานได้ปกติในช่วงการใช้งานปกติ
  • การใช้งานสูงจะจำกัดความสามารถในการส่ง log ซึ่งอาจซ่อนปัญหาไว้
แนวคิดด้าน Streaming

ตัวอย่าง #2

รอกระบวนการประมวลผล

  • ไฟล์ log 100GB ต่อวัน
  • ปัจจุบันใช้เวลาประมวลผล 23 ชม.
  • ประมาณ 4.4GB/ชม.
  • เพิ่มขึ้น 5% ต่อเดือน
  • เดือนหน้าจะเป็น 105GB และใช้เวลา ~24 ชม.
  • เดือนถัดไปจะเป็น ~110GB และใช้เวลา ~25 ชม.
  • ใช้เวลามากกว่า 1 วันในการประมวลผลข้อมูลของแต่ละวัน!
แนวคิดด้าน Streaming

ตัวอย่าง #3

รอข้อมูลพร้อมใช้งาน

  • ต้องรอนานแค่ไหนกว่า analytics จะพร้อมใช้?
  • รายงานการขายต้องรอข้อมูลครบก่อนจึงสร้างได้
  • ผลรวมของความล่าช้าคือเวลาขั้นต่ำในการสร้างรายงาน
    • เวลาเก็บรวบรวม/เตรียมข้อมูล: 1 วัน
    • เวลาประมวลผลข้อมูล: 7 ชม.
    • เวลาอัปเดตระบบ: 5 ชม.
    • เวลาสร้างรายงาน: 2 นาที
  • เวลารวมต่อรายงาน: 1.5 วัน
แนวคิดด้าน Streaming

มาฝึกกันเถอะ!

แนวคิดด้าน Streaming

Preparing Video For Download...