Principy dávkového zpracování a zpracování datových proudů

Dokončeno

Zpracování dat je jednoduše převod nezpracovaných dat na smysluplné informace prostřednictvím procesu. Existují dva obecné způsoby zpracování dat:

  • Dávkové zpracování, ve kterém se shromažďuje a ukládá více datových záznamů před jejich zpracováním v rámci jedné operace.
  • Zpracování datových proudů, ve kterém se zdroj dat neustále monitoruje a zpracovává v reálném čase při výskytu nových datových událostí.

Princip dávkového zpracování

Při dávkovém zpracování se nově přicházející datové prvky shromažďují a ukládají a celá skupina se zpracovává společně jako dávka. Datum a čas zpracování jednotlivých skupin můžete určit mnoha způsoby. Data můžete například zpracovávat podle naplánovaného časového intervalu (třeba každou hodinu), spustit zpracování při příchodu určitého objemu dat nebo se zpracování může aktivovat jako výsledek nějaké události.

Předpokládejme například, že chcete analyzovat silniční provoz tak, že spočítáte počet aut na úseku silnice. Přístup dávkového zpracování by vyžadoval, abyste shromáždili auta na parkovišti a pak je spočítali do jedné operace, zatímco jsou v klidovém stavu.

Diagram aut, které se počítají na parkovišti

Pokud je cesta zaneprázdněna, s velkým počtem aut v častých intervalech, může být tento přístup nepraktický; a všimněte si, že nedostanete žádné výsledky, dokud nezastavíte dávku aut a spočítáte je.

Skutečný příklad dávkového zpracování je způsob, jakým společnosti s platebními kartami zpracovávají fakturaci. Zákazník neobdrží vyúčtování každého samostatného nákupu platební kartou, ale jednou za měsíc vyúčtování všech nákupů za daný měsíc.

Mezi výhody dávkového zpracování patří:

  • Velké objemy dat lze zpracovat ve vhodnou dobu.
  • Lze ho naplánovat tak, aby běželo v době, kdy by počítače nebo systémy mohly být jinak nečinné, například přes noc nebo mimo špičku.

Nevýhody dávkového zpracování:

  • Časová prodleva mezi příjmem dat a získáním výsledků.
  • Před zpracováním dávky musí být všechna vstupní data dávkové úlohy připravená. To znamená, že je nutné data pečlivě zkontrolovat. Problémy s daty, chyby a selhání programu, ke kterým dojde při dávkových úlohách, celý proces zastaví. Před opětovným spuštěním úlohy je nutné znovu pečlivě vstupní data zkontrolovat. Dokonce i menší chyby dat můžou zabránit spuštění dávkové úlohy.

Principy zpracování datových proudů

Při zpracování streamu se každá nová část dat zpracuje hned, jak přijde. Na rozdíl od dávkového zpracování nečekáme na další interval dávkového zpracování – data se zpracovávají jako jednotlivé jednotky v reálném čase, nikoli najednou. Zpracování dat streamu je výhodné ve scénářích, kdy se neustále generují nová dynamická data.

Lepším přístupem k našemu hypotetickému problému s počítáním aut může být například použití přístupu ke streamování tím, že při jejich průchodu v reálném čase počítají auta:

Diagram aut, které se počítají při jejich průchodu

V tomto přístupu nemusíte čekat, až všechny auta parkují, aby je začaly zpracovávat, a data můžete agregovat v časových intervalech; Například počítáním počtu aut, které projdou každou minutu.

Příklady streamovaných dat z reálného světa zahrnují:

  • Finanční instituce sleduje změny na akciovém trhu v reálném čase, počítá rizikovou hodnotu a automaticky vyvažuje portfolia na základě pohybů cen akcií.
  • Společnost poskytující online hry shromažďuje údaje o interakcích mezi hráči a hrami v reálném čase a vkládá je do své herní platformy. Poté analyzuje data v reálném čase, poskytuje motivaci a nabízí dynamické zážitky, aby svoje hráče zaujala.
  • Web nemovitostí, který sleduje podmnožinu dat z mobilních zařízení, a poskytuje doporučení vlastností v reálném čase k návštěvě na základě jejich geografické polohy.

