ความรู้พื้นฐาน Stream หมายถึงการประมวลผลสตรีมเป็นเทคโนโลยีข้อมูลจำนวนมากมายมหาศาล ใช้เพื่อค้นกระแสข้อมูลโดยตลอดแล้วก็ค้นหาข้อจำกัดอย่างเร็วภายในช่วงระยะเวลาอันสั้นภายหลังจากได้รับข้อมูล เวลาสำหรับเพื่อการตรวจค้นจะต่างๆนาๆตั้งแต่ไม่ลลิวินาทีจนกระทั่งนาที เช่น คุณสามารถใช้การประเมินผลสตรีมเพื่อรับการแจ้งเตือนเมื่ออุณหภูมิถึงจุดที่ทำให้เป็นน้ำแข็งแล้วก็ค้นหาสตรีมข้อมูลที่ได้มาจากเซ็นเซอร์อุณหภูมิ
มีการเรียกชื่อต่างๆอาทิเช่น การวิเคราะห์แบบเรียลไทม์ การวิเคราะห์การสตรีม การประมวลผลเรื่องที่สลับซับซ้อน การวิเคราะห์การสตรีมแบบเรียลไทม์ แล้วก็การประมวลผลเรื่อง ในสมัยก่อนมีสิ่งที่แตกต่างบางประการ แต่ว่าขณะนี้ วัสดุ (เฟรมเวิร์ก) กำลังเดินทางมาบรรจบกันภายใต้การประมวลผลสตรีมระยะ (มองปัญหา Quora นี้สำหรับรายการกรอบงานและก็ส่วนท้ายที่สุดของเนื้อหานี้สำหรับความเป็นมา) บาคาร่า
Apache Storm เป็นที่นิยมในฐานะ “เทคโนโลยีซึ่งสามารถสร้างผลสรุปได้เร็วขึ้นในขณะเป็นเทคโนโลยีอย่าง Hadoop” และก็ถัดมาถูกเอาไปใช้เป็นเทคโนโลยีข้อมูลจำนวนมากมายมหาศาล ตอนนี้มีผู้สมัครไม่น้อยเลยทีเดียว
ร่วมกับการศึกษาของเครื่องและก็การประมวลผลการสตรีมแบบไม่มีเซิร์ฟเวอร์ ดูเหมือนจะยอดเยี่ยมในประเด็นที่รุนแรงที่สุดในตอนนี้ บริษัทจำนวนมากกำลังนำเครื่องไม้เครื่องมือประเมินผลสตรีมล่าสุดมาใช้ ผู้ให้บริการกำลังเปิดตัวสินค้าประเมินผลสตรีมที่ดียิ่งขึ้นรวมทั้งมีคุณภาพเพิ่มขึ้น รวมทั้งสิ่งที่มีความต้องการสำหรับมือโปรก็มากขึ้น
เนื้อหานี้จะเสนอแนะคุณเกี่ยวกับฐานรากของการประมวลผลสตรีม ลำดับแรก ฉันจะชี้แจงว่าเพราะเหตุใดก็เลยจะต้องมีการประมวลผลสตรีมรวมทั้งการทำงานข้างใน ตั้งแต่นี้ต่อไปจะชี้แจงแนวทางสร้างแอปพลิเคชันการประมวลผลสตรีมแบบกระจัดกระจายที่ง่ายแล้วก็ปรับขนาดได้ คุณสามารถทำเป็นทั้งสิ้นด้วยรหัสน้อยกว่า 40 บรรทัด สล็อต
การประมวลผลสตรีมเป็นหัวข้อขนาดใหญ่ ฉะนั้นเนื้อหานี้จะย้ำที่ส่วนการจัดการข้อมูลเป็นหลัก แล้วก็การประมวลผลระดับสูงจะพูดถึงในบทความแยกต่างหาก เพื่อบทความมีประโยชน์เยอะขึ้น พวกเรากำลังเอ่ยถึง AWS Kinesis ซึ่งเป็นโซลูชันการประมวลผลสตรีมของ Amazon แต่ว่าพวกเรายังคือเทคโนโลยีโอเพ่นซอร์สยอดฮิตอื่นๆเพื่อคุณได้มุมมองที่กว้างขึ้น
เพื่อทำความเข้าใจว่าเพราะอะไรการประมวลผลสตรีมก็เลยเกิดขึ้น ให้มองขั้นตอนการประมวลผลข้อมูลก่อนหน้านี้ที่ผ่านมา ในหนทางก่อนหน้าที่ผ่านมาที่เรียกว่าการประเมินผลแบบกางตช์ ข้อมูลทั้งปวงถูกเก็บเอาไว้ในฐานข้อมูลหรือระบบไฟล์แบบกระจัดกระจาย แล้วก็แอปพลิเคชันต่างๆจะใช้ข้อมูลนี้สำหรับการคำนวณ เนื่องมาจากอุปกรณ์การประมวลผลแบบกางตช์ถูกทำขึ้นเพื่อประเมินผลชุดข้อมูลที่มีขนาดจำกัด แอปพลิเคชันสามารถประมวลผลข้อมูลเป็นช่วงๆสำหรับระยะเวลาปัจจุบัน ยกตัวอย่างเช่น หนึ่งชั่วโมงหรือหนึ่งวัน เพื่อประมวลผลข้อมูลใหม่อย่างสม่ำเสมอ เพื่อประเมินผล
เพื่อทำความเข้าใจว่าเพราะอะไรการประมวลผลสตรีมก็เลยเกิดขึ้น ให้มองกรรมวิธีการประมวลผลข้อมูลที่ผ่านมา ในวิถีทางที่ผ่านมาที่เรียกว่าการประเมินผลแบบกางตช์ ข้อมูลทั้งหมดทั้งปวงถูกเก็บเอาไว้ในฐานข้อมูลหรือระบบไฟล์แบบกระจัดกระจาย และก็แอปพลิเคชันต่างๆจะใช้ข้อมูลนี้สำหรับในการคำนวณ เนื่องจากว่าอุปกรณ์การประมวลผลแบบกางตช์ถูกทำขึ้นเพื่อประเมินผลชุดข้อมูลที่มีขนาดจำกัด แอปพลิเคชันสามารถประมวลผลข้อมูลเป็นช่วงๆสำหรับขณะปัจจุบัน ได้แก่ หนึ่งชั่วโมงหรือหนึ่งวัน เพื่อประมวลผลข้อมูลใหม่อย่างสม่ำเสมอ เพื่อประเมินผล คาสิโนออนไลน์
Big dataได้สร้างคุณประโยชน์ของข้อมูลเชิงลึกที่ได้รับจากการประมวลผลข้อมูล ข้อมูลเชิงลึกดังที่กล่าวมาแล้วมิได้ถูกทำขึ้นในลักษณะเดียวกันทั้งผอง ข้อมูลเชิงลึกบางสิ่งมีค่ามากยิ่งกว่าโดยทันทีภายหลังที่เกิดขึ้น รวมทั้งราคาจะต่ำลงอย่างเร็วเมื่อเวลาผ่านไป การสตรีมช่วยทำให้กำเนิดเหตุการณ์ดังที่ได้กล่าวมาแล้วรวมทั้งชอบให้ข้อมูลเชิงลึกเร็วขึ้น ด้านในไม่ลลิวินาทีถึงวินาทีของทริกเกอร์
ข้างล่างนี้เป็นเหตุผลรองบางประการสำหรับในการใช้การประเมินผลสตรีม
เหตุผลที่ 1: ข้อมูลอะไรบางอย่างเกิดขึ้นตามธรรมชาติเป็นกระแสของเรื่องราวที่ไม่สิ้นสุด สำหรับในการประเมินผลแบบกรุ๊ป คุณจะต้องบันทึกข้อมูล หยุดเก็บรวบรวมข้อมูลในบางจุด และก็ประมวลผลข้อมูล แล้วหลังจากนั้นคุณจำต้องรันชุดงานต่อไป แล้วหนักใจเกี่ยวกับการรวมที่ครอบคลุมหลายชุด ตรงกันข้าม การสตรีมจะจัดแจงสตรีมข้อมูลที่ไม่สิ้นสุดได้อย่างงดงามและก็เป็นธรรมชาติ คุณสามารถตรวจค้นแบบ พิจารณาผล มองระดับการจุดโฟกัสหลายระดับ และก็มองข้อมูลที่ได้รับมาจากสตรีมหลายรายการพร้อมได้ไม่ยาก สล็อต
การสตรีมจะปรับตามข้อมูลอันดับเวลาและก็ตรวจหาแบบเมื่อเวลาผ่านไป ยกตัวอย่างเช่น ถ้าเกิดคุณกำลังเพียรพยายามค้นหาความยาวของเซสชันเว็บไซต์ในสตรีมที่ไม่จบไม่สิ้น (นี่เป็นแบบอย่างของการพยายามค้นหาลำดับ) บางเซสชันแบ่งได้เป็นสองชุด slotxo ซึ่งทำให้เรียกใช้เป็นกรุ๊ปได้ยาก การประมวลผลสตรีมสามารถจัดแจงสิ่งนี้ได้ง่ายๆ
แม้คุณถอยหนึ่งก้าว ชุดข้อมูลที่ตลอดที่สุดเป็นข้อมูลอันดับเวลา ยกตัวอย่างเช่น เซ็นเซอร์การจราจร เซ็นเซอร์สุขภาพ บันทึกธุรกรรม และก็บันทึกกิจกรรม ข้อมูล IoT แทบทั้งหมดเป็นข้อมูลอันดับเวลา โดยเหตุนี้ก็เลยสมควรที่จะใช้โมเดลการเขียนโปรแกรมที่เหมาะสมกับธรรมชาติ
เหตุผลที่ 2: สำหรับเพื่อการประเมินผลแบบกรุ๊ป ข้อมูลจะถูกสะสมรวมทั้งประเมินผลพร้อม แต่ว่าสำหรับในการประเมินผลแบบสตรีม ข้อมูลจะถูกประเมินผลครั้งใดก็ตามนำข้อมูลใส่ ด้วยเหตุผลดังกล่าวการประมวลผลก็เลยถูกกระจัดกระจายไปตามขณะ โดยเหตุนี้ การประมวลผลแบบสตรีมสามารถดำเนินการบนอุปกรณ์น้อยกว่าการประมวลผลแบบกางตช์ ยิ่งกว่านั้น บาคาร่า การประมวลผลแบบสตรีมยังช่วยทำให้ประเมินผลการค้นหาข้อมูลคร่าวๆโดยมีข้อจำกัดการโหลดอย่างมีระบบ ด้วยเหตุนี้ การประมวลผลสตรีมก็เลยเหมาะสมกับกรณีการใช้แรงงานที่คำตอบอย่างคร่าวๆก็พอเพียงแล้ว
เหตุผลที่ 3: ข้อมูลอาจมีขนาดใหญ่และไม่สามารถบันทึกได้ การสตรีมช่วยทำให้คุณสามารถประมวลผลข้อมูลแบบม้าไฟขนาดใหญ่รวมทั้งเก็บเฉพาะบิตที่เป็นประโยชน์เพียงแค่นั้น
เหตุผลที่ 4: ท้ายที่สุด มีข้อมูลการสตรีมไม่น้อยเลยทีเดียว (ธุรกรรมของลูกค้า กิจกรรม การเยี่ยมเยียนดูเว็บ อื่นๆอีกมากมาย) ที่เติบโตเร็วขึ้นในกรณีการใช้แรงงาน IoT (เซ็นเซอร์ทุกจำพวก) คาสิโนออนไลน์ การสตรีมเป็นแบบที่เป็นธรรมชาติเพิ่มมากขึ้นในการคิดและก็การเขียนโปรแกรมกรณีการใช้แรงงานพวกนี้
แต่ การประมวลผลสตรีมก็ไม่ใช่วัสดุสำหรับกรณีการใช้แรงงานทั้งสิ้นเช่นเดียวกัน กฎกล้วยๆอย่างหนึ่งเป็นการสตรีมนั้นไม่สบายถ้าเกิดกรรมวิธีอยากได้ข้อมูลที่บริบูรณ์บ่อยหรือแม้มีการเข้าถึงแบบสุ่ม (มีความรู้สึกว่าเป็นชุดข้อมูลแผนภูมิ) กรณีการใช้แรงงานที่สำคัญอย่างหนึ่งที่ขาดสำหรับการสตรีมเป็นอัลกอริธึมการศึกษาของเครื่องสำหรับโมเดลการฝึกอบรม UFABET ในทางตรงกันข้าม ถ้าแนวทางการสามารถทำได้ด้วยทางข้อมูลเดียว หรือแม้เป็นแนวทางการด้านในชั่วครั้งคราว (กรรมวิธีการมีลักษณะท่าทางที่จะเข้าถึงข้อมูลที่ล้ำสมัย) ก็เหมาะกับการสตรีม
ถ้าคุณอยากได้สร้างแอปที่ประมวลผลข้อมูลการสตรีมแล้วก็ทำตกลงใจแบบเรียลไทม์ คุณสามารถใช้เครื่องไม้เครื่องมือหรือสร้างของคุณเองได้ คำตอบขึ้นกับความสลับซับซ้อนที่คุณคิดแผนจะประเมินผล ระดับของการปรับขนาด ความน่าวางใจและก็ความคงทนต่อจุดบกพร่องที่คุณปรารถนา และก็อื่นๆ
ถ้าหากคุณอยากสร้างแอปด้วยตนเอง ให้วางกิจกรรมในประเด็นตัวรับส่งข้อความ (ActiveMQ, RabbitMQ, Kafka ฯลฯ) เขียนรหัสเพื่อรับกิจกรรมจากหัวข้อคนกลาง (สตรีมเปลี่ยนเป็นสตรีม) และก็จัดแจงผลสรุป . ฉันจะเผยแพร่ไปยัง รหัสดังที่กล่าวมาแล้วเรียกว่านักแสดง
แม้กระนั้น แทนที่จะเข้ารหัสเหตุการณ์ข้างต้นตั้งแต่ต้น คุณสามารถทุ่นเวลาได้โดยใช้เฟรมเวิร์กการประมวลผลสตรีม ตัวประเมินผลสตรีมเรื่องราวช่วยทำให้คุณเขียนตรรกะสำหรับดาราหนังแต่ละคน เชื่อมต่อผู้แสดง รวมทั้งเชื่อมต่อขอบกับแหล่งข้อมูล เหตุสามารถส่งโดยตรงไปยังตัวประเมินผลสตรีมหรือผ่านคนกลาง
ตัวประเมินผลสตรีมเรื่องราวปฏิบัติงานที่ยากโดยการรวบรวมข้อมูล ส่งข้อมูลไปยังดาราหนังแต่ละคน สำรวจการปฏิบัติงานเป็นลำดับที่ถูก เก็บคำตอบ ปรับขนาดภายใต้ภาระหน้าที่ที่เอาจริงเอาจัง แล้วก็การจัดการกับความไม่ประสบผลสำเร็จ แบบอย่าง ยกตัวอย่างเช่น Storm, Flink รวมทั้ง Samza แม้คุณปรารถนาสร้างแอปด้วยวิธีแบบนี้ ให้วิเคราะห์คู่มือผู้ใช้แต่ละฉบับ
ตั้งแต่ปี 2016 แนวความคิดใหม่ที่เรียกว่า Streaming SQL ได้เกิดขึ้น (มองบทความ Streaming SQL 101 สำหรับรายละเอียดต่างๆนอกเหนือจากนี้) ภาษาที่ผู้ใช้สามารถเขียน SQL ดังเช่นว่า เคียวรีที่ค้นหาข้อมูลการสตรีม เรียกว่าภาษา “streaming SQL” ภาษา SQL สตรีมมิ่งจำนวนไม่น้อยกำลังเติบโต JOKER GAMING
รองรับ SQL มานานกว่า 5 ปีในแผนการต่างๆดังเช่น WSO2 Stream Processor และก็ SQL Streams
Apache Storm เพิ่มการรอคอยงรับการสตรีม SQL ในปี 2559
Apache Flink ได้เพิ่มการรอคอยงรับการสตรีม SQL ตั้งแต่ปี 2016
Apache Kafka เพิ่มการรอคอยงรับ SQL (ซึ่งพวกเขาเรียกว่า KSQL) ในปี 2560
Apache Samza เพิ่มการรอคอยงรับ SQL ในปี 2560
ภาษา Streaming SQL ช่วยทำให้นักปรับปรุงสามารถรวมการค้นหาข้อมูลแบบสตรีมลงในแอพของพวกเขาได้อย่างเร็ว ด้านในปี 2018 สตรีมโปรเซสเซอร์จำนวนมากจะรองรับการประมวลผลข้อมูลผ่านภาษา SQL สำหรับในการสตรีม
ทำความเข้าใจว่า SQL จับคู่กับสตรีมอปิ้งไร สตรีมกำลังย้ายข้อมูลตาราง พินิจพิเคราะห์ตารางที่ไม่จบไม่สิ้นซึ่งมีข้อมูลใหม่ปรากฏขึ้นเมื่อเวลาผ่านไป สตรีมเป็นตารางดังที่กล่าวผ่านมาแล้ว หนึ่งทะเบียนหรือแถวในสตรีมเรียกว่าเรื่อง แต่ มีสคีมาแล้วก็ดำเนินการราวกับแถวฐานข้อมูล การพูดคุยกันของ Tyler Akidau ที่ Strata เป็นแหล่งข้อมูลที่ดีสำหรับในการทำความเข้าใจแนวความคิดกลุ่มนี้
อย่างแรกที่คุณจำเป็นต้องรู้เรื่องเกี่ยวกับ SQL สตรีมเป็น แทนที่ตารางด้วยสตรีม
เมื่อคุณสร้างแบบสำรวจ SQL คุณจะค้นหาข้อมูลที่จัดเก็บเอาไว้ภายในฐานข้อมูล แต่ เมื่อคุณสร้างการค้นหาข้อมูล SQL แบบสตรีม คุณไม่เฉพาะแต่เขียนลงในข้อมูลในอนาคตแค่นั้น แม้กระนั้นยังรวมทั้งข้อมูลปัจจุบันนี้ด้วย เพราะฉะนั้น การสตรีมแบบสำรวจ SQL ไม่สิ้นสุด โน่นคือปัญหาหรือเปล่า? ไม่ ผลของการค้นหาพวกนี้เป็นสตรีม เพราะฉะนั้นมันก็เลยใช้งานได้ เมื่อเรื่องตรงกันรวมทั้งเรื่องราวเอาต์พุตพร้อมใช้งานในทันที เรื่องราวจะถูกวางในสตรีมเอาต์พุต JOKER
สตรีมแสดงถึงเรื่องทั้งสิ้นซึ่งสามารถผ่านช่องสัญญาณแบบลอจิคัลและไม่จบ อย่างเช่น ถ้าหากหม้อละอองน้ำของคุณมีเซ็นเซอร์อุณหภูมิ คุณสามารถแสดงเอาต์พุตจากเซ็นเซอร์เป็นสตรีมได้ อย่างไรก็แล้วแต่ SQL แบบเริ่มแรกจะจับ ประเมินผล แล้วก็เขียนข้อมูลที่จัดเก็บเอาไว้ในตารางฐานข้อมูล แม้กระนั้นการค้นหาข้อมูลข้างต้นจะเก็บสตรีมข้อมูลเมื่อมีการเพิ่มแล้วก็สร้างสตรีมข้อมูลเป็นเอาต์พุต อาทิเช่น สมมุติว่ามีเรื่องราวในกระแสหม้อละอองน้ำทุกๆ10 นาที แบบสำรวจตัวกรองจะสร้างเหตุในสตรีมคำตอบเมื่อเรื่องราวตรงกับตัวกรอง
ด้วยเหตุนั้น คุณสามารถสร้างแอปของคุณได้ดังต่อไปนี้: ส่งเหตุโดยตรงหรือผ่านคนกลางไปยังตัวประเมินผลสตรีม หลังจากนั้น คุณสามารถใช้ “Streaming SQL” เพื่อเขียนส่วนการสตรีมของแอปได้ ท้ายที่สุด ระบุค่าจ้างประเมินผลสตรีมให้ปฏิบัติงานตามคำตอบ ซึ่งทำเป็นโดยการเรียกใช้บริการเมื่อตัวประเมินผลสตรีมทริกเกอร์ หรือโดยการเปิดเผยแพร่สถานะการณ์ไปยังหัวข้อคนกลางเพื่อยอมรับฟังหัวข้อ
มีเฟรมเวิร์กการประมวลผลสตรีมมากไม่น้อยเลยทีเดียว
ฉันชี้แนะ WSO2 Stream Processor (WSO2 SP) ที่ฉันช่วยสร้าง คุณสามารถนำเข้าข้อมูลที่ได้รับมาจาก Kafka, คำร้องขอ HTTP, โบรกเกอร์ใจความ แล้วก็ค้นหาสตรีมข้อมูลโดยใช้ภาษา “Streaming SQL” WSO2 SP เป็นโอเพ่นซอร์ที่ประชุมยใต้ลิขสิทธิ์ Apache มีเซิร์ฟเวอร์ผลิตภัณฑ์สิ่งของเครื่องใช้เพียงแค่สองเครื่องเพียงแค่นั้นซึ่งสามารถให้ความพร้อมเพรียงใช้งานสูงรวมทั้งจัดแจงจำนวนงาน 100K + TPS มันสามารถปรับขนาดเป็น TPS นับล้านบน Kafka และก็รองรับการประยุกต์ศูนย์ข้อมูลหลายตัว
อ่านเรื่องถัดไป >> ศึกษา Photoshop อย่างไร
Last Update : 2 มิถุนายน 2021 (ข้อมูลล่าสุดปี 2021)