Sdílet prostřednictvím


Volba technologie zpracování datových proudů v Azure

Tento článek porovnává volby technologií pro zpracování datových proudů v reálném čase v Azure.

Přehled streamovaných dat

Organizace často mají různé zdroje dat, které současně generují zprávy, záznamy nebo data. Množství dat může být v rozsahu od několika bajtů po několik megabajtů (MB). Streamovaná data jsou emitována ve vysokém objemu, nepřetržitě a postupně, která jsou zpracovatelná téměř v reálném čase. Tento typ dat zahrnuje informace, které společnosti používají k analýze v reálném čase a přehled o různých aspektech jejich podnikání, jako jsou protokoly aplikací, aktualizace geografické polohy, události a čtení senzorů.

Streamovaná data mají často následující charakteristiky:

  • Nekonfektní integrita dat: Dočasné chyby ve zdroji můžou vést k chybějícím datovým prvkům. Souvislá povaha datového proudu může zavádět nekonzistence dat. Systémy zpracování a analýzy datových proudů proto obvykle zahrnují logiku pro ověření dat, která tyto chyby zmírní.

  • Průběžný tok dat: Datový proud nemá žádný začátek nebo konec, takže je nutné neustále shromažďovat data. Například protokoly aktivit serveru se hromadí po celou dobu spuštění serveru.

  • Různé formáty dat: Data můžete streamovat ve více formátech, jako jsou JSON, Avro a CSV. Může obsahovat různé datové typy, jako jsou řetězce, čísla, kalendářní data a binární typy. Systémy zpracování datových proudů musí zpracovávat tyto varianty dat.

  • Pořadí dat citlivých na čas: Jednotlivé prvky datového datového proudu obsahují časová razítka. Samotný datový proud může být citlivý na čas a po určitou dobu ztratí hodnotu. V některých případech je potřeba zachovat pořadí zpracování dat.

Možnosti technologie pro zpracování v reálném čase

Abychom vám pomohli vybrat tu správnou technologii, tato část popisuje běžné technologické možnosti v Azure od příjmu dat až po spotřebu. Jednotlivé dílčí části zvýrazňují doporučené technologie založené na jejich roli v toku zpracování streamování.

Tok pro zpracování datových proudů vysoké úrovně

Diagram znázorňující tok dat pro řešení zpracování datových proudů

Stáhněte si soubor aplikace Visio s touto architekturou.

Producenti streamů

Producenti datových toků generují a odesílají data do služeb pro ingestování Azure. Průběžně vytvářejí data ze zdrojů, jako jsou zařízení Internetu věcí (IoT), protokoly aplikací nebo databáze.

Producenti streamů poskytují následující výhody:

  • Zachyťte data téměř v reálném čase. Producenti můžou průběžně shromažďovat data ze zdrojů, jako jsou zařízení IoT, interakce uživatelů a protokoly aplikací. Streamují data do služeb Azure, jako jsou Azure Event Hubs nebo Azure IoT Hub.

  • Optimalizujte propustnost pomocí dávkování a komprese. Producenti mohou dávkovat zprávy a aplikovat kompresi k minimalizaci velikosti dat během přenosu. Tyto funkce zvyšují efektivitu.

  • Zajištění spolehlivého přenosu s využitím zpracování chyb a opakování Producenti můžou spravovat přerušení sítě nebo selhání zprostředkovatele prostřednictvím automatických opakování, aby se zajistilo spolehlivé doručování dat.

  • Zajistěte integritu dat pomocí idempotence. Producenty můžete nakonfigurovat tak, aby podporovali přesně jednou doručení, což brání duplicitním zprávám a zajišťuje konzistentní tok dat.

Součásti

  • IoT Hub ingestuje data IoT. Poskytuje funkce, jako je obousměrná komunikace, ověřování zařízení a offline ukládání zpráv do vyrovnávací paměti. Je ideální pro správu zařízení IoT a jejich datových proudů.

  • Producenti pro sledování změn v datech (CDC) zahrnují databáze Azure, jako jsou Azure SQL Database a Azure Cosmos DB.

    Pro přístup k datům CDC můžete použít konektory, jako je Debezium for SQL Database nebo kanál změn služby Azure Cosmos DB. Tyto konektory jsou často hostované v prostředích Azure Functions nebo Azure App Service. Pokud používáte funkci EventStreams Microsoft Fabric, nepotřebujete samostatné aplikace, jako je Debezium, pro propojení producentů CDC s podřízenými spotřebiteli.

  • Vlastní aplikace , jako je Debezium, je také možné hostovat jako samostatné aplikace ve spravovaných službách, jako je Azure Kubernetes Service (AKS) nebo App Service Environment. Tento přístup poskytuje větší kontrolu nebo přizpůsobení.

Obecné možnosti

Schopnost Centrum IoT Producenti CDC Vlastní aplikace
Metika zařízení a protokoly Ano Ne Ne
Spravovaná služba Ano Ne Ne
Škálovatelnost Ano Ano Ano

