Streamfeldolgozási technológia kiválasztása az Azure-ban
Ez a cikk összehasonlítja a valós idejű streamfeldolgozáshoz szükséges technológiai lehetőségeket az Azure-ban.
A valós idejű streamfeldolgozás üzenetsorból vagy fájlalapú tárolóból származó üzeneteket használ fel, feldolgozza az üzeneteket, és továbbítja az eredményt egy másik üzenetsorba, fájltárolóba vagy adatbázisba. A feldolgozás magában foglalhatja az üzenetek lekérdezését, szűrését és összesítését. A streamfeldolgozó motoroknak képesnek kell lenniük arra, hogy végtelen mennyiségű adatfolyamot használjanak fel, és minimális késéssel hozzanak létre eredményeket. További információ: Valós idejű feldolgozás.
Milyen lehetőségek állnak rendelkezésre a valós idejű feldolgozáshoz használt technológia kiválasztásakor?
Az Azure-ban az alábbi adattárak mindegyike megfelel a valós idejű feldolgozást támogató alapvető követelményeknek:
- Azure Stream Analytics
- HDInsight a Spark Streaming szolgáltatással
- Apache Spark az Azure Databricksben
- HDInsight és Storm
- Azure Functions
- Azure App Service WebJobs
- Apache Kafka streams API
Kulcsválasztási feltételek
Valós idejű feldolgozási forgatókönyvek esetén az alábbi kérdések megválaszolásával kezdje el kiválasztani az igényeinek megfelelő szolgáltatást:
Inkább deklaratív vagy imperatív megközelítést használ a streamfeldolgozási logika létrehozásához?
Szüksége van beépített támogatásra az időbeli feldolgozáshoz vagy az ablakozáshoz?
Az adatok Avro, JSON vagy CSV mellett formátumokban érkeznek? Ha igen, fontolja meg azokat a beállításokat, amelyek bármilyen formátumot támogatnak egyéni kóddal.
1 GB/s-nál nagyobbra kell skáláznia a feldolgozást? Ha igen, vegye figyelembe a fürt méretével skálázható beállításokat.
Képességmátrix
Az alábbi táblázatok összefoglalják a képességek főbb különbségeit.
Általános képességek
Funkció | Azure Stream Analytics | HDInsight a Spark Streaming szolgáltatással | Apache Spark az Azure Databricksben | HDInsight és Storm | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|---|
Programozhatóság | SQL, 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 |
Programozási paradigma | Deklaratív | Deklaratív és imperatív keverék | Deklaratív és imperatív keverék | Imperatív | Imperatív | Imperatív |
Díjszabási modell | Streamelési egységek | Fürtönkénti óra | Databricks-egységek | Fürtönkénti óra | Függvényvégrehajtás és erőforrás-felhasználás szerint | App Service-csomagonkénti óra |
Integrációs képességek
Funkció | Azure Stream Analytics | HDInsight a Spark Streaming szolgáltatással | Apache Spark az Azure Databricksben | HDInsight és Storm | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|---|
Inputs | Azure Event Hubs, Azure IoT Hub, Azure Blob storage/ADLS Gen2 | Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store | Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store | Event Hubs, IoT Hub, Storage Blobs, Azure Data Lake Store | Támogatott kötések | Service Bus, Tárolási üzenetsorok, Tárolóblobok, Event Hubs, WebHooks, Azure Cosmos DB, Files |
Mosogató | Azure Data Lake Storage Gen 1, Azure Data Explorer, Azure Database for PostgreSQL, Azure SQL Database, Azure Synapse Analytics, Blob Storage és Azure Data Lake Gen 2, Azure Event Hubs, Power BI, Azure Table Storage, Azure Service Bus-üzenetsorok, Azure Service Bus-témakörök, Azure Cosmos DB, Azure Functions | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Azure Cosmos DB | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Azure Cosmos DB | Event Hubs, Service Bus, Kafka | Támogatott kötések | Service Bus, Tárolási üzenetsorok, Tárolóblobok, Event Hubs, WebHooks, Azure Cosmos DB, Files |
Feldolgozási képességek
Funkció | Azure Stream Analytics | HDInsight a Spark Streaming szolgáltatással | Apache Spark az Azure Databricksben | HDInsight és Storm | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|---|
Beépített temporális/ablakos támogatás | Igen | Yes | Yes | Igen | Nem | Nem |
Bemeneti adatformátumok | Avro, JSON vagy CSV, UTF-8 kódolású | Bármilyen formátum egyéni kóddal | Bármilyen formátum egyéni kóddal | Bármilyen formátum egyéni kóddal | Bármilyen formátum egyéni kóddal | Bármilyen formátum egyéni kóddal |
Méretezhetőség | Partíciók lekérdezése | Fürtméret szerint határolt | A Databricks-fürt méretezési konfigurációja által határolt | Fürtméret szerint határolt | Akár 200 függvényalkalmazás-példány feldolgozása párhuzamosan | Az App Service-csomag kapacitása szerint határolt |
Késői érkezés és rendelésen kívüli eseménykezelés támogatása | Igen | Yes | Yes | Igen | Nem | Nem |
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Zoiner Tejada | vezérigazgató és tervező
További lépések
- App Service overview
- Az Azure Functions felfedezése
- Az Azure Stream Analytics használatának első lépései
- Speciális streamelési adatátalakítások végrehajtása
- Fürtök beállítása a HDInsightban
- Az Apache Spark használata az Azure Databricksben
Kapcsolódó erőforrások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: