Data Flow
Het koppelen van TSI aan bestaande Azure architecturen kan door middel van Event Hub of IOT Hub. Hiervoor zijn geen ingewikkelde authorisatie of integratie stappen nodig. Azure herkent automatisch de verschillende instanties van deze services en kan daar een relatie tussen leggen. Met IOTHub kan met het gebruik van message routing een filter worden ingesteld welke soorten berichten wel en niet in TSI terecht komen.
Ook het ontvangen van data en events in TSI behoeft vrijwel geen configuratie. Zodra er data binnenkomt van een nog onbekend device, maakt TSI een nieuwe zogeheten instance aan waaronder vanaf dat moment alle datastromen opgeslagen worden. Deze data wordt opgeslagen in een hot store database die een hoge uitleessnelheid heeft voor de meest recente data. Na een te configureren aantal dagen wordt de data automatisch uit de hot store database verwijderd en staat de data alleen nog in een cold store database. In de web applicatie, waar de data in te zien is, merkt de gebruiker niets van deze twee typen databases. Ook als de data uitgelezen wordt middels de TSI API bepaalt TSI zelf of de data uit de cold of hot store gelezen moet worden.
Visualisatie en analyse
Het meest waardevolle component van TSI is de TSI environment. Het is een web applicatie waarmee alle data op allerlei verschillende manieren kan worden gevisualiseerd en geanalyseerd. Hiervoor is een klein stuk configuratie nodig waardoor TSI weet hoe de data gerepresenteerd moet worden. De opties hiervoor zijn onder andere:
– Wiskundige operaties zoals min, max, avg, sum en median
– Vergelijkingen ( <, >, <=, >=, =, !=, +, -, *, / )
– If-statements
Bovenstaande afbeelding toont de TSI environment waarin verschillende devices (stations in dit geval) zijn onderverdeeld in groepen (factories).
Conclusie
Als je IOT devices al data opsturen door middel van events of zelfs al naar Azure IOT Hub, is Azure Time Series Insights zeer geschikt voor het verzamelen en inzichtelijk maken hiervan. Enige kennis van wiskundige operaties en aggregaties is voor de meeste oplossingen echter wel vereist, maar programmeerervaring niet.