Streaming Analytics (ook wel Fast Data processing) wordt een steeds populairder onderwerp binnen de financiële dienstverlening, marketing, het internet of things en de gezondheidszorg. Organisaties willen in real-time reageren op gebeurtenissen zoals clickstreams, transacties, logs en sensordata. Een kenmerkende streaming analytics-oplossing volgt een ‘pipes and filters’-patroon dat bestaat uit drie hoofdstappen: het detecteren van patronen op onbewerkte eventdata (Complex Event Processing), het evalueren van de uitkomsten met behulp van business rules en machine learning-algoritmen, en het beslissen over de volgende actie. De kern van deze architectuur is de uitvoering van voorspellende modellen die werken op enorme hoeveelheden nooit eindigende datastromen.
Maar met kansen komt complexiteit. Als je overschakelt van batch naar streaming, worden tijdgerelateerde aspecten van de gegevens ineens belangrijk. Wil je de volgorde van events bewaren en de garantie hebben dat elke event maar één keer verwerkt wordt? In deze lezing zal ik een architectuur voor streaming analytics-oplossingen presenteren die veel use cases omvat, zoals bruikbare inzichten in de detailhandel, fraudedetectie in de financiële sector, log-parsing, verkeersanalyse, fabrieksgegevens, het IoT, en andere. Ik zal een aantal architectuuruitdagingen bespreken die zich zullen voordoen bij het omgaan met streaming data, zoals latency issues, event time versus server time, en exactly-once processing. Tenslotte bespreek ik enkele technologische opties als mogelijke implementaties van de architectuur.