Příjem streamů

Producenti, jako jsou webové a mobilní aplikace, zařízení IoT a senzory, průběžně generují data. Kanál pro zpracování datových proudů musí tato data efektivně přijímat pro analýzu v reálném čase a dávkovou analýzu.

Vezměte v úvahu následující faktory:

  • Rychlost dat: Zjistěte, jak zpracovávat data s vysokou frekvencí z více zdrojů, což se často liší ve formátu a velikosti.

  • Škálovatelnost: Zajistěte, aby se vrstva příjmu mohla dynamicky škálovat s rostoucím objemem, rozmanitostí a rychlostí dat.

  • Integrita a spolehlivost dat: Zabránit ztrátě nebo duplikaci dat během přenosu

Komponenty pro příjem dat streamu

  • Event Hubs je služba pro příjem dat v reálném čase, která dokáže zpracovat miliony událostí za sekundu, což je ideální pro scénáře s vysokou propustností. Může dynamicky škálovat a zpracovávat obrovské objemy dat s nízkou latencí.

    Event Hubs podporuje funkce, jako je dělení na paralelní zpracování a zásady uchovávání dat. Integruje se se službami Azure, jako jsou Azure Stream Analytics, Fabric, Azure Databricks a Azure Functions. Služba Event Hubs se také integruje s Apache Kafka a můžete spouštět existující úlohy Kafka bez jakýchkoli změn kódu.

  • Event Grid je plně spravovaná služba směrování událostí. Ingestuje, distribuuje a reaguje na události z různých zdrojů, takže je ideální pro architektury řízené událostmi v reálném čase. Efektivně zpracovává oznámení událostí a integruje se se službami Azure, vlastními aplikacemi a partnerskými systémy. Event Grid hraje důležitou roli při příjmu streamů.

  • Kafka ve službě Azure HDInsight je spravovaná služba Apache Kafka pro příjem a zpracování dat ve velkém měřítku. Pomocí této služby můžete zaznamenávat a ukládat streamovaná data z různých zdrojů, jako jsou zařízení IoT, protokoly aplikací a informační kanály sociálních médií. Tato služba poskytuje další kontrolu nad konfigurací Kafka ve spravované infrastruktuře.

  • Apache Kafka v Confluent Cloudu je plně spravovaná služba Apache Kafka pro příjem dat v reálném čase. Integruje se s Azure, aby zjednodušila nasazení a škálování. Toto řešení zahrnuje funkce, jako je registr schématu, ksqlDB pro dotazy na stream a zabezpečení na podnikové úrovni. Tuto možnost použijte, pokud používáte rozšířený ekosystém konektorů a nástrojů pro zpracování datových proudů Společnosti Confluent.

Obecné možnosti příjmu streamů

Schopnost Centra událostí Kafka v HDInsightu Kafka v Confluentu
Uchovávání zpráv Ano Ano Ano
Omezení velikosti zprávy 1 MB Konfigurovatelný Konfigurovatelný
Spravovaná služba Ano Spravovaná infrastruktura jako služba Ano
Automatické škálování Ano Ano Ano
Nabídka partnerů Ne Ne Ano
Cenový model Na základě úrovně Za hodinu na cluster Modely spotřeby

Zpracování datových proudů

Tento krok zahrnuje procesy, které transformují data v reálném čase a filtrují, agregují, obohacují nebo analyzují ingestovaná data.

Vezměte v úvahu následující faktory:

  • Stavové a bezstavové zpracování: Rozhodněte se, jestli zpracování závisí na dříve viditelných datech (stavových) nebo nezávislých událostech (bezstavové).

  • Zpracování času události: Zohledněte scénáře, kdy je nutné zpracovávat datové proudy z více zdrojů společně, zejména pro záznamy, které přicházejí pozdě.

  • Práce v oknech: Pomocí posuvných nebo přeskakujících oken můžete spravovat agregace a analýzy založené na čase.

  • Odolnost proti chybám: Ujistěte se, že se systém může zotavit z chyb bez ztráty dat nebo chyby opětovného zpracování.