Zpracování streamovaných dat je ideální pro časově kritické operace, které vyžadují okamžitou odezvu v reálném čase. Například systém, který monitoruje kouř a teplotu v budově, musí spouštět alarmy a odemykat dveře, aby v případě požáru obyvatelům umožnil okamžitý únik.

Rozdíly mezi dávkovými a streamovanými daty

Kromě způsobu zpracování dat při dávkovém zpracování a zpracování streamovaných dat existují i další rozdíly:

  • Rozsah dat: Dávkové zpracování může zpracovávat všechna data v datové sadě. Zpracování streamu má obvykle přístup pouze k nejnovějším přijatým datům nebo k datům v průběžném časovém okně (například posledních 30 sekund).

  • Velikost dat: Dávkové zpracování je vhodné pro efektivní zpracování velkých datových sad. Zpracování streamu je určeno pro jednotlivé záznamy nebo mikrodávky skládající se z několika záznamů.

  • Výkon: Latence je doba potřebná k přijetí a zpracování dat. Latence dávkového zpracování je obvykle několik hodin. Zpracování streamu obvykle probíhá okamžitě, s latencí v řádu sekund nebo milisekund.

  • Analýza: Dávkové zpracování se obvykle používá k provádění složitých analýz. Zpracování streamu se používá pro funkce jednoduchých odpovědí, agregace nebo výpočty, jako jsou klouzavé průměry.

Kombinace zpracování dávek a streamů

Řada rozsáhlých analytických řešení zahrnuje kombinaci dávkového zpracování a zpracování datových proudů, které umožňují analýzu historických i dat v reálném čase. Řešení pro zpracování datových proudů se běžně používají k zachycení dat v reálném čase, jejich zpracování filtrováním nebo agregací a jejich prezentování prostřednictvím řídicích panelů a vizualizací v reálném čase (například znázorňující průběžný součet automobilů, které prošly po silnici v aktuální hodině), a zároveň zachování zpracovaných výsledků v úložišti dat pro historickou analýzu společně s dávkovými zpracovanými daty (například k zajištění analýzy objemu provozu za minulý rok).

I když se nevyžaduje analýza nebo vizualizace dat v reálném čase, streamovací technologie se často používají k zachycení dat v reálném čase a jejich ukládání do úložiště dat pro následné dávkové zpracování (to je ekvivalent přesměrování všech aut, které cestují po silnici na parkoviště před jejich počítáním).

Následující diagram znázorňuje několik způsobů, jak je možné dávkové zpracování a zpracování datových proudů kombinovat v architektuře analýzy dat ve velkém měřítku.

Diagram architektury analýzy dat, která zahrnuje dávkové zpracování a zpracování datových proudů

  1. Události dat ze streamovaného zdroje dat se zaznamenávají v reálném čase.
  2. Data z jiných zdrojů se ingestují do úložiště dat (často datové jezero) pro dávkové zpracování.
  3. Pokud se analýza v reálném čase nevyžaduje, zaznamenaná streamovaná data se zapíšou do úložiště dat pro následné dávkové zpracování.
  4. Pokud je vyžadována analýza v reálném čase, technologie zpracování datových proudů slouží k přípravě streamovaných dat na analýzu nebo vizualizaci v reálném čase; často filtrováním nebo agregací dat v časových oknech.
  5. Data, která nejsou streamovaná, se pravidelně zpracovávají, aby se připravila na analýzu, a výsledky se uchovávají v analytickém úložišti dat (často označované jako datový sklad) pro historickou analýzu.
  6. Výsledky zpracování datových proudů mohou být také trvalé v analytickém úložišti dat, aby podporovaly historickou analýzu.
  7. Analytické a vizualizační nástroje slouží k prezentaci a zkoumání historických dat v reálném čase.

Poznámka:

Mezi běžně používané architektury řešení pro kombinované dávkové zpracování a zpracování dat datových proudů patří lambda a rozdílové architektury. Podrobnosti o těchto architekturách jsou nad rámec tohoto kurzu, ale zahrnují technologie pro zpracování dávkových dat ve velkém měřítku i zpracování datových proudů v reálném čase za účelem vytvoření komplexního analytického řešení.