Realtime Batch Legenda Apache Hadoop prostředí pro distribuované zpracování velkých dat www.trigama.eu a triga KDY POUŽÍT HADOOP? Ke zpracování je potřeba vysoký výpočetní výkon … data mining, statistické metody Data přibývají velmi rychle (desetitisíce zpráv za sekundu) … analýzy dat v reálném čase Celkový objem dat k uložení je velký (desítky TB) … spolehlivé, dostupné úložiště BIG DATA A HADOOP Apache Hadoop je programové prostředí, které umožňuje paralelní běh big data aplikací v rámci výpočetního clusteru. Zahrnuje sadu nástrojů pro distribuované pořizování, ukládání a zpracování velkých dat. Je to open-source systém volně dostupný i pro komerční použití, podobně jako třeba webový server Apache. Existují ale také komerční distribuce, součástí jejichž licence je i provozní podpora (např. Hortonworks, Cloudera, MapR). DATABÁZE vs. HADOOP Tabulky vs. soubory Data v Hadoopu mohou být uložena ve zdrojové struktuře i formátu. Systém HDFS zajistí bezpečné a efektivní uložení souborů libovolné velikosti (limitem je pouze kapacita celého clusteru). Pevné schéma vs. volná struktura V Hadoopu se data ukládají jako soubory a struktura se definuje až při jejich použití. Transakčnost vs. dostupnost a škálovatelnost Hadoop upřednostňuje rychlost odpovědi před úplností (např. při výpadku části clusteru). Spolehlivost je zajištěna redundancí – každý uzel clusteru je kdykoli nahraditelný. Flume Fronta zpráv (aplikační logy) HDFS (uložení vstupních dat) MapReduce (parsování zpráv) HBase (NoSQL DB v HDFS) Alerty HIVE (analytický přístup) Analýzy a reporty Zdrojová logová data jsou zachycena Proud dat je předáván do prostředí Hadoop (Flume) Uložení plné historie vstupních dat (HDFS) Parsování vstupních dat v reálném čase (MapReduce) Rozhraní pro analytické dotazy a reporting (HIVE) Extrakce dat a uložení klíčových atributů pro real-time přístup (HBase) Vytváření dotazů a reportů nad zpracovanými daty (HiveQL) Dotazování v reálném čase – nezávisle na objemu uložených dat (HBase) INTEGRACE HADOOP CASE STUDY Real-time monitoring a reporting na základě logových dat generovaných produkčními systémy – průběžné sledování dostupnosti systémů kvůli včasné reakci na výpadky, útoky, zneužití atp.