Volba technologie zpracování datových proudů v Azure
Tento článek porovnává technologické volby pro zpracování datových proudů v reálném čase v Azure.
Zpracování datových proudů v reálném čase využívá zprávy z fronty nebo souborové úložiště, zpracovává zprávy a předává výsledek do jiné fronty zpráv, úložiště souborů nebo databáze. Zpracování může zahrnovat dotazování, filtrování a agregaci zpráv. Moduly pro zpracování datových proudů musí být schopné využívat nekonečné datové proudy a vytvářet výsledky s minimální latencí. Další informace najdete v tématu Zpracování v reálném čase.
Jaké máte možnosti při výběru technologie pro zpracování v reálném čase?
V Azure budou všechna následující úložiště dat splňovat základní požadavky na podporu zpracování v reálném čase:
- Azure Stream Analytics
- HDInsight se streamováním Sparku
- Apache Spark na platformě Azure Databricks
- HDInsight se Stormem
- Azure Functions
- Azure App Service WebJobs
- Apache Kafka rozhraní API streamů
Klíčová kritéria výběru
Ve scénářích zpracování v reálném čase začněte výběrem vhodné služby pro vaše potřeby zodpovězením těchto otázek:
Dáváte přednost deklarativnímu nebo imperativnímu přístupu k vytváření logiky zpracování datových proudů?
Potřebujete integrovanou podporu pro dočasné zpracování nebo práci s okny?
Přicházejí vaše data ve formátech kromě Avro, JSON nebo CSV? Pokud ano, zvažte možnosti, které podporují libovolný formát pomocí vlastního kódu.
Potřebujete škálovat zpracování nad 1 GB/s? Pokud ano, zvažte možnosti škálování s velikostí clusteru.
Matice schopností
Následující tabulky shrnují hlavní rozdíly v možnostech.
Obecné možnosti
| Schopnost | Azure Stream Analytics | HDInsight se streamováním Sparku | Apache Spark na platformě Azure Databricks | HDInsight se Stormem | Azure Functions | Azure App Service WebJobs |
|---|---|---|---|---|---|---|
| Programovatelnost | Dotazovací jazyk Stream Analytics, JavaScript | C#/F#, Java, Python, Scala | C#/F#, Java, Python, R, Scala | C#, Java | C#, F#, Java, Node.js, Python | C#, Java, Node.js, PHP, Python |
| Programovací paradigma | Deklarativní | Kombinace deklarativních a imperativních | Kombinace deklarativních a imperativních | Imperative | Imperative | Imperative |
| Cenový model | Jednotky streamování | Za hodinu clusteru | Jednotky Databricks | Za hodinu clusteru | Využití prostředků a spuštění funkce | Na hodinu plánu služby App Service |
Možnosti integrace
| Schopnost | Azure Stream Analytics | HDInsight se streamováním Sparku | Apache Spark na platformě Azure Databricks | HDInsight se Stormem | Azure Functions | Azure App Service WebJobs |
|---|---|---|---|---|---|---|
| Vstupy | Azure Event Hubs, Azure IoT Hub, Azure Blob Storage | Event Hubs, IoT Hub, Kafka, HDFS, Storage blob, Azure Data Lake Store | Event Hubs, IoT Hub, Kafka, HDFS, Storage blob, Azure Data Lake Store | Event Hubs, IoT Hub, Storage blob, Azure Data Lake Store | Podporované vazby | Service Bus, Storage fronty, Storage objekty blob, Event Hubs, webhooky, Cosmos DB, soubory |
| Propadů | Azure Data Lake Store, Azure SQL Database, Storage Blobs, Event Hubs, Power BI, Table Storage, Service Bus Queues, Service Bus Topics, Cosmos DB, Azure Functions | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Cosmos DB | Event Hubs, Service Bus, Kafka | Podporované vazby | Service Bus, Storage fronty, Storage objekty blob, Event Hubs, webhooky, Cosmos DB, soubory |
Možnosti zpracování
| Schopnost | Azure Stream Analytics | HDInsight se streamováním Sparku | Apache Spark na platformě Azure Databricks | HDInsight se Stormem | Azure Functions | Azure App Service WebJobs |
|---|---|---|---|---|---|---|
| Integrovaná podpora dočasného nastavení nebo oken | Ano | Ano | Ano | Ano | Ne | Ne |
| Formáty vstupních dat | Avro, JSON nebo CSV, kódování UTF-8 | Libovolný formát s využitím vlastního kódu | Libovolný formát s využitím vlastního kódu | Libovolný formát s využitím vlastního kódu | Libovolný formát s využitím vlastního kódu | Libovolný formát s využitím vlastního kódu |
| Škálovatelnost | Oddíly dotazů | Ohraničené velikostí clusteru | Ohraničené konfigurací škálování clusteru Databricks | Ohraničené velikostí clusteru | Až 200 souběžných zpracování instancí aplikace funkcí | Ohraničené kapacitou plánu služby App Service |
| Podpora zpracování událostí po pozdním doručení a mimo pořadí | Ano | Ano | Ano | Ano | Ne | Ne |
Viz také: