Wybieranie technologii analizy i przetwarzania strumieniowego w czasie rzeczywistym na platformie Azure
Istnieje kilka usług dostępnych na potrzeby analizy w czasie rzeczywistym i przetwarzania strumieniowego na platformie Azure. Ten artykuł zawiera informacje potrzebne do podjęcia decyzji, która technologia jest najlepsza dla aplikacji.
Kiedy używać usługi Azure Stream Analytics
Usługa Azure Stream Analytics jest zalecaną usługą do analizy strumienia na platformie Azure. Można go używać w wielu różnych scenariuszach, które obejmują, ale nie są ograniczone do następujących:
- Pulpity nawigacyjne wizualizacji danych
- Alerty w czasie rzeczywistym z wzorców czasowych i przestrzennych lub anomalii
- Ekstrakcja, transformacja, ładowanie (ETL)
- Wzorzec określania źródła zdarzeń
- IoT Edge
Dodanie zadania usługi Azure Stream Analytics do aplikacji to najszybszy sposób na rozpoczęcie analizy przesyłania strumieniowego na platformie Azure przy użyciu już znanego języka SQL. Usługa Azure Stream Analytics to usługa zadań, więc nie musisz poświęcać czasu na zarządzanie klastrami i nie musisz martwić się o przestój z umową dotyczącą poziomu usług (SLA) na poziomie 99,9%. Rozliczenia są również wykonywane na poziomie zadania, co sprawia, że koszty uruchamiania są niskie (jedna jednostka przesyłania strumieniowego), ale skalowalne (do 396 jednostek przesyłania strumieniowego). Znacznie bardziej opłacalne jest uruchamianie kilku zadań usługi Stream Analytics niż uruchamianie i konserwację klastra.
Usługa Azure Stream Analytics oferuje zaawansowane środowisko gotowe do użycia. Możesz natychmiast skorzystać z następujących funkcji bez konieczności dodatkowej konfiguracji:
- Wbudowane operatory czasowe, takie jak agregacje okienne, sprzężenia czasowe i funkcje analityczne czasowe.
- Natywne karty wejściowe i wyjściowe platformy Azure
- Obsługa wolno zmieniających się danych referencyjnych (nazywanych również tabelami odnośników), w tym dołączania do danych referencyjnych geoprzestrzennych na potrzeby geofencingu.
- Zintegrowane rozwiązania, takie jak wykrywanie anomalii
- Wiele okien czasowych w tym samym zapytaniu
- Możliwość tworzenia wielu operatorów czasowych w dowolnych sekwencjach.
- Poniżej 100 ms całkowite opóźnienie danych wejściowych przychodzących do usługi Event Hubs do danych wyjściowych docelowych w usłudze Event Hubs, w tym opóźnienie sieci z i do usługi Event Hubs, przy stałej wysokiej przepływności
Kiedy należy używać innych technologii
Chcesz napisać funkcje zdefiniowane przez użytkownika, funkcje zdefiniowane przez użytkownika i niestandardowe deserializatory w języku innym niż JavaScript lub C#
Usługa Azure Stream Analytics obsługuje funkcje zdefiniowane przez użytkownika (UDF) lub agregacje zdefiniowane przez użytkownika (UDA) w języku JavaScript dla zadań w chmurze i języka C# dla zadań usługi IoT Edge. Obsługiwane są również deserializatory zdefiniowane przez użytkownika w języku C#. Jeśli chcesz zaimplementować deserializator, funkcję zdefiniowaną przez użytkownika lub uda w innych językach, takich jak Java lub Python, możesz użyć przesyłania strumieniowego ze strukturą platformy Spark. Możesz również uruchomić usługę Event Hubs EventProcessorHost na własnych maszynach wirtualnych, aby wykonać dowolne przetwarzanie przesyłania strumieniowego.
Twoje rozwiązanie znajduje się w środowisku wielochmurowym lub lokalnym
Usługa Azure Stream Analytics jest zastrzeżoną technologią firmy Microsoft i jest dostępna tylko na platformie Azure. Jeśli potrzebujesz rozwiązania do przenoszenia między chmurami lub środowiskiem lokalnym, rozważ technologie typu open source, takie jak przesyłanie strumieniowe ze strukturą platformy Spark lub apache Flink.
Następne kroki
- Tworzenie zadania usługi Stream Analytics przy użyciu witryny Azure Portal
- Tworzenie zadania usługi Stream Analytics przy użyciu programu Azure PowerShell
- Tworzenie zadania usługi Stream Analytics przy użyciu programu Visual Studio
- Tworzenie zadania usługi Stream Analytics przy użyciu programu Visual Studio Code