Explorați elementele comune ale arhitecturii de procesare a fluxului
Există multe tehnologii pe care le puteți utiliza pentru a implementa o soluție de procesare în flux, dar în timp ce detaliile specifice de implementare pot varia, există elemente comune pentru majoritatea arhitecturilor de redare în flux.
O arhitectură generală pentru procesarea fluxului
La cea mai simplă arhitectură de nivel înalt pentru procesarea fluxului arată astfel:
- Un eveniment generează unele date. Acesta poate fi un semnal emis de un senzor, un mesaj de rețele sociale postat, o intrare de fișier jurnal scrisă sau orice altă apariție care duce la unele date digitale.
- Datele generate sunt capturate într-o sursă de redare în flux pentru procesare. În cazuri simple, sursa poate fi un folder dintr-un depozit de date în cloud sau un tabel dintr-o bază de date. În soluții mai robuste de redare în flux, sursa poate fi o "coadă" care captează logica pentru a vă asigura că datele despre evenimente sunt procesate în ordine și că fiecare eveniment este procesat o singură dată.
- Datele evenimentului sunt procesate adesea de o interogare perpetuă care operează cu datele evenimentului pentru a selecta date pentru anumite tipuri de evenimente, valori de date de proiect sau valori de date agregate în perioade temporale (bazate pe timp) (sau ferestre) - de exemplu, prin numărarea numărului de emisii de senzori pe minut.
- Rezultatele operațiunii de procesare a fluxului sunt scrise într-o ieșire (sau o chiuvetă), care poate fi un fișier, un tabel de bază de date, un tablou de bord vizual în timp real sau o altă coadă de procesare ulterioară de către o interogare în aval ulterioară.
Servicii de analiză în timp real
Microsoft acceptă mai multe tehnologii pe care le puteți utiliza pentru a implementa analize în timp real ale datelor în flux, inclusiv:
- Azure Stream Analytics: O soluție de tip platformă ca serviciu (PaaS) pe care o puteți utiliza pentru a defini activitățile de redare în flux care ingerează date dintr-o sursă de redare în flux, a aplica o interogare perpetuă și a scrie rezultatele la un rezultat.
- Spark Structured Streaming: o bibliotecă open-source care vă permite să dezvoltați soluții complexe de redare în flux pe servicii bazate pe Apache Spark, inclusiv Microsoft Fabric și Azure Databricks.
- Microsoft Fabric: O platformă de baze de date și analiză de înaltă performanță care include Data Engineering, Data Factory, Data Science, Real-Time Intelligence, Data Warehouse și Baze de Date.
Surse pentru procesarea fluxului
Următoarele servicii sunt utilizate de obicei pentru a ingera date pentru procesarea fluxului pe Azure:
- Huburi de evenimente Azure: Un serviciu de ingestie a datelor pe care le puteți utiliza pentru a gestiona cozi de date despre evenimente, pentru a vă asigura că fiecare eveniment este procesat în ordine, exact o dată.
- Azure IoT Hub: un serviciu de ingestie a datelor similar cu huburile de evenimente Azure, dar optimizat pentru a gestiona datele evenimentului de pe dispozitive internet-of-things (IoT).
- Azure Data Lake Store Gen 2: un serviciu de stocare foarte scalabil utilizat adesea în scenarii de procesare pe loturi , dar poate fi utilizat și ca sursă de date de redare în flux.
- Apache Kafka: O soluție de ingestie a datelor open-source utilizată de obicei împreună cu Apache Spark.
Chiuvete pentru procesarea fluxului
Ieșirea din procesarea fluxului este adesea trimisă la următoarele servicii:
- Huburile de evenimente Azure: Utilizate pentru a plasa în coadă datele procesate pentru procesare ulterioară în aval.
- Azure Data Lake Store Gen 2, Microsoft OneLake sau azure blob storage: Utilizat pentru a menține rezultatele procesate ca fișier.
- Bază de date Azure SQL, Azure Databricks sau Microsoft Fabric: Utilizat pentru a menține rezultatele procesate într-un tabel pentru interogare și analiză.
- Microsoft Power BI: Utilizat pentru a genera vizualizări în timp real ale datelor în rapoarte și tablouri de bord.