ปัญหาของ Batch
แนวคิดด้าน Streaming
Mike Metzger
Data Engineer
ความล่าช้า
- เวลารอจนกว่าข้อมูลพร้อมประมวลผล
- ข้อมูลครบทั้งหมดแล้วหรือยัง?
- เวลารอจนกว่ากระบวนการเริ่มต้น
- รอบถัดไปจะเริ่มเมื่อไหร่?
- เวลาที่ใช้ประมวลผลข้อมูล
- เวลารอจนกว่าข้อมูลที่ประมวลผลแล้วพร้อมใช้งาน
- ผู้ใช้จะใช้ข้อมูลได้เมื่อไหร่?
ตัวอย่าง #1
รอข้อมูลต้นทาง
- เครื่องส่งไฟล์ log ในช่วงการใช้งานต่ำ
- ทำงานได้ปกติในช่วงการใช้งานปกติ
- การใช้งานสูงจะจำกัดความสามารถในการส่ง log ซึ่งอาจซ่อนปัญหาไว้
ตัวอย่าง #2
รอกระบวนการประมวลผล
- ไฟล์ log 100GB ต่อวัน
- ปัจจุบันใช้เวลาประมวลผล 23 ชม.
- ประมาณ 4.4GB/ชม.
- เพิ่มขึ้น 5% ต่อเดือน
- เดือนหน้าจะเป็น 105GB และใช้เวลา ~24 ชม.
- เดือนถัดไปจะเป็น ~110GB และใช้เวลา ~25 ชม.
- ใช้เวลามากกว่า 1 วันในการประมวลผลข้อมูลของแต่ละวัน!
ตัวอย่าง #3
รอข้อมูลพร้อมใช้งาน
- ต้องรอนานแค่ไหนกว่า analytics จะพร้อมใช้?
- รายงานการขายต้องรอข้อมูลครบก่อนจึงสร้างได้
- ผลรวมของความล่าช้าคือเวลาขั้นต่ำในการสร้างรายงาน
- เวลาเก็บรวบรวม/เตรียมข้อมูล: 1 วัน
- เวลาประมวลผลข้อมูล: 7 ชม.
- เวลาอัปเดตระบบ: 5 ชม.
- เวลาสร้างรายงาน: 2 นาที
- เวลารวมต่อรายงาน: 1.5 วัน
มาฝึกกันเถอะ!
แนวคิดด้าน Streaming
Preparing Video For Download...