Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Architektura velkých objemů dat spravuje příjem, zpracování a analýzu dat, která jsou pro tradiční databázové systémy příliš velká nebo složitá. Prahová hodnota pro zadávání sféry velkých objemů dat se liší mezi organizacemi v závislosti na jejich nástrojích a možnostech uživatelů. Některé organizace spravují stovky gigabajtů dat a jiné organizace spravují stovky terabajtů. S tím, jak se vyvíjejí nástroje pro práci s velkými datovými sadami, se definice velkých objemů dat přesouvá od zaměření výhradně na velikost dat a zdůrazňuje hodnotu odvozenou z pokročilé analýzy. I když tyto typy scénářů mají tendenci mít velké objemy dat.
V průběhu let se svět dat proměňuje. Změnilo se to, co můžete s daty provádět a co se od vás očekává. Náklady na úložiště se výrazně snížily, zatímco metody shromažďování dat se stále rozšiřují. Některá data přicházejí rychlým tempem a vyžadují průběžné shromažďování a pozorování. Jiná data přicházejí pomaleji, ale ve velkých blocích a často ve formě desetiletí historických dat. Můžete narazit na problém s pokročilou analýzou nebo s problémem, který vyžaduje řešení strojového učení. Architektury velkých objemů dat se snaží tyto výzvy vyřešit.
Ř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í
Pokud potřebujete provést následující úlohy, zvažte architektury velkých objemů dat:
- Ukládání a zpracování dat ve svazcích, které jsou pro tradiční databázi příliš velké
- Transformace nestrukturovaných dat pro analýzu a reportování
- Zachycení, zpracování a analýza nevázaných datových proudů v reálném čase nebo s nízkou latencí
Komponenty architektury pro velké objemy dat
Následující diagram znázorňuje logické komponenty architektury velkých objemů dat. Jednotlivá řešení nemusí obsahovat každou položku v tomto diagramu.
Většina architektur pro velké objemy dat zahrnuje některé nebo všechny následující komponenty:
Zdroje dat: Všechna řešení pro velké objemy dat začínají jedním nebo více zdroji dat. Mezi příklady patří:
- Úložiště dat aplikací, jako jsou relační databáze.
- Statické soubory, které aplikace vytvářejí, například soubory protokolu webového serveru.
- Zdroje dat v reálném čase, jako jsou zařízení Internetu věcí (IoT).
Ú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 nazývá data lake. Mezi možnosti implementace tohoto úložiště patří Azure Data Lake Store, kontejnery objektů blob ve službě Azure Storage nebo OneLake v Microsoft Fabric.
Dávkové zpracování: Datové sady jsou velké, takže řešení pro velké objemy dat často zpracovává datové soubory pomocí dlouhotrvajících dávkových úloh k filtrování, agregaci a další přípravě dat na analýzu. Tyto úlohy obvykle zahrnují čtení zdrojových souborů, jejich zpracování a zápis výstupu do nových souborů. Můžete použít následující možnosti:
- Použití jazyka Python, Scala nebo SQL v poznámkových blocích Azure Databricks
- Použití jazyka Python, Scala nebo SQL v poznámkových blocích Fabric
Příjem zpráv v reálném čase: Pokud řešení obsahuje zdroje v reálném čase, architektura musí zaznamenávat a ukládat zprávy v reálném čase pro zpracování datových proudů. Můžete mít například jednoduché úložiště dat, které shromažďuje příchozí zprávy ke zpracování. Mnoho řešení však potřebuje úložiště pro příjem zpráv, které slouží jako vyrovnávací paměť pro zprávy a podporuje škálovatelné zpracování, spolehlivé doručování a některé mechanismy front zpráv. Tato část architektury streamování se často označuje jako ukládání streamů do vyrovnávací paměti. Mezi možnosti patří Azure Event Hubs, Azure IoT Hub a Kafka.
Zpracování datových proudů: Jakmile řešení zachytí zprávy v reálném čase, musí je zpracovat filtrováním, agregací a přípravou dat na analýzu. Zpracovaná data datového proudu se pak zapíšou do výstupního úložiště.
- V Azure Databricks můžete používat open-source streamovací technologie Apache, jako je Spark Streaming.
- Azure Functions je bezserverová výpočetní služba, která může spouštět kód řízený událostmi, což je ideální pro jednoduché úlohy zpracování datových proudů.
- Fabric podporuje zpracování dat v reálném čase pomocí událostních proudů a zpracování pomocí Sparku.
Analytické úložiště dat: Mnoho řešení pro velké objemy dat připraví data na analýzu a pak je obsluhuje ve strukturovaném formátu, na který můžou analytické nástroje dotazovat. Úložiště analytických dat, které tyto dotazy obsluhuje, může být relačním datovým skladem ve stylu Kimball. Většina tradičních řešení business intelligence (BI) používá tento typ datového skladu. Případně můžete data prezentovat prostřednictvím technologie NoSQL s nízkou latencí, jako je HBase nebo interaktivní databáze Hive, která poskytuje abstrakci metadat datových souborů v distribuovaném úložišti dat.
- Fabric poskytuje různá úložiště dat, včetně SQL databází, datových skladů, jezerových domů a událostních domů. Tyto nástroje můžou sloužit k analýze dat.
- Azure poskytuje další úložiště analytických dat, jako jsou Azure Databricks, Azure Data Explorer, Azure SQL Database a Azure Cosmos DB.
Analýzy a vytváření sestav: Většina řešení pro velké objemy dat se snaží poskytovat přehledy o datech prostřednictvím analýzy a vytváření sestav. Aby uživatelé mohli analyzovat data, může architektura zahrnovat vrstvu modelování dat, jako je multidimenzionální datová krychle pro online analytické zpracování 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.
Datoví vědci nebo datoví analytici mohou také analyzovat a hlásit prostřednictvím interaktivního zkoumání dat. V těchto scénářích mnoho služeb Azure podporuje analytické poznámkové bloky, jako je Jupyter, aby tito uživatelé mohli používat své stávající dovednosti s Pythonem nebo Microsoft R. Pro rozsáhlé zkoumání dat můžete použít Microsoft R Server, a to buď samostatně, nebo se Sparkem. Můžete také použít Fabric k úpravě datových modelů, což poskytuje flexibilitu a efektivitu pro modelování a analýzu dat.
Orchestrace: Většina řešení pro velké objemy dat se skládá z opakovaných operací zpracování dat, které jsou zapouzdřené v pracovních postupech. Operace provádějí následující úkoly:
- Transformace zdrojových dat
- Přesun dat mezi několika zdroji a jímky
- Načtení zpracovaných dat do analytického úložiště dat
- Posuňte výsledky přímo do sestavy nebo do dashboardu
K automatizaci těchto pracovních postupů použijte technologii orchestrace, jako je Azure Data Factory, Fabric nebo Apache Oozie a Apache Sqoop.
Architektura Lambda
Při práci s velkými datovými sadami může trvat dlouhou dobu, než se spustí typ dotazů, které klienti potřebují. Tyto dotazy se nedají provádět v reálném čase a často vyžadují distribuované algoritmy zpracování, jako je MapReduce , které pracují paralelně napříč celou datovou sadou. Výsledky dotazu se ukládají odděleně od nezpracovaných dat a používají se k dalšímu dotazování.
Jednou z nevýhod tohoto přístupu je, že představuje latenci. Pokud zpracování trvá několik hodin, může dotaz vrátit výsledky, které jsou staré několik hodin. V ideálním případě byste měli získat určité výsledky v reálném čase, potenciálně se ztrátou přesnosti a kombinovat tyto výsledky s výsledky dávkové analýzy.
Architektura Lambda tento problém řeší vytvořením dvou cest pro tok dat. Všechna data, která přicházejí do systému, procházejí následujícími dvěma cestami:
Dávková vrstva (studená cesta) ukládá všechna příchozí data v nezpracované podobě a provádí dávkové zpracování dat. Výsledek tohoto zpracování se uloží jako dávkové zobrazení.
Rychlostní vrstva (horká cesta) analyzuje data v reálném čase. Tato vrstva je určená pro nízkou latenci, ovšem na úkor přesnosti.
Dávková vrstva ústí do obslužné vrstvy, která indexuje dávkové zobrazení za účelem efektivního dotazování. Rychlostní vrstva přidává do obslužné vrstvy přírůstkové aktualizace založené na nejnovějších datech.
Data, která proudí do rychlé cesty, musí být zpracována rychle kvůli požadavkům na latenci, které vrstva rychlosti ukládá. Rychlé zpracování zajišťuje, že data jsou připravená k okamžitému použití, ale mohou představovat nepřesnost. Představte si například scénář IoT, ve kterém mnoho snímačů teploty odesílá telemetrická data. Vrstva rychlosti může zpracovávat posuvné časové okno příchozích dat.
Na data, která proudí do studené cesty, se nevztahují stejné požadavky na nízkou latenci. Studená cesta poskytuje výpočty s vysokou přesností napříč velkými datovými sadami, ale může trvat dlouhou dobu.
Horké a studené cesty se nakonec sbíhají v analytické klientské aplikaci. Pokud klient potřebuje zobrazit aktuální, ale potenciálně méně přesná data v reálném čase, získá svůj výsledek z rychlé cesty. V opačném případě klient vybere výsledky ze studené cesty, aby se zobrazila méně včasná, ale přesnější data. Jinak řečeno, horká cesta obsahuje data za relativně krátké období, po jehož uplynutí se dají výsledky aktualizovat pomocí přesnějších dat ze studené cesty.
Nezpracovaná data uložená v dávkové vrstvě jsou neměnná. Příchozí data se připojují k existujícím datům a předchozí data se nepřepíšou. Změny hodnoty konkrétního data se ukládají jako nový záznam události s časovým razítkem. Záznamy událostí s časovým razítkem umožňují přepočítání v jakémkoli okamžiku v historii shromážděných dat. Schopnost překompilovat dávkové zobrazení z původních nezpracovaných dat je důležitá, protože umožňuje vytvářet nová zobrazení s vývojem systému.
Strojové učení v architektuře Lambda
Architektury lambda podporují úlohy strojového učení tím, že poskytují historická data pro trénování modelu i data v reálném čase pro odvozování. Dávková vrstva umožňuje trénování komplexních historických datových sad pomocí úloh Azure Machine Learning nebo Fabric Data Science. Vrstva rychlosti usnadňuje odvozování a vyhodnocování modelů v reálném čase. Tento duální přístup umožňuje modely natrénované na kompletních historických datech a současně poskytují okamžité předpovědi příchozích datových proudů.
Architektura Kappa
Nevýhodou architektury Lambda je její složitost. Logika zpracování se vyskytuje na dvou různých místech, studené a horké cesty, prostřednictvím různých rámců. Tento proces vede k duplikaci výpočetní logiky a složité správě architektury pro obě cesty.
Architektura Kappa je alternativou k architektuře Lambda. Má stejné základní cíle jako architektura Lambda, ale všechna data procházejí jednou cestou prostřednictvím systému zpracování datových proudů.
Podobně jako dávková vrstva architektury Lambda jsou data událostí neměnná a sbírána všechna data namísto pouhé podmnožiny dat. Data se ingestují jako datový proud událostí do distribuovaného sjednoceného protokolu odolného proti chybám. Tyto události jsou seřazené a aktuální stav události se mění jenom tak, že se připojí nová událost. Veškeré zpracování událostí se podobně jako rychlostní vrstva architektury Lambda provádí ve vstupním datovém proudu a ukládá se jako aktuální zobrazení v reálném čase.
Pokud potřebujete překompilovat celou datovou sadu (ekvivalentní dávkové vrstvě v architektuře Lambda), můžete stream přehrát znovu. Tento proces obvykle používá paralelismus k dokončení výpočtů včas.
Strojové učení v architektuře Kappa
Architektury Kappa umožňují jednotné pracovní postupy strojového učení tím, že zpracovávají všechna data prostřednictvím jednoho kanálu streamování. Tento přístup zjednodušuje nasazení a údržbu modelu, protože stejná logika zpracování platí pro historická i data v reálném čase. Pomocí úloh Azure Machine Learning nebo Fabric Data Science můžete vytvářet modely, které zpracovávají streamovaná data a umožňují průběžné učení a přizpůsobení v reálném čase. Architektura podporuje algoritmy online učení, které aktualizují modely přírůstkově při příchodu nových dat.
Architektura Lakehouse
Data Lake je centralizované úložiště dat, které ukládá strukturovaná data (databázové tabulky), částečně strukturovaná data (soubory XML) a nestrukturovaná data (obrázky a zvukové soubory). Tato data jsou v nezpracovaných, původních formátech a nevyžadují předdefinované schéma. Datové jezero dokáže zpracovávat velké objemy dat, takže je vhodné pro zpracování a analýzu velkých objemů dat. Datová jezera používají nízkonákladová řešení úložiště, která poskytují nákladově efektivní způsob ukládání velkých objemů dat.
Datový sklad je centralizované úložiště, které ukládá strukturovaná a částečně strukturovaná data pro účely vytváření sestav, analýzy a BI. Datové sklady vám můžou pomoct činit informovaná rozhodnutí tím, že poskytují konzistentní a komplexní přehled o vašich datech.
Architektura Lakehouse kombinuje nejlepší prvky datových jezer a datových skladů. Cílem tohoto modelu je poskytnout jednotnou platformu, která podporuje strukturovaná i nestrukturovaná data, což umožňuje efektivní správu a analýzu dat. Tyto systémy obvykle používají nízkonákladové cloudové úložiště v otevřených formátech, jako jsou Parquet nebo Optimized Row Columnar, k ukládání nezpracovaných i zpracovaných dat.
Mezi běžné případy použití architektury lakehouse patří:
- Sjednocená analýza: Ideální pro organizace, které potřebují jednu platformu pro historickou i analýzu dat v reálném čase.
- Zásady správného řízení dat: Zajišťuje dodržování předpisů a kvalitu dat napříč velkými datovými sadami.
Architektura strojového učení v Lakehouse
Architektury Lakehouse excelují na podporu komplexních pracovních postupů strojového učení tím, že poskytují jednotný přístup ke strukturovaným i nestrukturovaným datům. Datoví vědci mohou s využitím pracovních zátěží Fabric Data Science přistupovat k nezpracovaným datům pro průzkumnou analýzu, přípravu parametrů a trénink modelů bez složitého přesunu dat. Tato architektura podporuje kompletní životní cyklus strojového učení, od přípravy dat a vývoje modelů pomocí poznámkových bloků Azure Machine Learning nebo Fabric notebooků až po nasazení a monitorování modelů. Jednotná vrstva úložiště umožňuje efektivní spolupráci mezi datovými inženýry a datovými vědci při zachování rodokmenu dat a zásad správného řízení.
IoT
IoT představuje jakékoli zařízení, které se připojuje k internetu a odesílá nebo přijímá data. Zařízení IoT zahrnují počítače, mobilní telefony, chytré hodinky, inteligentní termostaty, inteligentní ledničky, připojené automobily a implantáty pro monitorování srdce.
Počet připojených zařízení se každý den zvětšuje, takže množství dat, která vygenerují. Tato data se často shromažďují v prostředích s významnými omezeními a někdy i vysokou latencí. V jiných případech tisíce nebo miliony zařízení odesílají data z prostředí s nízkou latencí, která vyžadují rychlý příjem a zpracování. Musíte správně naplánovat zpracování těchto omezení a jedinečných požadavků.
Architektury řízené událostmi jsou ústřední pro řešení IoT. Následující diagram znázorňuje logickou architekturu pro IoT. Diagram zdůrazňuje komponenty streamování událostí architektury.
Cloudová brána ingestuje události zařízení na hranici cloudu prostřednictvím spolehlivého systému 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. Hraniční brána je specializované zařízení nebo software, je obvykle umístěná společně se zařízeními, přijímá události a předává je cloudové bráně. Polní brána může také předzpracovat nezpracované události zařízení, včetně filtrování, agregace nebo transformace protokolů.
Po příjmu dat procházejí události jedním nebo více procesory datových proudů , které mohou směrovat data do cílů, jako je úložiště, nebo provádět analýzy a jiné zpracování.
Mezi běžné typy zpracování patří:
Zápis dat událostí do studeného úložiště pro archivaci nebo dávkové analýzy
Analýza prioritních datových cest Analyzujte datový proud událostí téměř v reálném čase, abyste zjistili anomálie, rozpoznali vzory v časových oknech s průběžným časem nebo aktivujte výstrahy, když dojde ke konkrétní podmínce v datovém proudu.
Zpracování speciálních typů zpráv bez telemetrie ze zařízení, jako jsou oznámení a výstrahy
Strojové učení pro prediktivní údržbu, detekci anomálií a inteligentní rozhodování
V předchozím diagramu jsou šedá pole komponentami systému IoT, které přímo nesouvisí se streamováním událostí. Jsou součástí diagramu pro úplnost.
registru zařízení je databáze zřízených zařízení, včetně ID zařízení a obvykle metadat zařízení, jako je například 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í.
Strojové učení v architektuře IoT
Architektury IoT používají strojové učení pro inteligentní výpočetní prostředí edge a cloudové analýzy. Hraniční zařízení můžou spouštět zjednodušené modely pro rozhodování v reálném čase, zatímco komplexní modely zpracovávají agregovaná data v cloudu pomocí úloh Azure Machine Learning nebo Fabric Data Science. Mezi běžné aplikace patří prediktivní údržba, detekce anomálií a automatizované systémy odezvy. Tato architektura podporuje streamovací analýzy pro okamžité vhledy a dávkové zpracování pro trénování a zpřesnění modelu pomocí historických dat IoT.
Další kroky
- IoT Hub
- Azure Data Explorer
- Průvodce rozhodováním Microsoft Fabric: Choos a Data Store
- Azure Databricks
- Azure Machine Learning
- Platforma datové vědy