กรณีศึกษา: Streaming Data

Streaming Data ด้วย AWS Kinesis และ Lambda

Maksim Pecherskiy

Data Engineer

บทนี้

  • ส่งข้อมูลที่เข้ามาไปยัง Firehose
  • จัดเก็บข้อมูล
  • แสดงผลข้อมูล
  • ตั้งการแจ้งเตือนแบบ real-time
  • ติดตาม stream
  • ปฏิบัติตามชุดของข้อกำหนด
Streaming Data ด้วย AWS Kinesis และ Lambda

2020-08-11_18-31.png

Streaming Data ด้วย AWS Kinesis และ Lambda

ข้อกำหนด

  • ทวีตต้องมี hashtag #sandiego
  • ทวีตต้องเข้ามาแบบ real-time
  • ทวีตต้องมาพร้อม sentiment ที่วิเคราะห์แล้ว
  • แสดงผลข้อมูลย้อนหลัง 15 นาทีล่าสุด
  • แจ้งเตือนผู้จัดการหากมีทวีตเชิงลบ >3 รายการในช่วง 5 นาที
  • stream ควรลดการสูญหายของข้อมูลจาก downtime
  • ข้อมูลต้องคงอยู่เพื่อวิเคราะห์ในภายหลัง
Streaming Data ด้วย AWS Kinesis และ Lambda

ทวีตเข้ามาแบบ real-time

2020-08-02_08-38.png

Streaming Data ด้วย AWS Kinesis และ Lambda

เสริมด้วย sentiment

Streaming Data ด้วย AWS Kinesis และ Lambda

ข้อมูลต้องคงอยู่เพื่อวิเคราะห์ในภายหลัง

2020-08-02_08-42.png

Streaming Data ด้วย AWS Kinesis และ Lambda

แสดงผลข้อมูล 15 นาทีล่าสุด

2020-08-11_18-44.png

Streaming Data ด้วย AWS Kinesis และ Lambda

Redshift vs Elasticsearch

Redshift

  • ออกแบบมาสำหรับจัดเก็บตารางข้อมูลที่สะอาด
  • กำหนด schema ไว้ในฐานข้อมูล
  • ใช้ SQL ในการคิวรี
  • ทำงานร่วมกับ BI tools อย่าง Tableau ได้ดี

Elasticsearch

  • ไม่มี schema — เหมาะกับ log และข้อความ
  • สร้าง schema ระหว่างการคิวรี
  • ใช้ภาษาคิวรีของตัวเอง
  • มี UI ของตัวเอง — Kibana
Streaming Data ด้วย AWS Kinesis และ Lambda

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

Streaming Data ด้วย AWS Kinesis และ Lambda

Preparing Video For Download...