Latence v aktivátoru
Aktivace prostředků infrastruktury spouští pravidla pro data v reálném čase. Výsledky jsou téměř okamžité, ale existují faktory, které mohou zavádět latenci. Ve většině případů je tato latence nesrozumitelná, ale v jiných případech může být latence až 10 minut. Při vytváření a přijímání pravidel je důležité vzít v úvahu přesné a včasné informace. Tento článek se zabývá procesy a nastavením, které určují rovnováhu mezi zahrnutím událostí a strukturou pravidla a tím, jak rychle se aktivuje aktivátor. Měl by například aktivátor umožnit doručení a zahrnutí dalších dat nebo by měl Aktivátor zajistit, aby příjemci dostávali upozornění v nastavený čas? A jak způsob, jakým je pravidlo strukturované, má vliv na rychlost odesílání aktivace příjemcům?
Existují tři důležité faktory, které mají vliv na latenci aktivace pravidla:
- Nastavení uživatele pro tolerance pozdního příjezdu.
- Zpoždění až jednu minutu, které může zavést back-endové zpracování aktivátoru.
- Agregace pravidla.
Tolerance pozdního příjezdu
Tolerance pozdního příjezdu je nastavena na obrazovce Definice pravidla aktivace a použita pro čas příjezdu události. Informace o nastavení tolerance pozdního příjezdu najdete v tématu Nastavení tolerance pozdního příjezdu.
Latence zpracování back-endu
Pravidla můžou před aktivací pravidla potřebovat zpracování. Pokud je například pravidlo porovnáním s předchozí sadou událostí, převezme back-endové zpracování za účelem načtení předchozích dat, porovnání a výpočet výsledku. Dalším příkladem je, že pravidlo běží na 10 milionů řádků dat, latence je zavedena back-endovým zpracováním těchto dat.
Latence agregace
Pokud se v definici pravidla použije agregace, pravidlo se aktivuje jenom po dokončení zadaných časových intervalů. Řekněme například, že pravidlo je vytvořené pro průměr dat za čtyři hodiny. Pokud se událost splňující podmínky pravidla ingestuje v 12:00, pravidlo se aktivuje v 14:00. Latence je výsledkem nastavení agregace. I když pravidlo obsahuje jednoduchou agregaci, jako je průměr, aktivace nemůže odeslat aktivaci, dokud aktivátor nespustí agregaci mezi příchozími daty událostí.
Koncepty času na pozadí
Abychom mohli diskuzi lépe zarámovat, pojďme definovat některé koncepty na pozadí.
- Čas události: Čas, kdy došlo k původní události. Je součástí datové části události. Například když pohyblivý vůz na dálnici přistoupí k placené kabině a všimne si senzoru.
- Doba zpracování: Čas, kdy událost dosáhne systému zpracování a je pozorována. Například když senzor placené linky vidí auto a počítačový systém chvíli trvá zpracování dat.
- Čas příjezdu (vodoznak nebo čas příjmu): Značka, která označuje, kdy data události dosáhnou aktivátoru. Podle povahy datových proudů se příchozí data událostí nikdy nezastaví, takže časy příjezdu označují průběh, který aktivátor provedl, k určitému bodu v datovém proudu. V tomto okamžiku může aktivátor vytvořit úplné, správné a opakovatelné výsledky, které není nutné odvolat. A v tuto chvíli může aktivátor začít zpracovávat data. Zpracování lze provést předvídatelným a opakovatelným způsobem. Pokud je třeba například provést přepočet pro určitý stav zpracování chyb, časy příjezdu jsou bezpečné počáteční a koncové body.
Pozdní příjezd nastane, když pravidlo má parametr času a čas události je v daném parametru času, ale čas příjezdu spadá mimo tento parametr. Pokud použijeme příklad placené linky znovu, auto je rozpoznán senzorem placené kabiny a čas události je v časovém parametru. Aktivátor zjistí, že pravidlo má agregaci a provádí tuto agregaci nad daty. Čas potřebný k provedení této agregace umístí čas příjezdu mimo parametr času. Tato událost je nyní považována za opožděnou. Pokud chcete zahrnout pozdní příjezdy, nastavte hodnotu tolerance pozdního příjezdu.
Další zdroje informací o tomto tématu najdete v blogových příspěvcích Tyler Akidau Streaming 101 a Streaming 102.
Nastavení tolerance pozdního příjezdu
Tolerance pozdního příjezdu je nastavení uživatele. Tolerance pozdního příjezdu označuje, jak dlouho aktivace čeká na přijetí události a potvrzení a zpracování. Výchozí hodnota je dvě minuty. Tolerance pozdního příjezdu přispívá k latenci. Pravidla vytvořená s tolerancem pozdního příjezdu mají latenci, která je alespoň doba, po kterou je nastavená tolerance pozdního příjezdu. Při vytváření pravidla se rozhodněte, jestli chcete použít výchozí toleranci, nebo ji změnit. Tolerance zajišťuje, že pozdní události a události, které přicházejí mimo pořadí, mají příležitost zahrnout do vyhodnocení pravidla. Pokud událost spadá mimo toleranci pozdního příjezdu, aktivátor ji nebere v úvahu. Všechny události s časem příjezdu po uplynutí této tolerance se nefaktorují.
Celkově je důležité zvážit, jestli je důležitější:
- Počkejte na pozdní datové body nebo
- spusťte pravidlo pro potenciálně neúplná data, aby se pravidlo aktivoval dříve.
V tomto příkladu se datové body měří v 15minutových přírůstcích. První tři tečky, které jsou modré, jsou v časovém intervalu. Čtvrtá tečka, která je oranžová, ne. Čas události je v 15minutovém intervalu, ale událost se neingestuje aktivací během 15minutového intervalu. Aktivátor vyhodnocuje pravidlo pouze u dat s časem příjezdu během 15 minut. Pokud uživatel nenaznačí, že chce povolit toleranci pozdního příjezdu a počkat, než zjistí, jestli dorazí jiné datové body.
Aktivace nemůže zpožďovat zpoždění dat uživatele. Uživatel může mít například senzory IoT, které jsou offline po dobu 1 hodiny. Jakmile se vrátí zpátky do online režimu, může aktivace přijímat data, ale data byla zpožděna na 1 hodinu od tohoto offline stavu, ke kterému dochází mimo aktivátor.
Tady je další příklad.
Uživatel vytvoří pravidlo, které vypočítá průměrnou teplotu v minutových intervalech. Tolerance pozdního příjezdu je nastavená na Výchozí. Výchozí hodnota je dvě minuty. Hodnoty teploty 20 a 30 jsou zahrnuty a průměrná teplota je 25. Pozdní příchozí událost teploty 40 stupňů však není zahrnuta, dokud nedojde k další aktivaci pravidla.
Čas události | Čas příjezdu | Teplota |
---|---|---|
09:00 | 09:02 | 20 |
09:01 | 09:03 | 30 |
09:02 | 09:07 | 40 |
Důležité
V současné době nemůžete přepsat výchozí toleranci pozdního příjezdu. Toto nastavení se také nevztahuje na pravidla Power BI.
Pravidla založená na vizuálech Power BI
Integrovaná latence se liší podle služby. Latence pro eventstreamy se liší od latence vizuálů Power BI. Existují dvě části, které tvoří latenci pro pravidla založená na vizuálech Power BI: frekvence dotazování vizuálů Power BI, které jsou integrované v systému, a zpoždění, které může zavést back-end aktivátoru.
Pravidla Power BI se vyhodnocují při každém příchodu nových dat do aktivátoru. Aktivátor ingestuje nová data z Power BI každou hodinu. To znamená, že události, které splňují podmínku pravidla, aktivují aktivaci maximálně jednu hodinu po události. Další informace najdete v tématu Získání dat pro aktivaci z Power BI.