Sdílet prostřednictvím


Styl architektury velkých objemů dat

Architektura velkých objemů dat je navržená tak, aby zvládla příjem, zpracování a analýzu dat, která jsou pro tradiční databázové systémy příliš velká nebo složitá.

Logický diagram stylu architektury pro velké objemy dat

Řešení pro velké objemy dat obvykle zahrnují jeden nebo více z následujících typů úloh:

  • Dávkové zpracování neaktivních zdrojů velkých objemů dat
  • Zpracování velkých objemů dat v reálném čase během pohybu
  • Interaktivní zkoumání velkých objemů dat
  • Prediktivní analýza a strojové učení

Většina architektur pro velké objemy dat zahrnuje některé nebo všechny následující komponenty:

  • Zdroje dat: Řešení pro velké objemy dat můžou začínat jedním nebo více zdroji dat.

    • Úložiště dat, jako jsou relační databáze

    • Soubory, které aplikace vytvářejí, například soubory protokolu webového serveru a odpovědi rozhraní API

    • Zdroje dat v reálném čase, jako jsou streamovaná zařízení, webhooky nebo aplikace upstreamové relační databáze

  • Úložiště dat: Data pro operace dávkového zpracování jsou obvykle uložená v distribuovaném úložišti souborů, které můžou obsahovat velké objemy velkých souborů v různých formátech. Tento druh úložiště se často označuje jako datové jezero. Mezi možnosti implementace tohoto úložiště patří Azure Data Lake Storage nebo Microsoft Fabric OneLake.

  • Dávkové zpracování: Pokud je potřeba data připravit na analýzu a zpřístupnit je pro sestavy, které odrážejí minulé události nebo trendy, je dávkové zpracování užitečné. Tyto úlohy obvykle zahrnují čtení zdrojových souborů, jejich zpracování a zápis výstupu do nových souborů. Mezi možnosti patří použití toků dat nebo datových kanálů v prostředcích infrastruktury.

  • Zpracování v reálném čase: Pokud řešení obsahuje zdroje v reálném čase, architektura musí obsahovat způsob, jak zaznamenávat a ukládat zprávy v reálném čase pro zpracování datových proudů. Data můžou zůstat v pohybu od okamžiku, kdy se vygenerují prostřednictvím čištění, transformace a případného použití v provozních nebo analytických akcích. Řada řešení musí podporovat zpracování horizontálního navýšení kapacity, spolehlivé doručování a další sémantiku front zpráv. Mezi možnosti patří eventstreamy infrastruktury Real-Time Intelligence, Azure Event Hubs, Azure IoT Hub a Apache Kafka.

  • Analytické úložiště dat: Mnoho řešení pro velké objemy dat připraví data na analýzu a pak obsluhuje zpracovávaná data ve strukturovaném formátu, který lze dotazovat pomocí analytických nástrojů. V závislosti na vašem scénáři může být analytické úložiště dat používané k obsluhě těchto dotazů událostí v Microsoft Fabric ke zpracování dat v pohybu a zpracování datového proudu v testovacím prostředí. Nebo to může být dimenzionální datový sklad, jak je vidět ve většině tradičních řešení business intelligence (BI) nebo lakehouse (bronzová, stříbrná a zlatá). Microsoft Fabric nabízí několik možností, jako jsou eventhouses, warehouses a lakehouses. Každou možnost můžete dotazovat pomocí SQL nebo Sparku v závislosti na případu použití. Při rozhodování o úložišti dat v prostředcích infrastruktury vám pomůže průvodce rozhodováním.

  • Analýza a vytváření sestav: Jedním zcílůch Aby uživatelé mohli analyzovat data, může architektura zahrnovat vrstvu modelování dat, jako je například multidimenzionální datová krychle OLAP (Online Analytical Processing) nebo tabulkový datový model ve službě Azure Analysis Services. Může také podporovat samoobslužné funkce BI pomocí technologií modelování a vizualizací v Power BI nebo Excelu. Analýza a vytváření sestav můžou mít také podobu interaktivního zkoumání dat datovými vědci nebo datovými analytiky. V těchto scénářích poskytuje Microsoft Fabric nástroje, jako jsou poznámkové bloky, kde si uživatelé můžou zvolit JAZYK SQL nebo programovací jazyk podle svého výběru.

  • Akce a upozorňování: Dalším cílem řešení pro velké objemy dat by mělo být poskytování provozních přehledů o aktuálním stavu obchodního procesu. Architektura by měla zahrnovat vrstvu systému akcí, která při zpracování dat v reálném čase přebírá datové proudy a zjišťuje výjimky a anomálie, ke kterým dochází v organizaci. Místo toho, aby uživatel kontroloval sestavu, můžete tyto systémy upozorňování použít k proaktivnímu upozorňování uživatelů a vedení neobvyklých aktivit. Real-Time výstrahy aktivátoru inteligentních funkcí poskytují tento druh proaktivního monitorování.

  • Orchestrace: Řešení pro velké objemy dat se můžou skládat z opakovaných operací zpracování dat zapouzdřených v pracovních postupech. Tyto pracovní postupy transformují zdrojová data, přesouvají data mezi více zdroji a jímky, načítají zpracovávaná data do analytického úložiště dat nebo nasdílí výsledky přímo do sestavy nebo řídicího panelu. K automatizaci těchto pracovních postupů můžete použít technologii orchestrace, jako jsou kanály Azure Data Factory nebo Microsoft Fabric.

