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.
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ě
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:
- Pratima Valavala | Hlavní architekt řešení
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Fabric Eventhouse
- Tkanina
-
Data Lake Storage
Prozkoumejte následující trénovací moduly:
- Seznámení se službou Azure Functions
- Začínáme se Službou Stream Analytics
- Provádění pokročilých transformací streamovaných dat
- Použití Apache Sparku v Azure Databricks