เวลาแฝงใน Activator

Fabric Activator จะเรียกใช้กฎกับข้อมูลในเวลาจริง ผลลัพธ์เกือบจะเกิดขึ้นในทันที แต่ปัจจัยต่างๆ อาจทําให้เกิดเวลาแฝงได้ ในกรณีส่วนใหญ่ คุณจะไม่สังเกตเห็นเวลาแฝงนี้ แต่ในบางกรณี อาจนานถึง 10 นาที การรับข้อมูลที่ถูกต้องและทันเวลาเป็นข้อควรพิจารณาที่สําคัญเมื่อสร้างและรับกฎ บทความนี้จะทบทวนกระบวนการและการตั้งค่าที่กําหนดความสมดุลระหว่างการรวมเหตุการณ์และโครงสร้างกฎ และความเร็วในการส่งการเปิดใช้งาน ตัวอย่างเช่น Activator ควรอนุญาตให้มีข้อมูลมากขึ้นและรวมไว้ หรือ Activator ควรตรวจสอบให้แน่ใจว่าผู้รับได้รับการแจ้งเตือนตามเวลาที่กําหนด และโครงสร้างกฎส่งผลต่อความเร็วที่ Activator ส่งการเปิดใช้งานไปยังผู้รับอย่างไร

ปัจจัยสําคัญ 3 ประการที่ส่งผลต่อเวลาในการเปิดใช้งานกฎ:

  • ความอดทนในการมาถึงล่าช้า
  • เวลาแฝงในการประมวลผลแบ็กเอนด์
  • เวลาแฝงของการรวม

ค่าเผื่อการมาสาย

ในข้อมูลสตรีมมิง เหตุการณ์ไม่ได้มาถึงตามลําดับหรือตรงเวลาเสมอไป เวลาของเหตุการณ์ (เมื่อเกิดขึ้น) อาจอยู่ภายในกรอบเวลาของกฎ แต่เวลาที่มาถึง (เมื่อ Activator ได้รับ) อาจอยู่นอกกรอบเวลานั้น ซึ่งทําให้เหตุการณ์ล่าช้า โดยค่าเริ่มต้น Activator จะทิ้งเหตุการณ์ล่าช้าจากการประเมินกฎ

การตั้งค่าเวลา รอสําหรับเหตุการณ์ที่มาถึงล่าช้า จะควบคุมระยะเวลาที่ Activator รอก่อนที่จะปิดหน้าต่างการประเมิน ทําให้เหตุการณ์ล่าช้ามีโอกาสมาถึง การตั้งค่านี้อยู่ในส่วน การตั้งค่าขั้นสูง ของหน้าจอ คําจํากัดความ ของกฎ หากต้องการเรียนรู้วิธีกําหนดค่า โปรดดู การตั้งค่าความคลาดเคลื่อนในการมาถึงล่าช้า

เวลาแฝงในการประมวลผล Backend

Activator อาจต้องประมวลผลกฎก่อนที่จะเปิดใช้งาน ซึ่งอาจทําให้เกิดความล่าช้าได้ถึง 1 นาที ตัวอย่างเช่น หากกฎเปรียบเทียบกับเหตุการณ์ชุดก่อนหน้า Activator จะดึงข้อมูลก่อนหน้า ทําการเปรียบเทียบ และคํานวณผลลัพธ์ อีกตัวอย่างหนึ่ง หากกฎทํางานกับข้อมูล 10 ล้านแถว การประมวลผลโวลุ่มนั้นของ Activator จะทําให้เกิดเวลาแฝงด้วย

เวลาแฝงของการรวม

ถ้ามีการใช้การรวมในข้อกําหนดของกฎ กฎจะทํางานเฉพาะเมื่อดําเนินการในหน้าต่างเวลาที่ระบุเสร็จสิ้น ตัวอย่างเช่น สมมติว่ากฎถูกสร้างขึ้นเพื่อหาค่าเฉลี่ยของข้อมูลในช่วงสี่ชั่วโมง หากมีการนําเข้าเหตุการณ์ที่ตรงตามเงื่อนไขของกฎในเวลา 12.00 น. กฎจะทริกเกอร์เวลา 16.00 น. เวลาแฝงเป็นผลมาจากการตั้งค่าการรวม แม้ว่ากฎจะมีการรวมอย่างง่าย เช่น ค่าเฉลี่ย Activator ไม่สามารถส่งการเปิดใช้งานได้จนกว่า Activator จะเรียกใช้การรวมทั่วข้อมูลเหตุการณ์ที่เข้ามา

แนวคิดเวลาพื้นหลัง

