ข้อมูลการสตรีมคืออะไร

ข้อมูลการสตรีมเป็นข้อมูลที่สร้างขึ้นอย่างต่อเนื่องโดยแหล่งข้อมูลนับพันซึ่งตามปกติแล้วจะส่งข้อมูลขนาดเล็ก (ขนาดกิโลไบต์) เข้าไปในบันทึกข้อมูลพร้อมๆ กัน ข้อมูลการสตรีมประกอบไปด้วยข้อมูลต่างๆ หลากหลายประเภท เช่น ไฟล์บันทึกที่ลูกค้าสร้างขึ้นโดยใช้แอปพลิเคชันบนอุปกรณ์เคลื่อนที่หรือเว็บไซต์ของคุณ กิจกรรมการเล่นเกมของผู้เล่น ข้อมูลจากโซเชียลเน็ตเวิร์ค ห้องค้าหลักทรัพย์ หรือบริการเชิงพื้นที่ และ Telemetry จากอุปกรณ์หรือเครื่องมือที่เชื่อมต่อในศูนย์ข้อมูล

ข้อมูลดังกล่าวจะต้องผ่านการประมวลผลตามลำดับอย่างต่อเนื่องโดยประมวลผลทีละบันทึกหรือประมวลผลในหน้าต่างแสดงเวลา Sliding และใช้ในการวิเคราะห์ข้อมูลหลากหลาย เช่น สหสัมพันธ์ การรวบรวม การกรอง และการสุ่มตัวอย่าง ข้อมูลที่ได้จากการวิเคราะห์ดังกล่าวช่วยให้บริษัทต่างๆ เข้าใจธุรกิจและกิจกรรมของลูกค้าในหลายๆ ด้าน เช่น การใช้บริการ (เพื่อวัดผลหรือเรียกเก็บเงิน) กิจกรรมของเซิร์ฟเวอร์ การคลิกเว็บไซต์ และพิกัดของอุปกรณ์ บุคคล และสินค้าที่จับต้องได้ อีกทั้งช่วยให้บริษัทรับมือกับสถานการณ์ที่เกิดขึ้นได้ทันที ตัวอย่างเช่น ธุรกิจสามารถติดตามการเปลี่ยนแปลงความรู้สึกที่คนอื่นๆ มีต่อแบรนด์และผลิตภัณฑ์ของตนได้โดยวิเคราะห์สตรีมบนโซเชียลมีเดียอย่างต่อเนื่องและรับมือกับความรู้สึกเหล่านั้นอย่างทันทีท่วงทีเมื่อถึงคราวจำเป็น

ประโยชน์ของข้อมูลการสตรีม

การประมวลผลข้อมูลการสตรีมมีประโยชน์ในกรณีส่วนใหญ่ซึ่งมีการสร้างข้อมูลใหม่แบบไดนามิกอย่างต่อเนื่อง กลุ่มอุตสาหกรรมส่วนใหญ่และวงการที่ต้องใช้ข้อมูลขนาดใหญ่ล้วนแล้วแต่ใช้การประมวลผลข้อมูลการสตรีมทั้งสิ้น โดยทั่วไปแล้ว บริษัทต่างๆ เริ่มต้นด้วยการใช้แอปพลิเคชันง่ายๆ เช่น บันทึกระบบการรวบรวมข้อมูล และการประมวลผลขั้นพื้นฐาน เช่น การคำนวณค่าต่ำสุด-สูงสุดแบบ Rolling เป็นต้น จากนั้นแอปพลิเคชันเหล่านี้ก็พัฒนาไปจนสามารถประมวลผลข้อมูลที่มีความซับซ้อนมากขึ้นในแบบเกือบจะเรียลไทม์ได้ แต่เดิม แอปพลิเคชันอาจประมวลผลสตรีมข้อมูลเพื่อสร้างรายงานง่ายๆ และตอบสนองง่ายๆ เช่น ส่งการแจ้งเตือนเมื่อตัววัดหลักๆ เลยเกณฑ์ที่กำหนดไว้ ทุกวันนี้ แอปพลิเคชันดังกล่าวสามารถวิเคราะห์ข้อมูลได้ในแบบที่ซับซ้อนกว่าเดิม เช่น ใช้อัลกอริทึม Machine Learning และดึงข้อมูลเชิงลึกออกมาจากข้อมูลดังกล่าว เมื่อเวลาผ่านไปก็มีการใช้อัลกอริทึมการประมวลผลสตรีมและเหตุการณ์ที่ซับซ้อน เช่น หน้าต่างแสดงระยะเวลาในการสูญเสียความนิยมเพื่อค้นหาภาพยนตร์ล่าสุดที่ได้รับความนิยม อัลกอริทึมดังกล่าวช่วยให้ได้ข้อมูลเชิงลึกที่ลึกยิ่งขึ้น

