AWS Kinesis Data Analytics: Sanntids dataanalyse forklart enkelt

AWS Kinesis Data Analytics er en tjeneste som muliggjør sanntidsanalyse og behandling av kontinuerlige datastrømmer. Tjenesten lar deg utvikle sanntidsdashbord for analyse, overvåke loggfiler for potensielle feil og oppdage uregelmessigheter.

Dette gir deg muligheten til å hente innsikt fra dataene, identifisere problemer og reagere på dem nesten umiddelbart. Denne artikkelen gir en grundig oversikt over alt du trenger å vite for å ta i bruk AWS Kinesis Data Analytics.

Hva er AWS Kinesis Data Analytics?

Kilde: aws.amazon.com

AWS Kinesis Data Analytics er en fullt administrert tjeneste fra AWS, og en sentral del av AWS Kinesis-familien. Den gir deg muligheten til å prosessere data i sanntid, etter hvert som de ankommer. Disse dataene strømmer kontinuerlig fra forskjellige kilder som IoT-enheter, klikkstrømmer og applikasjonslogger. AWS Kinesis Data Analytics leverer en administrert Apache Flink-instans i AWS-skyen, som i bunn og grunn benytter EC2-instanser.

Andre tjenester i denne familien inkluderer Kinesis Data Streams, Kinesis Data Firehose og Kinesis Video Streams. Hovedmålet med denne tjenestegruppen er å tilby omfattende løsninger for innhenting og behandling av strømmende data.

Hva innebærer strømming av data?

Strømming av data refererer til data som kontinuerlig strømmer inn i et system, og som utvikler seg dynamisk etter hvert som ny informasjon legges til. Dette står i kontrast til statiske datasett, som forblir konstante over tid.

AWS Kinesis gir deg verktøyene for å håndtere både avgrensede og ubegrensede datasett. Avgrensede datasett har en klar start og slutt, mens ubegrensede datasett har en start, men ingen definert slutt.

Funksjoner i AWS Kinesis Data Analytics

AWS Kinesis Data Analytics tilbyr blant annet følgende nøkkelfunksjoner:

  • Analyse i sanntid av strømmende data
  • SQL-basert redigeringsverktøy for å skrive analyseskripter
  • Automatisk skalering for å sikre høy tilgjengelighet og driftssikkerhet
  • Integrasjon med andre tjenester i AWS.

Betydningen av Kinesis Data Analytics for virksomheter

  • Kinesis Data Analytics gir raskere beslutningsprosesser ved å levere nødvendig informasjon. Uten dataanalyse vil det ta lang tid å samle inn og oppsummere data til nyttig informasjon, noe som fører til tregere beslutningstaking.
  • Tjenesten muliggjør også raskere oppdagelse av avvik, slik at de kan håndteres umiddelbart. For eksempel kan en bedrift som prosesserer transaksjoner markere mistenkelig aktivitet som kan indikere svindel. Disse avvikene kan deretter håndteres raskt.
  • Drift av virksomheten kan overvåkes og styres i sanntid. Data kan samles inn fra ulike kilder, inkludert nettstedsaktivitet, IoT-målinger og sensordata.

Arkitekturen til AWS Kinesis Data Analytics

Som alle behandlingssystemer, består AWS Kinesis Data Analytics av ulike komponenter som mottar data, behandler dem, og leverer de transformerte dataene. Arkitekturen består av datakilder, behandlingsapplikasjoner, destinasjoner for utdata og strømmer i applikasjonen for å flytte data gjennom systemet.

Datakildene kan være hvilken som helst strømmekilde. Dette kan inkludere AWS-tjenester som Firehose, S3 Buckets og Kinesis Data Streams. Datakilder kan også befinne seg utenfor AWS, som for eksempel tidsseriedata.

Behandlingsapplikasjonene er de AWS Kinesis-applikasjonene du oppretter. Disse applikasjonene transformerer dataene til utdata som er mer meningsfulle og gir verdifull innsikt. Disse applikasjonene er programmert i SQL og utfører repeterende spørringer på data som hentes fra datakildene.

Destinasjonene for behandlede data inkluderer datastrømmer, Firehose, S3-bøtter og Amazon MSK. Destinasjonen kan også være et analyseverktøy.

Kinesis Data Analytics benytter også interne datastrømmer for å administrere dataflyten mellom ulike behandlingstrinn. Disse strømmene fungerer som kanaler for å overføre data mellom SQL-spørringer eller Flink-operasjoner i applikasjonen.

Nøkkelkomponenter i AWS Kinesis Data Analytics

AWS Kinesis Data Analytics er bygget opp av tre hovedkomponenter. I denne delen skal vi se nærmere på disse komponentene og deres respektive funksjoner.

Apache Flink

AWS Kinesis Data Analytics-plattformen er basert på en administrert instans av Apache Flink. Den er hostet i Amazons skyinfrastruktur, spesielt EC2-instanser som automatisk skalerer seg etter bruk. Apache Flink er et rammeverk for å utvikle applikasjoner for strømming som er svært tilgjengelige og nøyaktige.

Det fungerer like godt med både ubegrensede og avgrensede datasett. Rammeverket kjører som et distribuert system på klyngedatasystemet. Apache Flink parallelliserer applikasjoner og distribuerer dem slik at beregninger kan utføres i klyngen.

Kinesis Data Analytics Studio

Kilde: aws.amazon.com

Kinesis Data Analytics Studio gir deg muligheten til å lage visualiseringer ved hjelp av notatbøker. Disse notatbøkene støtter SQL, Python og Scala i ett og samme utviklingsmiljø.