เพื่อกําหนดกรอบการสนทนาให้ดีขึ้น มากําหนดแนวคิดเวลาเบื้องหลังกัน

  • เวลาเหตุการณ์: เวลาเมื่อเกิดเหตุการณ์ต้นฉบับ ส่วนนี้เป็นส่วนหนึ่งของส่วนข้อมูลเหตุการณ์ ตัวอย่างเช่น ช่วงเวลาที่เซ็นเซอร์ตรวจพบรถที่เข้าใกล้ด่านเก็บค่าผ่านทางคือเวลาที่จัดงาน
  • เวลาดําเนินการ: เวลาที่ระบบประมวลผลรับและสังเกตเหตุการณ์ ตัวอย่างเช่นหลังจากที่เซ็นเซอร์ด่านเก็บค่าผ่านทางเห็นรถเวลาที่ระบบคอมพิวเตอร์รับและประมวลผลข้อมูลของเซ็นเซอร์คือเวลาในการประมวลผล
  • เวลา ขาเข้า (เวลาในลายน้ําหรือเวลาการนําเข้า): เครื่องหมายที่ระบุเมื่อข้อมูลเหตุการณ์ถึง Activator ด้วยลักษณะของสตรีม ข้อมูลเหตุการณ์ขาเข้าจะไม่มีหยุด ดังนั้นเวลาในการเข้าถึงจึงระบุความคืบหน้าของ Activator ไปยังจุดใดจุดหนึ่งในสตรีม ซึ่งอยู่ที่จุดนี้ที่ Activator สามารถสร้างผลลัพธ์ที่สมบูรณ์ ถูกต้อง และทําซ้ําได้ซึ่งไม่จําเป็นต้องถอน และถึงจุดนี้ที่ Activator สามารถเริ่มประมวลผลข้อมูลได้ Activator ประมวลผลข้อมูลด้วยวิธีที่คาดเดาได้และทําซ้ําได้ ตัวอย่างเช่น หาก Activator ต้องการนับข้อมูลใหม่เพื่อการจัดการข้อผิดพลาด ก็สามารถใช้เวลามาถึงเป็นจุดเริ่มต้นและจุดสิ้นสุดที่ปลอดภัยได้ ตัวอย่างเช่น เมื่อระบบด่านเก็บค่าผ่านทางได้รับการตรวจจับรถทั้งหมดจนถึงเวลา 9:05 น. เครื่องหมายเวลามาถึงจะเลื่อนไปเป็น 9:05 น. การตรวจพบใด ๆ ที่มาถึงหลังจากจุดนั้น แม้ว่า เวลาอีเวนต์ จะอยู่ก่อนเวลา 9:05 น. ก็ตาม จะล่าช้า

การมาถึงล่าช้าเกิดขึ้นเมื่อกฎมีพารามิเตอร์เวลาและ เวลาของเหตุการณ์ อยู่ภายในพารามิเตอร์เวลานั้น แต่ เวลาที่มาถึง อยู่นอกพารามิเตอร์นั้น การใช้ตัวอย่างด่านเก็บค่าผ่านทาง: เซ็นเซอร์ตรวจจับรถและ เวลาเหตุการณ์ อยู่ภายในกรอบเวลาของกฎ อย่างไรก็ตาม หากเซ็นเซอร์ใช้เวลานานเกินไปในการส่งการตรวจจับ เช่น เนื่องจากความแออัดของเครือข่าย เหตุการณ์จะมาถึง Activator หลังจากปิดหน้าต่าง Activator ถือว่าเหตุการณ์นั้นล่าช้า หากคุณต้องการรวมการมาถึงล่าช้า ให้ตั้งค่า เวลารอสําหรับกิจกรรมที่มาถึงล่าช้าในการตั้งค่าขั้นสูง

สําหรับแหล่งข้อมูลเพิ่มเติมในหัวข้อนี้ ดูบล็อกโพสต์ของ Tyler Akidau Streaming 101 และ Streaming 102

การตั้งค่าระดับการยอมรับการมาถึงล่าช้า

คุณสามารถกําหนดการตั้งค่าความคลาดเคลื่อนในการมาถึงล่าช้าได้ ค่าเริ่มต้นคือสองนาที การตั้งค่านี้ก่อให้เกิดเวลาแฝง กฎที่คุณสร้างด้วยเวลารอจะมีเวลาในการตอบสนองขั้นต่ําเท่ากับระยะเวลาที่กําหนดค่าไว้ เมื่อสร้างกฎ ให้ตัดสินใจว่าจะใช้ค่าเริ่มต้นหรือเปลี่ยนแปลงกฎ การตั้งค่านี้ช่วยให้แน่ใจว่าเหตุการณ์ที่ล่าช้าและเหตุการณ์ที่ไม่เรียงลําดับมีโอกาสที่จะรวมอยู่ในการประเมินกฎ หากเหตุการณ์อยู่นอกเหนือค่าเผื่อการมาถึงล่าช้าที่กําหนดค่าไว้ Activator จะไม่นํามาพิจารณา เหตุการณ์ใดๆ ที่มี เวลามาถึง หลังจากเกณฑ์นั้นจะไม่ถูกนํามาพิจารณา

สกรีนช็อตของหน้าจอคําจํากัดความของกฎที่มีการตั้งค่าขั้นสูงขยาย โดยแสดงการตั้งค่าเวลารอสําหรับเหตุการณ์ที่มาถึงล่าช้า

โดยรวมแล้ว ให้พิจารณาว่าการ:

  • รอจุดข้อมูลที่ล่าช้า หรือ
  • เรียกใช้กฎกับข้อมูลที่อาจไม่สมบูรณ์เพื่อให้กฎเปิดใช้งานเร็วขึ้น 

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

สกรีนช็อตของแผนภูมิเส้นที่แสดงช่วงเวลา

Activator ไม่สามารถคํานึงถึงความล่าช้าจากแหล่งข้อมูลของคุณได้ ตัวอย่างเช่น คุณอาจมีเซ็นเซอร์ IoT ที่ออฟไลน์เป็นเวลาหนึ่งชั่วโมง เมื่อพวกเขากลับมาออนไลน์ Activator สามารถรับข้อมูลได้ แต่ข้อมูลล่าช้าเป็นเวลาหนึ่งชั่วโมงจากสถานะออฟไลน์นั้น ซึ่งเกิดขึ้นนอก Activator

นี่เป็นอีกตัวอย่างหนึ่ง

คุณสร้างกฎที่คํานวณอุณหภูมิเฉลี่ยในช่วงเวลานาที เวลารอสําหรับเหตุการณ์ที่มาถึงล่าช้าถูกตั้งค่าเป็นค่าเริ่มต้นสองนาที Activator มีค่าอุณหภูมิ 20 และ 30 และคํานวณค่าเฉลี่ย 25 อย่างไรก็ตาม Activator ไม่รวมเหตุการณ์ 40 องศาที่มาถึงล่าช้าจนกว่าจะเปิดใช้งานกฎครั้งต่อไป

เวลาเหตุการณ์ เวลาที่มาถึง อุณหภูมิ
09:00 09:02 20
09:01 09:03 30
09:02 09:07 40

Note

สําหรับแหล่งข้อมูลคิวรี เช่น Power BI, ชุดคิวรี KQL และแดชบอร์ด Real-Time ความถี่ในการสืบค้นยังส่งผลต่อความเร็วที่ Activator ตรวจพบเหตุการณ์ใหม่ด้วย ดู ความถี่คิวรีสําหรับแหล่งข้อมูลคิวรี

กฎที่สร้างขึ้นบนวิชวล Power BI

เวลาแฝงที่มีอยู่ภายในแตกต่างกันตามบริการ เวลาแฝงสําหรับสตรีมเหตุการณ์แตกต่างจากเวลาแฝงสําหรับวิชวล Power BI ปัจจัยสองประการมีผลต่อเวลาแฝงสําหรับกฎที่สร้างขึ้นบนวิชวล Power BI: ความถี่ของคิวรีวิชวล Power BI ที่สร้างขึ้นในระบบ และความล่าช้าที่แบ็กเอนด์ของ Activator อาจแนะนํา

กฎของ Power BI จะถูกประเมินทุกครั้งที่มีข้อมูลใหม่เข้ามาในตัวเปิดใช้งาน ตามค่าเริ่มต้น Activator จะคิวรี Power BI หนึ่งครั้งต่อชั่วโมง ซึ่งหมายความว่าเหตุการณ์ที่ตรงตามเงื่อนไขกฎจะทริกเกอร์การเปิดใช้งานสูงสุดหนึ่งชั่วโมงหลังจากเหตุการณ์เกิดขึ้น คุณสามารถเปลี่ยนความถี่นี้ได้ในการตั้งค่าแหล่งข้อมูล สําหรับข้อมูลเพิ่มเติม โปรดดู ความถี่คิวรีสําหรับแหล่งข้อมูลคิวรี และ สร้างการแจ้งเตือน Power BI และปรับแต่งใน Fabric Activator