ตัวอย่างของข้อมูลการสตรีม

  • เซ็นเซอร์ในยานพาหนะขนส่ง เครื่องมือทางอุตสาหกรรม และเครื่องจักรที่ใช้ในไร่จะส่งข้อมูลไปยังแอปพลิเคชันการสตรีม จากนั้นแอปพลิเคชันก็จะคอยติดตามประสิทธิภาพการทำงาน ตรวจหาสิ่งที่อาจเป็นข้อบกพร่องล่วงหน้า และสั่งซื้ออะไหล่สำรองโดยอัตโนมัติเพื่อป้องกันไม่ให้มีช่วงดาวน์ไทม์
  • สถาบันทางการเงินจะคอยติดตามการเปลี่ยนแปลงของตลาดหุ้นในแบบเรียลไทม์ คำนวณมูลค่าความเสี่ยง และสร้างสมดุลให้พอร์ตโดยอัตโนมัติโดยอิงจากการขึ้นลงของราคาหุ้น
  • เว็บไซต์อสังหาริมทรัพย์จะคอยติดตามชุดย่อยของข้อมูลจากอุปกรณ์เคลื่อนที่ของผู้บริโภคและให้คำแนะนำแบบเรียลไทม์เกี่ยวกับอสังหาริมทรัพย์ที่จะควรเยี่ยมชมโดยอิงจากพิกัดของผู้บริโภค
  • บริษัทผลิตไฟฟ้าพลังแสงอาทิตย์ต้องรักษาระดับของปริมาณพลังงานไฟฟ้าให้ลูกค้า มิฉะนั้นก็จะต้องเสียค่าปรับ บริษัทได้ใช้แอปพลิเคชันข้อมูลการสตรีมที่คอยติดตามแผงเซลล์สุริยะทุกแผงในทุ่ง และกำหนดเวลาการให้บริการแบบเรียลไทม์ ทำให้ช่วงเวลาที่ปริมาณพลังงานไฟฟ้าจากแผงเซลล์สุริยะแต่ละแผงลดลงต่ำมีไม่มากและสามารถลดการชำระเงินค่าปรับที่เกิดจากปัญหาดังกล่าวได้
  • ผู้เผยแพร่สื่อจะสตรีมบันทึกคลิกสตรีมหลายร้านรายการจากทรัพย์สินที่ตนมีอยู่บนอินเทอร์เน็ต รวมถึงรวบรวมและปรับปรุงข้อมูลด้วยข้อมูลทางประชากรศาสตร์เกี่ยวกับผู้ใช้และเพิ่มประสิทธิภาพให้กับการจัดวางเนื้อหาบนเว็บไซต์ ทำให้มอบประสบการณ์การใช้งานที่ดีกว่าและตรงกับความต้องการของกลุ่มเป้าหมายมากขึ้น
  • บริษัทเกมออนไลน์จะเก็บรวบรวมข้อมูลการสตรีมเกี่ยวกับปฏิสัมพันธ์ระหว่างผู้เล่นและเกม และป้อนข้อมูลดังกล่าวเข้าไปในแพลตฟอร์มเกม จากนั้นแพลตฟอร์มเกมก็จะวิเคราะห์ข้อมูลแบบเรียลไทม์ มอบสิ่งจูงใจและประสบการณ์การเล่นเกมแบบไดนามิกเพื่อดึงดูดให้ผู้เล่นกลับมาเล่นเกมอีก