Microsoft poskytuje mnoho služeb pro architekturu velkých objemů dat, které jsou seskupené zhruba do následujících kategorií:

  • Řešení SaaS (Software jako služba), jako je Microsoft Fabric

  • Spravované služby, jako jsou Data Lake Storage, Azure Stream Analytics, Event Hubs, IoT Hub, Azure Data Factory, Azure SQL Database a Azure Cosmos DB

Kdy použít tuto architekturu

Tento styl architektury zvažte, pokud potřebujete provést následující akce:

  • Zareagujte na data v reálném čase při generování dat.
  • Ukládání a zpracování dat ve svazcích je příliš velké pro tradiční databázi.
  • Transformujte nestrukturovaná data pro analýzu a vytváření sestav.
  • Použijte služby Azure Machine Learning nebo Azure AI.

Výhody

  • Technologické volby: Microsoft Fabric poskytuje mnoho z těchto služeb prostřednictvím rozhraní SaaS a předem propojuje různé komponenty. Tento přístup zjednodušuje proces vytváření komplexních řešení dat. Můžete také kombinovat spravované služby Azure a shodovat je s využitím stávajících dovedností nebo investic do technologií.

  • Výkon prostřednictvím paralelismu: Řešení pro velké objemy dat využívají paralelismus, což umožňuje vysoce výkonná řešení, která se škálují na velké objemy dat.

  • Elastické škálování: Všechny komponenty architektury velkých objemů dat podporují zřizování horizontálního navýšení kapacity. V důsledku toho můžete řešení upravit pro malé nebo velké úlohy a platit pouze za prostředky, které používáte.

  • Interoperabilita se stávajícími řešeními: Komponenty architektury velkých objemů dat se také používají pro zpracování Internetu věcí (IoT) a podniková řešení BI. Tato všestrannost umožňuje vytvořit integrované řešení napříč datovými úlohami.

Výzvy

  • Sada dovedností: Některé technologie pro velké objemy dat jsou vysoce specializované a spoléhají na architektury a jazyky, které se liší od těch, které se používají v obecných architekturách aplikací. Alternativně se objevují novější rozhraní API, která vycházejí z více zavedených jazyků.

  • Bezpečnost: Řešení pro velké objemy dat obvykle spoléhají na ukládání všech statických dat v centralizované datové jezeře. Zabezpečení přístupu k datům může být náročné, zejména v případě, že více aplikací a platforem musí ingestovat a využívat data.

