Data lake | Hva er en data lake?

28.08.2022 | 4 min lesetid
Emneknagg: #data lake

En data lake er egnet for å lagre alle former for data for analytiske brukerhistorier. En data lake, eller datainnsjø, er mer et konsept enn en teknisk løsning, men kort fortalt er tanken at vi skal kunne ta vare på alle typer data, også data vi ikke er helt sikre på at vi skal bruke.

Data lake muliggjør analyse av ulike typer data
Data lake muliggjør analyse av ulike typer data

En data lake lar oss lagre ulike typer data

En data lake kan omfatte strukturerte data fra relasjonsdatabaser (rader og kolonner), semi-strukturerte data (CSV, logger, XML, JSON), ustrukturerte data (e-poster, dokumenter, PDFer) og binære data (bilder, lyd, video).

En data lake har et lagringssystem der data er lagret i sitt opprinnelige format, som regel som filer (ORC, Parquet) eller objekter. Hadoop-teknologien muliggjør billig lagring, og er nå innebygget bak panseret til lagringstjenestene til de store skyleverandørene. Data lake-tjenestene er generelt billigere når vi skal lagre store datamengder.

Om vi har mye data som er ustrukturerte kan det hende vi trenger en «Object-storage»-tjeneste for å lagre ned dataene i stedet. En «object-storage» kan ses på som en stor Dropbox-konto, der vi lagrer ned f.eks. bilder og video som objekter med metadata tilknyttet. Herfra kan vi prosessere dataene slik at de blir mer strukturerte – f. eks tolke hva maskinen ser på bildene, og lagre dette som metadata (data om data).

Data scientists og andre analytikere bruker dataene i en data lake til å gjøre analyser og få ny innsikt fra dataene, og i enkelte tilfeller til å bruke dette til å lage datadrevne tjenester som settes i produksjon. Prosesseringsmotorene i disse – dvs teknologien som kan lese og transformere dataene – er i data lakes som regel bygget på Spark.

En data lake kan være utfordrende å navigere i

Siden data lakes ikke er egnet for å lage ulike datalag, som i et datavarehus, og ofte har mangler gode beskrivelser av dataene, har de som konsept fått mye kritikk for å være «datamyrer» der det er vanskelig å finne frem og nyttiggjøre seg dataene. Data lakes har som regel verken definerte strukturer og skjemaer, eller datakataloger med definisjoner eller eiere.

Er data lake som konsept dødt?

Det at vi kan lagre alle mulige data, i store volum, er årsaken til at data lakes som begrep tok av for noen år siden, og ble synonymt med arkitekturen bak “Big Data”.

Som så mye annet, har vi modnet og lært. Vi tar det nå for gitt at vi kan lagre alle data, i store volum. Vi bruker ikke lenger begrepet “Big Data”, men har gått tilbake til å bare snakke om data.

Data lake som arkitekturmønster vurderer nå mange som litt for enkelt, vi trenger jo andre typer tjenester også. Som datavarehus-kapabiliteter og ML-prosessering.

Data lake-arkitektur og -teknologier ligger nå innbakt som en sentral del av skyleverandørenes datatjenester. For Azure Data Lake Gen2 og Amazon S3 er det mer opplagt at det er data lake-konseptet som ligger bak, mens for andre løsninger er det mer skjult - f.eks Google BigQuery.

Data lake som konsept vil vi nok ikke snakke om så mye fremover - data lakehouse-mønsteret er nå i ferd med å ta over.

Fordeler og ulemper med en data lake

Nedenfor oppsummerer vi noen viktige fordeler og ulemper ved å bruke en data lake for lagring til rapportering og analyse:

Fordeler
  • Bidrar til datakonsolidering – kan lagre både strukturerte og ustrukturerte data ett sted
  • Gir fleksibilitet – kan lagre alle former for data uten et schema eller datamodellering. Kan bevare data i sitt opprinnelige format for fremtidig behandling avhengig av kravene til de spesifikke brukerhistoriene
  • Er en mindre kostbar lagringsform enn tradisjonelle databaser og datavarehus, både on-premise og i skyen
  • Gir støtte til data scientists og analytikere som trenger sandboxmiljøer med originaldata for ulike maskinlærings- og dyplæringsalgoritmer
Ulemper
  • Kan gi dårligere ytelse til brukerhistorier knyttet til rapportering og selvbetjent analyse enn andre alternativ
  • Mangler støtte for endring og oppdatering av data (ACID), som gjør det krevende å håndtere krav knyttet til GDPR og personvern
  • Manglende datakonsistens kan gjøre det krevende å levere tilstrekkelig datareliabilitet og sikkerhet
  • Manglende behandling av data up-front (gjennom datamodellering og løsningsdesign) gjør ofte at data ikke blir tilstrekkelig beskrevet og definert. Dette kan medføre at data lagres som aldri kan nyttiggjøres


Magne Bakkeli

Magne har over 20 års erfaring som rådgiver, arkitekt og prosjektleder innen data & analytics, og forstår godt forretningsmessige og tekniske problemstillinger.