ตัวอย่างสถาปัตยกรรมข้อมูลสมัยใหม่

ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

Miller Trujillo

Senior Software Engineer

Lambda architecture

  • สถาปัตยกรรมการประมวลผลข้อมูล
  • รองรับการประมวลผลชุดข้อมูลขนาดใหญ่
  • รองรับการประมวลผลข้อมูลแบบเรียลไทม์
  • ผสาน batch และ streaming เข้าด้วยกัน
  • 3 เลเยอร์หลัก:
    • Batch layer
    • Speed layer
    • Serving layer

Lambda Architecture ที่ไฮไลต์ batch layer

ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

เลเยอร์ของ Lambda architecture: Batch

Lambda Architecture ที่ไฮไลต์ batch layer

  • Master dataset
    • ข้อมูลที่เปลี่ยนแปลงไม่ได้ (Immutable)
    • เพิ่มข้อมูลได้อย่างเดียว (Append-only)
  • Pre-computed views
  • บัญชีธนาคาร
    • Master dataset: รายการธุรกรรม
    • Views: นำธุรกรรมมาคำนวณเพื่อหายอดคงเหลือ
  • ความถูกต้องสมบูรณ์
ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

เลเยอร์ของ Lambda architecture: Speed

Lambda Architecture ที่ไฮไลต์ speed layer

  • Batch job ทำงานตามตารางเวลาที่กำหนด
  • มีช่องว่างระหว่างข้อมูลที่รู้กับความเป็นจริง
  • Speed layer ช่วยปิดช่องว่างนั้น
  • ความถูกต้องไม่สมบูรณ์ 100%
ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

เลเยอร์ของ Lambda architecture: Serving

Lambda Architecture ที่ไฮไลต์ serving layer

  • รวม batch view และ real-time view เข้าด้วยกัน
  • มุมมองข้อมูลแบบรวมศูนย์
ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

ความซับซ้อนของ Lambda architecture

  • สองเลเยอร์เพิ่มความซับซ้อน
  • Logic โค้ด และอัลกอริทึมที่ซ้ำซ้อน
  • หลาย stack: ทั้ง batch และ streaming
ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

Kappa architecture

Kappa Architecture

ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

Lambda vs. Kappa

ด้าน Lambda Architecture Kappa Architecture
Batch Processing มี ประมวลผลซ้ำจากแหล่ง event
Stream Processing มี มี
ความซับซ้อน สูงกว่า ต่ำกว่า
Real-time Processing ล่าช้าเพราะ batch layer ตรงและกระชับ
Use Cases วิเคราะห์เชิงซับซ้อน ข้อมูลย้อนหลัง Real-time analytics, real-time monitoring
ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

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

ทำความเข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่

Preparing Video For Download...