Kinesis (Data Streams/Firehose)
รับและประมวลผลข้อมูลสตรีมแบบเรียลไทม์
สายพานจะรับของ (ข้อมูล) ที่ไหลมาอย่างไม่ขาดสายตลอดเวลา โดยมีหุ่นยนต์ (แอปพลิเคชัน) คอยหยิบของบนสายพานไปตรวจสอบหรือจัดเก็บ
พื้นฐานที่ควรรู้: ข้อมูลบางประเภทไม่ได้มาเป็นก้อนใหญ่ๆ นานๆ ครั้ง แต่ไหลเข้ามา "ทีละนิด ตลอดเวลา และรวดเร็วมาก" (Streaming Data) เช่น ข้อมูลตำแหน่งรถยนต์, เซนเซอร์ IoT, หรือประวัติการคลิกเว็บ ซึ่งต้องใช้ระบบรับส่งข้อมูลแบบพิเศษ
Amazon Kinesis เป็นบริการสำหรับรับ เก็บ และประมวลผลข้อมูล Streaming ปริมาณมหาศาลแบบเรียลไทม์ (Real-time)
- Kinesis Data Streams (KDS) — ท่อรับสตรีมที่ให้เราเขียนโปรแกรม (Consumer) ไปดึงข้อมูลมาประมวลผลเอง (เก็บ Record ย้อนหลังได้, สั่ง Replay กลับไปอ่านใหม่ได้)
- Kinesis Data Firehose — เครื่องมือดูดและสูบข้อมูลสตรีมส่งไปยังปลายทางแบบอัตโนมัติ (เช่น S3, Redshift, OpenSearch) แบบ Near real-time โดยไม่ต้องเขียนโค้ดทำ Consumer เอง
สรุป Key Takeaways
- Kinesis = ประมวลผลข้อมูล streaming เรียลไทม์
- Data Streams = อ่าน/ประมวลผลเอง (replay ได้); Firehose = โหลดเข้าปลายทางอัตโนมัติ
คำถามที่พบบ่อย
Kinesis Data Streams กับ Firehose ต่างกันยังไง
Streams = real-time (มิลลิวินาที) เราเขียน consumer เอง ประมวลผลแบบ custom ได้ เก็บ replay ได้ ส่วน Firehose = ส่งของเข้าปลายทาง (S3, Redshift, OpenSearch) แบบ near real-time โดยไม่ต้องเขียนโค้ด แปลงข้อมูลระหว่างทางด้วย Lambda ได้ — โจทย์ "โหลดข้อมูล streaming เข้า S3 ง่ายที่สุด" = Firehose, "ประมวลผล real-time เอง" = Streams
Kinesis กับ SQS ต่างกันตรงไหน ทั้งคู่ก็รับข้อความ
Kinesis = สายธารข้อมูลที่ "หลาย consumer อ่านซ้ำได้" ตามลำดับ เก็บย้อนหลัง (replay) — เกิดมาเพื่อ analytics/streaming ส่วน SQS = คิวงานที่ข้อความถูกหยิบแล้วหายไป ทำครั้งเดียว — โจทย์ clickstream/IoT telemetry/log analytics = Kinesis, job queue = SQS
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

