Vad är en datapipeline?
En datapipeline är den automatiserade kedja som kontinuerligt för data från en källa till ett mål – ETL satt i drift, schemalagd eller händelsestyrd. Där ETL beskriver mönstret är pipelinen maskineriet som kör det om och om igen. Den kan arbeta i batch eller strömmande, och behöver övervakning som larmar när flödet stannar.
Datapipeline är ett begrepp som ofta nämns i samma andetag som ETL och datalager, och lika ofta blandas ihop med dem. Ändå är det pipelinen som avgör om er data faktiskt kommer fram, i tid och i skick. Här är vad en datapipeline är, hur den förhåller sig till ETL och varför driften av den är minst lika viktig som bygget.
Vad en datapipeline är
En datapipeline är den automatiserade kedja som kontinuerligt för data från en källa till ett mål. Den hämtar data där den uppstår, tar den genom de bearbetningssteg som behövs, och levererar den dit den ska – om och om igen, utan att någon behöver starta processen för hand varje gång.
Bilden ligger i namnet: en rörledning. Precis som en fysisk ledning transporterar vatten från källa till kran, för datapipelinen data från källsystem till analysmiljö i ett stadigt flöde. Den startas antingen enligt ett schema (till exempel varje natt) eller av en händelse (så fort ny data dyker upp).
Poängen är automatiseringen och kontinuiteten. En datapipeline är inte en engångsflytt, utan ett flöde satt i permanent drift.
Relationen till ETL
Datapipeline och ETL hör tätt ihop, och att hålla isär dem gör båda tydligare. ETL är mönstret – de tre stegen extrahera, transformera, ladda som beskriver vad som görs med datan på vägen. Datapipelinen är maskineriet som kör det mönstret automatiskt och upprepat.
Man kan säga att ETL är receptet och pipelinen är köket som lagar rätten varje dag utan att kocken behöver stå där. En pipeline utför ofta just ETL-stegen, men gör det till en löpande, driftsatt process i stället för en manuell övning. Det är skillnaden mellan att beskriva hur data ska förädlas och att faktiskt ha en anläggning som gör det dygnet runt.
Batch eller strömmande
Datapipelines arbetar i grunden på två sätt, och valet mellan dem beror på hur färsk datan behöver vara.
En batchpipeline samlar upp data och bearbetar den i klumpar vid bestämda tillfällen. Ett vanligt upplägg är att köra allt en gång per natt: dagens order, dagens transaktioner, dagens loggar bearbetas i en samlad omgång. Det passar när informationen inte behöver vara färsk på minuten – en försäljningsrapport som uppdateras varje morgon är gott nog.
En strömmande pipeline bearbetar i stället varje händelse i stort sett direkt när den inträffar, i ett oavbrutet flöde. Det passar när datan måste vara aktuell i nära realtid – ett larm som ska gå direkt, en instrumentpanel som ska visa läget just nu, en bedrägerikontroll som inte kan vänta till natten.
Ett konkret scenario
Ett e-handelsbolag har två behov med olika krav på färskhet. Den dagliga försäljningsrapporten till ledningen behöver inte vara aktuellare än till morgonmötet – där räcker en batchpipeline som varje natt samlar dygnets order och laddar in dem i datalagret.
Men lagersaldot som visas i butiken måste stämma i realtid, annars säljs varor som redan är slut. Där byggs i stället en strömmande pipeline som uppdaterar saldot i samma stund en vara köps. Samma bolag, samma slags data, men två olika pipelines för att kraven på hur färsk informationen ska vara skiljer sig åt.
Driftaspekten: övervakning och larm
Här sitter den insikt som skiljer en fungerande datamiljö från en bräcklig. En datapipeline körs automatiskt, ofta utan att någon tittar på den – och just därför är den farlig när den går sönder tyst.
Stannar flödet, av vilken anledning som helst – en källa som slutar svara, ett steg som fallerar, ett format som ändrats – slutar färsk data att komma fram. Utan övervakning kan det pågå i dagar innan någon undrar varför rapporterna ser gamla ut eller saldot inte stämmer. Då har skadan redan skett.
Därför hör övervakning och larm till själva pipelinen, inte till något man lägger till sedan:
- Övervakning som håller koll på att flödet faktiskt rör sig och att data kommer fram som väntat.
- Larm som säger till direkt när något stannar eller ser fel ut, så att någon kan agera medan det fortfarande är litet.
En pipeline utan bevakning är en rörledning utan tryckmätare: den fungerar, ända tills den inte gör det, och då märks det för sent.
Så förhåller du dig till det
När ni bygger en datamiljö, tänk på pipelinen som en driftsatt tjänst som behöver skötas, inte som ett projekt som blir “klart”. Fråga hur flödet övervakas och vad som händer när det stannar – för det avgör om er data går att lita på över tid. Vill ni ha ett dataflöde som håller i drift och larmar i tid, tar vi på Weapp gärna med den delen i systemarbetet från början.
Vanliga frågor
Vad är skillnaden mellan en datapipeline och ETL?
ETL är mönstret – de tre stegen extrahera, transformera, ladda. En datapipeline är den automatiserade kedja som sätter mönstret i drift och kör det upprepat, schemalagt eller händelsestyrt. Grovt: ETL beskriver vad som görs med datan, pipelinen är maskineriet som utför det gång på gång utan att någon startar det för hand.
Vad är skillnaden mellan batch och strömmande?
En batchpipeline samlar upp data och bearbetar den i klumpar vid bestämda tillfällen, till exempel varje natt. En strömmande pipeline bearbetar varje händelse i stort sett direkt när den inträffar, i ett kontinuerligt flöde. Batch passar när färsk data inte är kritisk; strömmande när informationen måste vara aktuell i nära realtid.
Varför behöver en datapipeline övervakas?
För att den körs automatiskt, ofta utan att någon tittar. Stannar flödet – en källa svarar inte, ett steg fallerar – slutar färsk data att komma fram, och det kan pågå obemärkt tills någon undrar varför rapporterna är gamla. Övervakning med larm gör att ni får veta direkt när flödet brister, i stället för att upptäcka det för sent.
Vad händer om en pipeline går sönder?
Data slutar flöda till målet, så rapporter, dashboards och allt som bygger på färsk data blir inaktuellt eller ofullständigt. Utan övervakning märks det ofta inte förrän någon reagerar på konstiga eller gamla siffror. Med larm och rutiner för omkörning kan ett stopp fångas och åtgärdas innan det hinner ställa till skada.
Är en datapipeline samma sak som ett datalager?
Nej, de är olika delar som samverkar. Datalagret är platsen där data lagras och analyseras. Datapipelinen är rörledningen som för data dit, kontinuerligt och automatiskt. Pipelinen fyller lagret; lagret förvarar och tillgängliggör det pipelinen levererar. Man behöver ofta båda för att en analysmiljö ska fungera.