Osvědčené postupy

  • Použijte paralelismus. Většina technologií zpracování velkých objemů dat distribuuje úlohy napříč několika jednotkami zpracování. Tato distribuce vyžaduje vytvoření a uložení statických datových souborů v rozděleném formátu. Distribuované systémy souborů, jako je Hadoop Distributed File System (HDFS), můžou optimalizovat výkon čtení a zápisu. Skutečné zpracování provádí několik uzlů clusteru paralelně, což snižuje celkovou dobu úloh. Doporučujeme použít rozdělený datový formát, například Parquet.

  • Rozdělte data. Dávkové zpracování obvykle probíhá podle plánu opakování, například týdně nebo měsíčně. Rozdělte datové soubory a datové struktury, jako jsou tabulky, na základě časových období, která odpovídají plánu zpracování. Tato strategie zjednodušuje příjem dat a plánování úloh, usnadňuje řešení potíží a výrazně zvyšuje výkon dotazů.

  • Použití sémantiky schématu při čtení Použití datového jezera umožňuje kombinovat úložiště pro soubory ve více formátech, ať už strukturované, částečně strukturované nebo nestrukturované. Použijte sémantiku schématu při čtení , která projektuje schéma na data během zpracování místo v době uložení. Tento přístup zvyšuje flexibilitu řešení a pomáhá zabránit kritickým bodům během příjmu dat, které způsobují ověření dat a kontrolu typů.

  • Zpracování dávkových dat při příjezdu Tradiční řešení BI často používají proces extrakce, transformace a načítání (ETL) k přesunu dat do datového skladu. S většími objemy dat a většími formáty ale řešení pro velké objemy dat obvykle přijímají varianty ETL, jako je extrakce, načítání a transformace (ELT).

  • Zpracování streamovaných dat v testovacím prostředí U streamovaných řešení transformujte datovou část při přenosu dat. Vzhledem k tomu, že pracujete s mnohem menšími pakety přes síť, je mnohem jednodušší tyto menší sady řádků během generování transformovat. Přistál transformovaný datový proud v modulu, který je optimalizovaný pro data založená na událostech, jako je například eventhouse Real-Time Intelligence, který data okamžitě zpřístupní pro akci.

  • Vyvažte náklady na využití a čas. U úloh dávkového zpracování je důležité vzít v úvahu náklady na výpočetní uzly za jednotku a náklady na minutu používání těchto uzlů k dokončení úlohy. Například dávková úloha může trvat osm hodin se čtyřmi uzly clusteru. Může se ale stát, že úloha používá všechny čtyři uzly pouze během prvních dvou hodin a potom se vyžadují jenom dva uzly. V takovém případě se spuštění celé úlohy na dvou uzlech zvýší celkovou dobu úlohy, ale nenavýší ji, takže celkové náklady jsou menší. V některých obchodních scénářích může být delší doba zpracování vhodnější než vyšší náklady na používání nedostatečně využitých prostředků clusteru.

  • Oddělení prostředků Pokud je to možné, oddělte prostředky na základě úloh, abyste se vyhnuli scénářům, jako je jedna úloha, pomocí všech prostředků, zatímco ostatní čekají.

  • Orchestrace příjmu dat V některých případech můžou stávající obchodní aplikace zapisovat datové soubory pro dávkové zpracování přímo do kontejnerů objektů blob úložiště Azure, kde je můžou využívat podřízené služby, jako je Microsoft Fabric. Často ale potřebujete orchestrovat příjem dat z místních nebo externích zdrojů dat do datového jezera. K dosažení předvídatelného a centrálně spravovaného přesunu dat použijte pracovní postup orchestrace nebo kanál, například kanál podporovaný službou Azure Data Factory nebo Microsoft Fabric.

  • V rané fázi vyřaďte citlivá data. Pracovní postup příjmu dat by měl spouštět citlivá data v rané fázi procesu, aby se zabránilo jejich ukládání do datového jezera.

Architektura IoT

IoT je specializovaná podmnožina řešení pro velké objemy dat. Následující diagram znázorňuje možnou logickou architekturu pro IoT. Diagram zdůrazňuje komponenty streamování událostí architektury.

Diagram architektury IoT

Cloudová brána ingestuje události zařízení na hranici cloudu. K zajištění efektivního přenosu dat používá spolehlivý systém zasílání zpráv s nízkou latencí.

Zařízení můžou odesílat události přímo do cloudové brány nebo prostřednictvím terénní brány. Brána pole je specializované zařízení nebo software, obvykle společně se zařízeními, který přijímá události a předává je do cloudové brány. Brána pole může také předem zpracovat nezpracované události zařízení provedením funkcí, jako je filtrování, agregace nebo transformace protokolu.

Po příjmu dat procházejí události jedním nebo více procesory datových proudů , které mohou směrovat data nebo provádět analýzy a jiné zpracování.

Zvažte následující běžné typy zpracování:

  • Data se načtou do úložiště dat založeného na událostech, jako je například eventhouse ve službě Real-Time Intelligence, aby bylo možno vytvořit kontext zařízení IoT s metadaty, jako je umístění budovy a informace o zařízení.

  • Analýza streamu událostí v reálném čase za účelem detekce anomálií, rozpoznávání vzorů v průběhu běhu časových intervalů nebo aktivace upozornění v případě, že v datovém proudu dojde ke konkrétním podmínkám.

  • Zpracování speciálních typů zpráv bez telemetrie ze zařízení, jako jsou oznámení a výstrahy

  • Vyhodnocování událostí pomocí modelů strojového učení k detekci anomálií, predikci selhání nebo klasifikaci chování zařízení

Šedá pole zobrazují komponenty systému IoT, které přímo nesouvisí s eventstreamingem. Jsou tady pro úplnost.

  • Registr zařízení je databáze zřízených zařízení. Zahrnuje ID zařízení a obvykle obsahuje metadata, jako je umístění.

  • API pro zřizování je běžné externí rozhraní pro zřizování a registraci nových zařízení.

  • Některá řešení IoT umožňují odesílat příkazy a řídicí zprávy do zařízení.