Komponenty zpracování datových proudů

  • Stream Analytics je spravovaná služba, která k povolení analýz v reálném čase používá dotazovací jazyk založený na SQL. Tuto službu použijte pro jednoduché úlohy zpracování, jako je filtrování, agregace a spojování datových proudů. Bezproblémově se integruje se službou Event Hubs, IoT Hub a Azure Blob Storage pro vstup a výstup. Stream Analytics nejlépe vyhovuje úlohám s nízkou složitostí v reálném čase, kde stačí jednoduché a spravované řešení s dotazy založenými na SQL.

  • Strukturované streamování Sparku je podporováno službami, jako jsou Fabric a Azure Databricks. Tyto služby poskytují jednotnou analytickou platformu, která je založená na Apache Sparku a dokáže zpracovávat složité transformace dat, kanály strojového učení a úlohy s velkými objemy dat. Rozhraní API pro streamování Sparku podporují hlubokou integraci s Delta Lake pro správu verzí dat a konzistenci.

  • Datové proudy událostí ve Fabricu jsou schopností streamování dat v reálném čase v rámci Fabricu, což je jednotná analytická platforma. Eventstreams umožňuje bezproblémový příjem, zpracování a integraci streamovaných dat pro analýzy a aplikace v reálném čase. Uživatelé mají přístup k eventstreamům s minimálními technickými znalostmi. Poskytuje rozhraní drag-and-drop k nastavení datových kanálů.

  • Azure Functions je bezserverová výpočetní služba pro zpracování řízené událostmi. Je užitečná pro jednoduché úlohy, jako je transformace dat nebo aktivace pracovních postupů na základě událostí v reálném čase. Funkce Azure jsou bezstavové podle návrhu. Funkce durable functions rozšiřují možnosti pro podporu stavových pracovních toků s cílem komplexní koordinace událostí.

Obecné možnosti zpracování proudů dat

Schopnost Stream Analytics Strukturované streamování Spark (Fabric, Azure Databricks) Streamy událostí Fabric Azure Functions
Mikrodávkové zpracování Ano Ano Ano Ne
Zpracování na základě událostí Ne Ne Ano Ano
Stavové zpracování Ano Ano Ano Ne
Podpora pro ukládání kontrolních bodů Ano Ano Ano Ne
Rozhraní s nízkým kódem Ano Ne Ano Ne
Cenový model Jednotky streamování Ano Skladová položka Fabric Ano

Streamingové datové cíle

Jakmile systém data zpracuje, přesměruje data do vhodných cílů nebo jímek pro ukládání, další analýzu nebo použití v aplikacích v reálném čase. Mezi tyto cíle patří databáze, datová jezera, analytické nástroje nebo řídicí panely pro vizualizaci.

Vezměte v úvahu následující faktory:

  • Spotřeba a využití dat: Power BI slouží k analýze v reálném čase nebo k vytváření sestav řídicích panelů. Integruje se dobře se službami Azure a poskytuje živé vizualizace datových proudů.

  • Požadavky na nízkou latenci: Určete, jestli váš systém musí poskytovat analýzy datových proudů v reálném čase, jako jsou metriky zařízení a protokoly aplikací. Některé aplikace také můžou vyžadovat ultra nízkou latenci pro čtení a zápisy, což je vhodné pro provozní analýzy nebo aplikace v reálném čase.

  • Škálovatelnost a objem: Posuďte potřebu vaší úlohy ingestovat velké objemy dat, podporovat různé formáty dat a škálovat efektivně a nákladově efektivně.

Komponenty cílových bodů streamování

  • Azure Data Lake Storage je škálovatelné, distribuované a nákladově efektivní řešení pro ukládání nestrukturovaných a částečně strukturovaných dat. Podporuje petabajtové úložiště a úlohy s vysokou propustností pro ukládání velkých objemů streamovaných dat. Umožňuje také rychlé operace čtení a zápisu, které podporují analýzy streamovaných dat a datových kanálů v reálném čase.

  • Eventhouse Fabric je databáze KQL pro analýzu v reálném čase a zkoumání dat založených na ventilaci, jako jsou metriky a data protokolů, data časových řad a data IoT. Podporuje příjem milionů událostí za sekundu s nízkou latencí. Tato funkce umožňuje téměř okamžitý přístup ke streamovaným datům. Eventhouse se hluboce integruje s ekosystémem Fabric. Umožňuje uživatelům okamžitě dotazovat a analyzovat streamovaná data pomocí nástrojů, jako je Power BI.

  • Azure Cosmos DB je databáze NoSQL pro nízkou latenci, globálně distribuované a vysoce škálovatelné úložiště dat. Poskytuje vysokou propustnost a dokáže zpracovávat velké objemy streamovaných dat s konzistentním výkonem.

  • SQL Database je plně spravovaná cloudová relační databázová služba. Je postaven na modulu SQL Serveru. Poskytuje tak možnosti tradiční databáze SQL Serveru s výhodami cloudové škálovatelnosti, spolehlivosti a snížené režie na správu.

Obecné možnosti streamovacích uzlů

Schopnost Data Lake Storage Fabric událostní dům Azure Cosmos DB Databáze SQL
Úložiště objektů pro obecné účely Ano Ne Ne Ne
Agregace streamovaných dat Ne Ano Ne Ne
Čtení a zápisy pro dokumenty JSON s nízkou latencí Ne Ano Ano Ne
Agregace strukturovaných dat pro Power BI Ne Ano Ne Ano
Cenový model Za GB nebo TB Skladová položka Fabric Jednotky žádostí Jednotka databázové transakce (DTU) nebo virtuální jádro

Přispěvatelé

Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.

Hlavní autor:

Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Prozkoumejte následující trénovací moduly: