EN - FR - DE - ES - IT - PT -

LexiconDream

🌊 Strømbehandling

Behandler data kontinuerligt, når de ankommer i realtid.

Strømbehandling

Streambehandling håndterer data kontinuerligt, når de ankommer. I stedet for at indsamle data i batches og behandle dem med intervaller, analyserer streamprocessorer hver hændelse, mens den flyder gennem systemet. En kreditkorttransaktion evalueres for svindel i millisekunder. En sensoraflæsning udløser en alarm, når den krydser en tærskel. En clickstream opdaterer en anbefalingsmodel i realtid. Behandlingen sker i bevægelse, ikke i hvile.

Arkitekturen adskiller sig fra batch. Data ankommer via meddelelseskøer som Kafka eller Kinesis. Streamprocessorer som Flink, Spark Streaming eller Kafka Streams forbruger begivenhederne, anvender transformationer og udsender resultater. Systemet skal håndtere sent ankommende begivenheder, data i ude af rækkefølge og "exactly once"-semantik. Det er vanskelige problemer. Sene begivenheder kræver vandmærker for at bestemme, hvornår et tidsvindue er fuldført. Begivenheder i ude af rækkefølge kræver buffering og omorganisering. "Exactly once"-behandling kræver koordinering mellem kilden, processoren og sinken. Det er komplekst at få disse til at fungere rigtigt. Når de er forkerte, er resultaterne inkonsistente eller duplikerede. Streambehandling er kraftfuld til use cases, der kræver øjeblikkelig indsigt. Det er overkill til natlige rapporter. Valget mellem batch og stream afhænger af latenskravet. Hvis minutter eller timer er acceptable, er batch enklere og billigere. Hvis sekunder betyder noget, er stream den eneste mulighed.

Streambehandlingsegenskaber

Streambehandling er batchbehandling vendt på vrangen. I stedet for at vente på, at data akkumuleres, reagerer den på hver hændelse, når den opstår.

Comments

No comments yet. Be the first to share a thought.

Leave a comment