Hva er en data lake?

28.08.2022 | 3 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
Data lake

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.

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.

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


author image

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.