Tärningens DL

Data Lake

Data Lake är en samling av data, vanligtvis i form av filer i råformat från källsystem, sensordata, webbloggar, ljudfiler och liknande. Den kan också innehålla förädlad data avsedd för rapportering, analys och maskininlärning. Dessa typer av data kallas ofta för ostrukturerad resp strukturerad data, även om båda typerna givetvis innehåller någon form av struktur.

Data Lakes började användas i större skala på 2010-talet i samband med att Hadoop etablerade sig som ett alternativ. Eftersom Hadoop var baserat på öppen källkod, och därmed saknade licenskostnader, framstod det som en mycket attraktiv lösning. Ett tag rådde det näst intill eufori över dess möjligheter.

Problemet var att flexibiliteten snart övergick till kaos i många fall. Användare lade alla möjliga typer av data i sin Data Lake, men det fanns i de flesta fall ingen översikt eller ordning på datat. Efter ett tag övergick ofta företagets Data Lake till att bli en Data Swamp.

Data Lake historik

Rötterna sträcker sig ända tillbaka till runt millenieskiftet när Google's grundare Larry Page och Sergey Brin utvecklade "BigFiles", ett system för lagring av de gigantiska mängder data som Google behövde. Det utvecklades till GFS (Google File System), som lagrar data i chunks på 64 megabytes utspridda på många noder, och som även kunde köras på billiga servrar. En annan viktig princip är att data inte skall förändras eller raderas, utan data skall normalt läggas till.

Apache Hadoop är ett helt ekosystem för öppen källkod med många olika komponenter. Grunden är dock storage och compute, dvs lagring och processering. För processering används MapReduce, samt YARN i Hadoop 2, och för lagring används HDFS (Hadoop Distributed File System), vilket inspirerades mycket av GFS. Den första versionen släpptes 2006, men sedan dröjde det till 2012 innan Version 1.0 släpptes.

Inspirerad av flexibiliteten och skalbarheten i filsystemet myntade James Dixon, CTO på Pentaho, 2011 begreppet "Data Lake" som ett alternativ till "Data Mart", vilket han ansåg var en begränsad datamängd med begränsat syfte, även kallat "Information Silo". Sedan dess har även begreppet ibland använts för i stort sett alla typer av datamängder som inte är en relationsdatabas eller datalager.

På 2010-talet splittrades utvecklingen av Hadoop mellan renrasiga Hortonworks, realisterna Cloudera och kommersiella MapR. Samtidigt uppstod praktiska problem när företagens Data Lakes växte okontrollerat fort. Man insåg att det var enkelt att bygga och starta en Data Lake, men det var betydligt svårare att få något värde av den och dess data. En viktig beståndsdel är data om datat, dvs metadata, vilket Hadoop inte krävde för att lagra data. Något som ett Data Lakehouse erbjuder.

Ursprungligen kördes Hadoop huvudsakligen i traditionella interna datorcenter, on-premise (on-prem), men programvaran kan lika gärna köras i molnbaserade datorcenter som Amazon Web Services (AWS), Microsoft Azure, Google Cloud och liknande, och i takt med allt fler lösningar och tjänster blivit molnbaserade har även de flesta Data Lake flyttat till molnet.

De vanligaste molnbaserade lagringstjänsterna är Amazon S3 (Simple Storage Service) på AWS, ADLS (Azure Data Lake Storage) på Azure, och GCS (Google Cloud Storage) på Google Cloud. Alla dessa kan kallas för Data Lake, även om de inte är baserade på HDFS. Lagringstekniken hos de molnbaserade plattformstjänsterna Snowflake och Databricks är inspirerade av HDFS, medan funktionerna i deras gränssnitt påminner om datalager. De kallas ofta för cloud data warehouse, molndatalager rakt översatt till svenska.

källa: en.wikipedia.org/wiki/Apache_Hadoop

Sidan skapad 10 oktober 2017
Uppdaterat 27 februari 2025 (Längre historik)
Sammanställt av Christer Tärning.