Een realtime analyse- en streamingverwerkingstechnologie kiezen in Azure
Er zijn verschillende services beschikbaar voor realtime analyse en streamingverwerking in Azure. Dit artikel bevat de informatie die u nodig hebt om te bepalen welke technologie het meest geschikt is voor uw toepassing.
Wanneer gebruikt u Azure Stream Analytics?
Azure Stream Analytics is de aanbevolen service voor Stream Analytics in Azure. U kunt deze gebruiken voor een breed scala aan scenario's die omvatten, maar die niet beperkt zijn tot:
- Dashboards voor gegevensvisualisatie
- Realtime waarschuwingen van tijdelijke en ruimtelijke patronen of afwijkingen
- Extraction, Transformation, Loading (ETL)
- Patroon gebeurtenisbronnen
- IoT Edge
Het toevoegen van een Azure Stream Analytics-taak aan uw toepassing is de snelste manier om streaminganalyses in Azure uit te voeren met behulp van de SQL-taal die u al kent. Azure Stream Analytics is een taakservice, dus u hoeft geen tijd te besteden aan het beheren van clusters en u hoeft zich geen zorgen te maken over downtime met een SLA (Service Level Agreement) van 99,9% op taakniveau. Facturering wordt ook uitgevoerd op taakniveau waardoor opstartkosten laag zijn (één streaming-eenheid), maar schaalbaar (maximaal 396 streaming-eenheden). Het is veel rendabeler om een paar Stream Analytics-taken uit te voeren dan het uitvoeren en onderhouden van een cluster.
Azure Stream Analytics biedt een uitgebreide out-of-the-box-ervaring. U kunt direct profiteren van de volgende functies zonder extra instellingen:
- Ingebouwde tijdelijke operators, zoals vensteraggregaties, tijdelijke joins en tijdelijke analysefuncties.
- Systeemeigen Azure-invoer- en uitvoeradapters
- Ondersteuning voor trage wijzigingsverwijzingsgegevens (ook wel opzoektabellen genoemd), waaronder samenvoegen met georuimtelijke referentiegegevens voor geofencing.
- Geïntegreerde oplossingen, zoals anomaliedetectie
- Meerdere tijdvensters in dezelfde query
- Mogelijkheid om meerdere tijdelijke operatoren op te stellen in willekeurige reeksen.
- Onder de 100 ms end-to-end latentie van invoer die bij Event Hubs aankomt, tot uitvoerlanding in Event Hubs, met inbegrip van de netwerkvertraging van en naar Event Hubs, met een aanhoudende hoge doorvoer
Wanneer andere technologieën worden gebruikt
U wilt UDF's, UDF's en aangepaste deserialisaties schrijven in een andere taal dan JavaScript of C#
Azure Stream Analytics ondersteunt door de gebruiker gedefinieerde functies (UDF) of door de gebruiker gedefinieerde aggregaties (UDA) in JavaScript voor cloudtaken en C# voor IoT Edge-taken. Door de gebruiker gedefinieerde C#-deserializers worden ook ondersteund. Als u een deserializer, een UDF of een UDA wilt implementeren in andere talen, zoals Java of Python, kunt u Spark Structured Streaming gebruiken. U kunt de Event Hubs EventProcessorHost ook uitvoeren op uw eigen virtuele machines om willekeurige streamingverwerking uit te voeren.
Uw oplossing bevindt zich in een omgeving met meerdere clouds of on-premises
Azure Stream Analytics is de eigen technologie van Microsoft en is alleen beschikbaar in Azure. Als u uw oplossing nodig hebt om overdraagbaar te zijn in clouds of on-premises, kunt u overwegen opensource-technologieën zoals Spark Structured Streaming of Apache Flink.