การเปรียบเทียบการประมวลผลเป็นชุดกับการประมวลผลสตรีม

ก่อนจะพูดถึงข้อมูลการสตรีม เราควรเปรียบเทียบความเหมือนและความต่างของการประมวลผลสตรีมกับการประมวลผลเป็นชุด เราสามารถใช้การประมวลผลเป็นชุดเพื่อประมวลผลการสืบค้นแบบ Arbitrary Query กับชุดข้อมูลต่างๆ ได้ โดยปกติแล้ว การประมวลผลเป็นชุดจะประมวลผลลัพธ์ที่ได้จากข้อมูลทั้งหมดที่ผ่านการประมวลผลดังกล่าว และจะช่วยให้วิเคราะห์ชุดข้อมูลขนาดใหญ่ในเชิงลึกได้ ระบบที่อิงตาม MapReduce เช่น Amazon EMR เป็นตัวอย่างของแพลตฟอร์มที่รองรับงานที่ต้องประมวลผลเป็นชุด ในทางกลับกัน การประมวลผลสตรีมจะใช้การนำเข้าข้อมูลเป็นลำดับ และอัปเดตตัววัด รายงาน กับข้อมูลสรุปเป็นสถิติอย่างสม่ำเสมอเมื่อจัดการกับบันทึกข้อมูลที่นำเข้ามา การประมวลผลดังกล่าวจึงเหมาะกับการติดตามข้อมูลและตอบสนองต่อเหตุการณ์ในแบบเรียลไทม์มากกว่า


  การประมวลผลเป็นชุด การประมวลผลสตรีม
ขอบเขตข้อมูล การสืบค้นหรือประมวลผลข้อมูลทั้งหมดหรือข้อมูลส่วนใหญ่ในชุดข้อมูล การสืบค้นหรือประมวลผลข้อมูลภายในหน้าต่างแสดงเวลา Rolling หรือในบันทึกข้อมูลล่าสุด
ขนาดของข้อมูล
ข้อมูลชุดใหญ่
บันทึกแต่ละรายการหรือชุดข้อมูลขนาดเล็กที่มีบันทึกเพียงไม่กี่รายการ
ประสิทธิภาพ ความล่าช้ามีตั้งแต่ระดับนาทีไปจนถึงระดับชั่วโมง ต้องทำงานล่าช้าในระดับวินาทีหรือมิลลิวินาทีอย่างหลีกเลี่ยงไม่ได้
การวิเคราะห์ การวิเคราะห์ข้อมูลที่ซับซ้อน ฟังก์ชันโต้ตอบที่ไม่ซับซ้อน ข้อมูลรวม และตัววัด Rolling

 

หลายๆ องค์กรกำลังสร้างโมเดลแบบไฮบริดโดยรวมการประมวลผลทั้ง 2 แบบเข้าไว้ด้วยกันและรักษาเลเยอร์แบบเรียลไทม์กับเลเยอร์แบบชุด อันดับแรก ข้อมูลจะได้รับการประมวลผลโดยแพลตฟอร์มข้อมูลการสตรีม เช่น Amazon Kinesis เพื่อดึงข้อมูลเชิงลึกออกมาแบบเรียลไทม์ จากนั้นจึงป้อนข้อมูลเข้าไปในร้านค้า เช่น S3 ซึ่งอาจมีการแปลงและโหลดข้อมูลสำหรับกรณีการใช้งานต่างๆ มากมายที่ต้องใช้การประมวลผลเป็นชุด

ความท้าทายในการทำงานกับข้อมูลการสตรีม

การประมวลผลข้อมูลจะต้องใช้ 2 เลเยอร์ คือ เลเยอร์การจัดเก็บข้อมูล และเลเยอร์การประมวลผล เลเยอร์การจัดเก็บข้อมูลต้องรองรับการจัดเรียงบันทึกและความสม่ำเสมอเป็นอย่างมากเพื่อให้อ่านและบันทึกค่าสตรีมข้อมูลขนาดใหญ่ได้อย่างรวดเร็ว เสียค่าใช้จ่ายไม่มาก และเล่นซ้ำได้ เลเยอร์การประมวลผลจะใช้ข้อมูลจากเลเยอร์การจัดเก็บข้อมูล คำนวณข้อมูลดังกล่าว แล้วจึงแจ้งเลเยอร์การจัดเก็บข้อมูลให้ลบข้อมูลที่ไม่ต้องใช้แล้ว นอกจากนี้คุณยังต้องวางแผนในส่วนความสามารถในการปรับขนาดตามความต้องการ ความคงทนของข้อมูล และการคงทนต่อความเสียหายในเลเยอร์การจัดเก็บข้อมูลกับเลเยอร์การประมวลผลด้วย ผลลัพธ์ก็คือมีหลายแพลตฟอร์มเกิดขึ้นซึ่งมีโครงสร้างพื้นฐานที่จำเป็นต่อการสร้างแอปพลิเคชันข้อมูลการสตรีม เช่น Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose, Amazon Managed Streaming for Apache Kafka (Amazon MSK), Apache Flume, Apache Spark Streaming และ Apache Storm เป็นต้น

การทำงานกับข้อมูลการสตรีมบน AWS

Amazon Web Services (AWS) มีตัวเลือกในการทำงานกับข้อมูลการสตรีมอยู่หลายตัวเลือก คุณสามารถใช้ประโยชน์จากบริการข้อมูลการสตรีมที่ได้รับการจัดการของ Amazon Kinesis หรือจะใช้และจัดการโซลูชันข้อมูลการสตรีมของคุณเองในระบบคลาวด์บน Amazon EC2 ก็ได้

Amazon Kinesis เป็นแพลตฟอร์มสำหรับข้อมูลการสตรีมบน AWS ซึ่งมีบริการที่มีประสิทธิภาพ บริการเหล่านี้ช่วยให้โหลดและวิเคราะห์ข้อมูลการสตรีมได้ไม่ยาก นอกจากนี้แพลตฟอร์มดังกล่าวยังช่วยให้คุณสร้างแอปพลิเคชันข้อมูลการสตรีมแบบกำหนดเองได้เมื่อต้องการใช้งานเฉพาะทาง โดยมีบริการสามอย่างด้วยกันคือ: Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams และ Amazon Managed Streaming for Apache Kafka (Amazon MSK)

นอกจากนี้ คุณยังสามารถเรียกใช้แพลตฟอร์มข้อมูลการสตรีมอื่นๆ บน Amazon EC2 และ Amazon EMR ได้อีกด้วย เช่น Apache Flume, Apache Spark Streaming, และ Apache Storm

Amazon Kinesis Data Streams

Amazon Kinesis Data Streams ช่วยให้คุณสร้างแอปพลิเคชันของคุณเองที่ประมวลผลหรือวิเคราะห์ข้อมูลการสตรีมได้เมื่อต้องการใช้งานเฉพาะทาง บริการนี้จะบันทึกและจัดเก็บข้อมูลหลายเทระไบต์ต่อชั่วโมงจากแหล่งข้อมูลเป็นแสนๆ อย่างต่อเนื่อง จากนั้นคุณก็สามารถสร้างแอปพลิเคชันที่ใช้ข้อมูลจาก Amazon Kinesis Data Streams ในการขับเคลื่อนแดชบอร์ดแบบเรียลไทม์ สร้างการแจ้งเตือน ใช้ราคาและการลงโฆษณาแบบไดนามิก และอื่นๆ ได้ Amazon Kinesis Data Streams รองรับเฟรมเวิร์กการประมวลผลสตรีมตามความต้องการของคุณซึ่งรวมถึง Kinesis Client Library (KCL), Apache Storm และ Apache Spark Streaming

เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon Kinesis Data Streams »

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose คือวิธีที่ง่ายที่สุดในการโหลดข้อมูลการสตรีมไปยัง AWS บริการนี้สามารถบันทึกและโหลดข้อมูลการสตรีมเข้าไปใน Amazon S3 และ Amazon Redshift ได้โดยอัตโนมัติ ส่งผลให้วิเคราะห์ข้อมูลแบบเกือบจะเรียลไทม์ด้วยเครื่องมือวิเคราะห์ข้อมูลทางธุรกิจและแดชบอร์ดที่คุณใช้งานอยู่ทุกวันนี้ได้ บริการดังกล่าวช่วยให้คุณใช้ขั้นตอน ELT และใช้ประโยชน์จากข้อมูลการสตรีมได้อย่างรวดเร็ว

เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon Kinesis Data Firehose »

Amazon Managed Streaming for Apache Kafka (Amazon MSK)

Amazon MSK เป็นบริการที่มีการจัดการเต็มรูปแบบที่ช่วยให้คุณสร้างและเรียกใช้แอปพลิเคชันที่ใช้ Apache Kafka ในการประมวลผลข้อมูลการสตรีมได้ง่ายยิ่งขึ้น Apache Kafka เป็นแพลตฟอร์มโอเพนซอร์สสำหรับการสร้างไปป์ไลน์และแอปพลิเคชันข้อมูลการสตรีมแบบเรียลไทม์ ด้วย Amazon MSK คุณจะสามารถใช้ Apache Kafka API แบบเนทีฟเพื่อใส่ข้อมูล Data Lake ตลอดจนสตรีมการเปลี่ยนแปลงไปยังและจากฐานข้อมูล และเพิ่มประสิทธิภาพของการใช้แอปพลิเคชันแมชชีนเลิร์นนิ่งและการวิเคราะห์ได้

เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon MSK »

โซลูชันการสตรีมอื่นๆ บน Amazon EC2

คุณสามารถติดตั้งแพลตฟอร์มข้อมูลการสตรีม Amazon EC2 และ Amazon EMR ได้ตามความต้องการ และสร้างเลเยอร์การจัดเก็บและประมวลผลข้อมูลสตรีมของคุณเองได้ เมื่อสร้างโซลูชันข้อมูลการสตรีมของคุณเองบน Amazon EC2 และ Amazon EMR ก็สามารถหลีกเลี่ยงความไม่ต่อเนื่องของการจัดหาโครงสร้างพื้นฐานได้ ทั้งยังเข้าถึงเฟรมเวิร์กการจัดเก็บและประมวลผลสตรีมต่างๆ มากมายได้ ตัวเลือกสำหรับเลเยอร์การจัดเก็บข้อมูลการสตรีม เช่น Amazon MSK และ Apache Flume ตัวเลือกสำหรับเลเยอร์การประมวลผลสตรีม ได้แก่ Apache Spark Streaming และ Apache Storm

ขั้นตอนถัดไป

  • เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon MSK
  • เรียนรู้เพิ่มเติมเกี่ยวกับ Amazon Kinesis
  • เรียนรู้เกี่ยวกับบริการด้านBig Dataของ AWS
  • ลองดู Apache Spark ในหน้า Amazon EMR
  • เปลี่ยนข้อมูลการสตรีมของคุณเป็นข้อมูลเชิงลึกด้วยการคลิกเพียงไม่กี่ครั้งโดยใช้ Amazon Kinesis Data Firehose และ Amazon Redshift
ลงชื่อสมัครใช้งาน Free Tier
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที 

ลงชื่อสมัครใช้งาน 
เริ่มต้นสร้างใน Amazon Kinesis Console
เริ่มต้นสร้างใน Console

เริ่มต้นสร้างด้วย Amazon Kinesis ใน AWS Management Console

ลงชื่อเข้าใช้