Time series/tijdreeksen deel 2: volume

Zoals ik in de eerste post in deze serie al aangaf kom ik steeds meer data tegen in de vorm van een tijdreeks. Op zich is dat niet spannend, en als het maar een beperkte hoeveelheid metingen betreft in een lage samplefrequentie (zeg eens per uur, of misschien maar eens per dag) zit je prima in een ‘good old’ SQL database.

Nee, ik wil me hier richten op de tijdserie die we zien in de industriële wereld: soms hebben we te maken met metingen per seconde, of meerdere metingen per seconde. Denk aan het monitoren van de spanning op een stroomnetwerk; als er niet binnen een tiende van een seconde gereageerd wordt op overspanning brandt het één en ander door.

Wil je al die data dan opslaan, vraag je je af? Ja. Zoals ik aangaf in de eerste post van deze serie kan je, met voldoende data, zeer interessante analyses doen en zelfs voorspellende modellen vinden. Kortom, de behoefte om hoogfrequente tijdreeksen op te slaan is er en die zal de komende jaren alleen maar groter worden.

Een eerste vraag die je je als data engineer moet stellen is: welk volume hebben we het over. Vaak wordt daar heel vaag over gedaan, of soms helemaal niet goed naar gekeken, terwijl daar nu juist ontzettend goed aan te rekenen is.

In bovenstaand overzicht heb ik een aantal veelvoorkomende periodes – dagen, maanden en jaren – uitgedrukt in veelvoorkomende intervallen voor tijdreeksen: seconden, minuten en uren. Een handig hulpmiddel; zo kan je al in één oogopslag zien hoeveel berichten je moet verwerken per maand voor een sensor die ééns per minuut een waarde oplevert (namelijk: 44.000).

Daarnaast heb ik de sample frequentie, dus in feite het interval van de tijdreeks, afgezet tegen het dataformaat waarin de sensorwaarde wordt opgeslagen. Dat gaat van groot (in string vorm, ik reken met een string van 12 karakters) tot klein (een 32-bits integerwaarde – een beetje een scheve vergelijking omdat die slechts een getal tot ongeveer 10 posities kan bevatten voor de scherpe lezer).

Dit alles in groepjes verdeeld van datavolumes die verzameld worden per dag, maand of jaar. We zien hier een gigantisch spectrum aan volumes: variërend van dik 700 MB per jaar tot aan 35 kB per jaar afhankelijk van dataformaat en samplefrequentie. Let op: dit zijn datavolumes voor slechts één waarde, dus per sensor kan je dit bijelkaar optellen. Gaan we uit van 10 sensoren en aanvullend een tijdskolom, dan hebben we het al snel over een veelvoud.

Kortom, van groot belang om hierover na te denken. Dingen als: sizing van de storage, grootte/kosten van het cloudabonnement, en wat we later zullen zien toegangstijden van de data bij bevraging zijn hier allemaal sterk van afhankelijk.

Moraal van dit verhaal: op moment dat je met tijdseries in aanraking komt, maak een gedegen plan en berekening. Dit soort data heeft de neiging om gigantisch te exploderen qua omvang, en dan is het in elk geval goed te weten waar je mee te maken gaat krijgen. Over hoe je daar mee om kunt gaan ga ik dieper in in een volgende post in deze serie.

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright ICRIS BV