Støtten inkluderer syntaksutheving og validering. Du bruker API til å lage spørringer som kjøres på strømmedataene i disse notatbøkene.

Data Analytics Studio Notebooks hostes på EC2-instanser med automatisk skalering. Dette betyr at du ikke trenger å bekymre deg for den underliggende infrastrukturen, ettersom det er en serverløs løsning.

Kinesis Data Analytics SQL-applikasjon

Kilde: docs.aws.amazon.com

Dataanalyse SQL-applikasjoner integreres med datastrømmer og brannslange, slik at du kan motta data, behandle dem med SQL og sende resultatene tilbake til AWS-tjenester.

Denne komponenten tilbyr en konsollbasert redigerer for å utvikle og skrive SQL-spørringer. I tillegg til å skrive spørringene dine, kan du bruke forhåndsbygde maler for vanlige operasjoner. Dette sparer deg for å måtte finne opp hjulet på nytt, og hjelper deg å få arbeidet gjort raskere.

Hvorfor bruke Kinesis Data Analytics?

#1. Skalerbarhet

Tjenesten er basert på en administrert Apache Flink-instans. Apache Flink benytter parallell klyngebasert databehandling for å distribuere arbeid som skal utføres. AWS skalerer automatisk størrelsen på den underliggende dataklyngen etter behov. Dette gjør at Kinesis Data Analytics automatisk kan skaleres for å håndtere svært store datastrømmer.

#2. Ytelse

Apache Flink er svært effektiv når du jobber med store datamengder. Dette skyldes det massive, skalerbare og parallelle datanettverket den kjører på. Nesten alle operasjoner utføres i minnet eller med effektive datastrukturer på disk. Dette gir forsinkelser på under et sekund når du utfører operasjoner.

#3. Optimalisering

Plattformen kan også tilpasses for å maksimalisere ytelsen. Du kan for eksempel endre tidspunktet for vinduer, vindusstørrelser og rulle- eller skyvevinduer for å optimalisere ytelsen. Du kan også filtrere data for å fokusere på attributtene du er interessert i. Når du skriver SQL, kan du også forbedre ytelsen ved å optimalisere spørringen.

#4. Sikkerhet

AWS Kinesis Data Analytics gir sikkerheten til AWS-skyen. Dette inkluderer muligheten til å kryptere data under overføring, administrere tilgang til data og analyser, samt de vanlige oppdateringene og patchingene du forventer fra administrerte tjenester i skyen.

#5. Overholdelse av regelverk

Tjenesten hjelper deg med å overholde personvernforskrifter og andre regelverk for data. Det er enkelt å definere policyer for dataoppbevaring og sletting. I tillegg kan du benytte deg av AWS-tjenester som hjelper deg med å identifisere trusler og hendelser i sanntid. Dette sikrer at data behandles på en korrekt og hensiktsmessig måte.

Bruksområder og anvendelser av Kinesis Data Analytics

AWS Kinesis Data Analytics lar deg skrive kode for å lese, behandle og lagre data kontinuerlig, etter hvert som de mottas fra datastrømmer i sanntid. Dette er svært nyttig, og gjør at du kan utvikle applikasjoner for en rekke formål, for eksempel:

  • Utvikle dashbord for analyse for å prosessere data umiddelbart. Disse dataene kan være hendelser på nettstedet/plattformen din som du ønsker å prosessere, for å få bedre innsikt i hvordan brukerne samhandler med det.
  • Behandle data for å gjøre dem mer meningsfulle før du strømmer dem til andre AWS-tjenester som Amazon S3 Buckets, Amazon Kinesis Data Streams eller Amazon MSK.
  • Behandle data som kommer fra IoT-enheter, og lagre dem i sanntid.

Kasusstudier og suksesshistorier

Arity

Arity er et teknologiselskap som jobber innenfor transportsektoren. Målet deres er å gjøre transport tryggere, raskere og smartere. Dette krever innsikt fra enorme mengder kjøredata som strømmes kontinuerlig. Ved hjelp av AWS Kinesis Data Analytics har de lykkes med dette. I tillegg har de redusert tiden det tar å løse utfordringer fra kvartaler til uker.

Nextdoor

Nextdoor er en app for lokalt baserte sosiale nettverk. Appen gir lokale nabolagsnyheter, tips og informasjon om lokale bedrifter. AWS Kinesis Data Analytics har vist seg uvurderlig for dem når de analyserer effektiviteten av kundenes engasjement på tvers av de ulike kommunikasjonskanalene.

Autodesk

Autodesk er en utvikler av programvare som brukes innen design og engineering. Dette inkluderer populære produkter som AutoCAD og Revit, som brukes i teknisk tegning. De bruker AWS Kinesis Data Analytics for å analysere sine loggfiler, og for å få bedre innsikt i hvordan kundene bruker produktene deres og forbedre programvaren de utvikler.

Læringsressurser

#1. AWS Kinesis Data Analytics-ressurser

AWS Kinesis Data Analytics-ressurser fra AWS er en samling ressurser som er velegnet for å lære mer om AWS Kinesis. Du kan også stole på disse ressursene for å få den mest oppdaterte og omfattende veiledningen. De har også omfattende dokumentasjon som dekker alle aspekter av plattformen.

#2. AWS Kinesis Veiledning for nybegynnere – YouTube

Det finnes også opplæringsvideoer på YouTube, som denne:

Siste ord

Denne artikkelen var en introduksjon til AWS Kinesis Data Analytics. Målet har vært å presentere tjenesten, forklare hvorfor du kan ha nytte av å bruke den, og hvor den kan være mest nyttig.

Neste skritt kan være å lese vår artikkel om Apache Cassandra.