Bitva velkých dat: Dávkové zpracování vs Zpracování datového proudu

Snažíte se porozumět analýze velkých dat a dat, ale zaměňujete se s dávkovým zpracováním dat a zpracováním datových proudů? Pokud ano, tento blog je pro vás!

Dnes vývojáři analyzují data Terabytů a Petabytů v ekosystému Hadoop. Mnoho projektů se spoléhá na urychlení této inovace. Všechny tyto projekty jsou založeny na dvou aspektech. Oni jsou :

  • Dávkové zpracování
  • Streamové zpracování

Co je dávkové zpracování?

Dávkové zpracování je místo, kde dochází ke zpracování bloků dat, které již byly uloženy po určitou dobu. Například zpracování všech transakcí, které byly provedeny hlavní finanční společností za týden. Tato data obsahují miliony záznamů za den, které mohou být uloženy jako soubor nebo záznam atd. Tento konkrétní soubor bude na konci dne zpracován pro různé analýzy, které chce firma provést. Zpracování tohoto souboru bude samozřejmě trvat hodně času. To je to, co je dávkové zpracování :)

Hadoop MapReduce je nejlepší rámec pro zpracování dat v dávkách. Následující obrázek poskytuje podrobné vysvětlení, jak Hadoop zpracovává data pomocí MapReduce.

Zpracování dat pomocí MapReduce

Dávkové zpracování funguje dobře v situacích, kdy nepotřebujete analytické výsledky v reálném čase, a když je důležitější zpracovat velké objemy dat, abyste získali podrobnější informace, než získat rychlé analytické výsledky.

Co je to Stream Processing?

Zpracování datových proudů je zlatým klíčem, pokud chcete, aby výsledky analýzy byly v reálném čase. Zpracování datových toků nám umožňuje zpracovávat data v reálném čase, jakmile dorazí, a rychle detekovat podmínky v malém časovém období od okamžiku přijetí dat. Zpracování datových proudů umožňuje vkládat data do analytických nástrojů, jakmile jsou generovány, a získat okamžité výsledky analýzy. Existuje několik platforem pro zpracování otevřených zdrojových proudů, jako je Apache Kafka, Apache Flink, Apache Storm, Apache Samza atd. Doporučil bych WSO2 Stream Processor (WSO2 SP), platformu pro zpracování otevřeného zdroje proudu, kterou jsem pomohl postavit. WSO2 SP může přijímat data z Kafka, HTTP požadavky, zprostředkovatele zpráv. Datový proud můžete dotazovat pomocí jazyka „Streaming SQL“. S pouhými dvěma komoditními servery může poskytovat vysokou dostupnost a zpracovat propustnost 100 K + TPS. Na vrcholu Kafky může škálovat až miliony TPS. Kromě toho vám Business Rules Manager WSO2 SP umožňuje definovat šablony a generovat z nich obchodní pravidla pro různé scénáře se společnými požadavky.

Streamové zpracování je užitečné pro úkoly, jako je odhalování podvodů. Pokud zpracováváte transakční data, můžete odhalit anomálie, které signalizují podvod v reálném čase, a poté zastavte podvodné transakce před jejich dokončením.

Následující obrázek vám poskytne podrobné vysvětlení, jak Spark zpracovává data v reálném čase.

Důvodem, proč je zpracování datových proudů tak rychlé, je to, že analyzuje data dříve, než narazí na disk.

Pro další informace společnost WSO2 představila řešení detekce podvodů WSO2. Je postaven na platformě WSO2 Data Analytics Platform, která zahrnuje jak Batch analytics, tak real-time analytics (Stream Processing).

Rozdíl mezi zpracováním šarží a zpracováním toků

Nyní máte nějaké základní znalosti o tom, co je dávkové zpracování a zpracování Stream. Pojďme se ponořit do debaty o dávkovém vs proudu

V dávkovém zpracování zpracovává všechna nebo většinu dat, ale ve zpracování streamů zpracovává data v rolujícím okně nebo nejnovějším záznamu. Dávkové zpracování tedy zpracovává velkou dávku dat, zatímco zpracování Streamem zpracovává jednotlivé záznamy nebo mikro šarže několika záznamů.

V bodě výkonu bude latence dávkového zpracování v minutách až hodinách, zatímco latence zpracování toku bude v sekundách nebo milisekundách.

Na konci dne bude solidní vývojář chtít pochopit oba pracovní toky. Všechno půjde až dolů k případu použití a jak jeden z pracovních toků pomůže splnit obchodní cíl.