Vad är ELT (extract, load, transform)? Hur fungerar det och när bör man använda det

Data Pipeline

Stripe Data Pipeline skickar alla dina aktualiserade Stripe-data och rapporter till Snowflake eller Amazon Redshift med några få klick.

Läs mer 
  1. Introduktion
  2. Vad är ELT och hur fungerar det?
  3. Hur skiljer sig ELT från ETL i praktiken?
  4. Varför passar ELT för moderna molndatalager?
  5. När passar ELT bra?
  6. Vilka utmaningar finns med ELT?
    1. Åtkomstkontroll
    2. Datakvalitet
    3. Kostnadshantering
  7. Hur hanterar ett ELT-arbetsflöde betalningsdata?

Datapipelines följde tidigare en strikt sekvens: dra data från källsystem, transformera den till ett rent och strukturerat format och ladda sedan slutprodukten i en databas. Den sekvensen (extract, transform, load eller ETL) var logisk när lagring var dyrt och destinationssystemen inte var tillräckligt kraftfulla för att utföra tunga beräkningar.

Men molndatalager förändrade allt detta, och ELT (extract, load, transform) blev det mönster som många analysteam nu använder som standard. Även om traditionell ETL behåller en marknadsandel på närmare 40 % tappar den snabbt mark till andra typer av datapipelines som ELT.

Nedan diskuterar vi vad ELT är, hur det fungerar och var det passar in och inte.

Viktiga punkter

  • En ELT-process (extract, load, transform) laddar in rådata i ett molndatalager först och transformerar den sedan. Detta ger analytiker snabbare åtkomst till data och mer flexibilitet att förbättra modeller.

  • Molndatalager är väl lämpade för ELT eftersom de separerar lagring från beräkning, kan skala upp elastiskt och låter analytiker skriva transformationslogik i Structured Query Language (SQL).

  • Att arbeta med en betalningsleverantör som synkroniserar direkt med ditt datalager utan routing genom tredjepartsinfrastruktur minskar komplexiteten i pipelinen och säkerhetsexponeringen.

Vad är ELT och hur fungerar det?

ELT (extract, load, transform) är ett mönster för data-integration som bygger på tre steg: att extrahera data från källsystem, ladda in den i råformat till en central destination och sedan transformera den inuti destinationen för analys, rapportering eller maskininlärning.

Så här fungerar ett typiskt ELT-arbetsflöde i praktiken:

  • Extrahera: En anslutning eller ett pipeline-jobb drar poster från ett källsystem (inkrementellt, enligt ett schema eller händelsestyrt) och skriver dem till destinationen i deras ursprungliga struktur.

  • Ladda: Råtabeller landar i datalagret, ofta i ett dedikerat schema, vilket bevarar fältnamn, datatyper och relationer exakt som de fanns i källan.

  • Transformera: Transformationslogik körs inuti datalagret då SQL-baserade verktyg, som data build tool (dbt), låter team kontrollera versioner av dessa modeller, testa dem och bygga dataset ovanpå rålagret.

Eftersom rådata landar först kan analytiker köra en fråga mot den direkt, och flera nedströmsvyer kan byggas från en enda källa utan att behöva extraheras igen. Om en transformationsmodell är fel, skriver du om den och kör den igen mot data som redan finns i datalagret.

Hur skiljer sig ELT från ETL i praktiken?

Den centrala arkitektoniska skillnaden mellan ETL och ELT är var transformationen sker: utanför destinationen i ETL, inuti destinationen i ELT.

Här är de största skillnaderna mellan ETL och ELT:

  • Datatillgänglighet: I en ETL-pipeline kan data inte förfrågas förrän den har transformerats och laddats. I ELT landar rådata först, så analytiker kan arbeta med den medan transformationsjobb körs separat.

  • Hastighet för förbättringar: Att ändra en transformation i en ETL-pipeline innebär ofta att själva pipelinen måste byggas om. I ELT uppdaterar du en SQL-modell och kör den igen mot data som redan finns i datalagret.

  • Var beräkningen sker: ETL-transformationer körs på pipelineinfrastrukturen (en separat server eller tjänst som du tillhandahåller för det syftet). ELT-transformationer körs på datalagrets (data warehouse) beräkningsresurser, vilket skalar upp elastiskt och redan är betalt för.

  • Lagring av rådata: ETL kasserar typiskt mellanliggande tillstånd när det transformerade resultatet har producerats. ELT bevarar rålagret som standard, vilket innebär att du kan bearbeta historisk data på nytt när kraven ändras.

Varför passar ELT för moderna molndatalager?

Följande egenskaper gör ELT till ett naturligt val för molndatalager:

  • Separerad lagring och beräkning: Plattformar som Snowflake och BigQuery tar betalt separat för att lagra data och för att göra sökningar i den. Du kan samla in hur mycket rådata du vill, och transformeringsjobb förbrukar bara beräkningskraft när de körs.

  • Elastisk skalning: Du kan skapa den beräkningskraft du behöver, köra jobbet och minska den igen. Datalagret hanterar parallelliseringen.

  • Kolumnbaserad lagring: Molndatalager lagrar data i kolumnformat, vilket gör analytiska frågor (sammanställningar, filter, kopplingar över stora datamängder) dramatiskt mycket snabbare än radbaserad lagring.

  • Inbyggt SQL-stöd: De flesta analytiker och analysingenjörer kan redan SQL. Att köra transformeringar inuti datalagret innebär att de personer som förstår företagslogiken kan skriva och äga transformeringsmodellerna direkt.

När passar ELT bra?

ELT är inte rätt svar för varje datapipeline, men det passar en tydlig uppsättning villkor.

Här brukar ELT fungera bra:

  • Stora eller snabbväxande dataset: Om du synkroniserar miljontals händelser per dag krävs betydande pipelineinfrastruktur för att köra transformationer före inläsningen. Att läsa in rådata och transformera inuti datalagret är mer praktiskt när man ska skala upp.

  • Transformationslogik som ofta ändras: Om transformationer lever inuti datalagret som SQL-modeller, kräver uppdatering av analyskrav inte omplacering av pipelineinfrastruktur.

  • Flera nedströmsanvändningsfall: Rådata i datalagret kan mata en business intelligence-dashboard, ett funktionslager för maskininlärning och en verksamhetsrapport samtidigt. Du bygger en pipeline och modellerar data på olika sätt för varje användare.

  • Team med funktion för analysutveckling: ELT flyttar ägarskapet för transformation till analyslagret. Team som använder verktyg som dbt är väl lämpade för detta.

ELT passar inte bra under följande omständigheter:

  • Regulatoriska begränsningar för rådata: Vissa miljöer för hälso- och finansdata förbjuder att känslig data sparas innan den har maskerats eller filtrerats. I dessa fall måste transformationer ske uppströms.

  • Strikta destinationsscheman: Om din destination inte kan hantera rådata eller semistrukturerad data skapar ELT:s inläsningsfokuserade tillvägagångssätt fler problem än det löser.

  • Små, stabila dataset: Om en enkel ETL-pipeline gör jobbet, är tillägget av infrastruktur för transformation i datalagret en överdrift utan större nytta.

Vilka utmaningar finns med ELT?

Att lagra rådata i ett datalager är kraftfullt, men det kan medföra utmaningar kring styrning och kostnader.

Tänk på dessa potentiella utmaningar med ELT.

Åtkomstkontroll

Råtabeller innehåller ofta data som inte bör vara allmänt tillgänglig, till exempel identifierbara personuppgifter (PII), finansiella register eller interna identifierare. I ETL kan känsliga fält maskeras eller tas bort innan data någonsin når destinationen. Men i ELT landar data först. Utan säkerhet på radnivå, kolumnmaskering eller snävt avgränsade roller i datalagret kan analytiker köra frågor mot fält som de inte borde kunna se.

Datakvalitet

Felaktig data från uppströmskällor landar i ditt datalager innan några kontroller körs. Tomma fält, dubblettposter, schemaändringar och typfel kan fortplanta sig till nedströmsmodeller om du inte bygger in kvalitetstester i transformationslagret med dbts testramverk eller datalagrets inbyggda funktioner för datakvalitet.

Kostnadshantering

Transformationsjobb körs på datalagrets beräkningsresurser, och dåligt skriven SQL (som obegränsade genomsökningar, saknade partitionsfilter eller onödiga uppdateringar av hela tabeller) kan generera betydande kostnader. Att sätta gränser för kostnader per fråga, använda inkrementella modeller där det är möjligt och övervaka beräkningsanvändning är värt att bygga in i ditt arbetsflöde från början.

Hur hanterar ett ELT-arbetsflöde betalningsdata?

Många team bygger en anpassad integration mot sin betalningsleverantörs applikationsprogrammeringsgränssnitt (API) eller använder en tredjepartsanslutning. Men anpassade integrationer kräver löpande underhåll eftersom API:et ändras, och tredjepartsanslutningar innebär routing av känslig finansiell data genom en ytterligare leverantörs infrastruktur.

Stripe Data Pipeline är ett inbyggt alternativ som är integrerat direkt i Stripe Dashboard. Det synkroniserar data och rapporter från Stripe till Snowflake, Databricks, Amazon Redshift med flera med några få klick. Det är helt kodfritt, det krävs ingen anslutningskonfiguration och inga separata inloggningsuppgifter att hantera. Synkroniseringen körs med hjälp av Stripes egen infrastruktur, så inga tredjepartssystem hanterar din finansiella data under överföringen.

Några specifika detaljer som är bra att känna till:

  • Historisk täckning: Stripe Data Pipeline inkluderar historisk data från starten av ditt Stripe-konto snarare än från den punkt du aktiverar synkroniseringen.

  • Schema: Data landar i tabeller som speglar Stripes datamodell (t.ex. debiteringar, kunder, abonnemang), vilket gör det enkelt att bygga transformationsmodeller ovanpå utan omfattande rensning i rålagret.

  • Datakompletthet: Utöver rå objektsdata innehåller Stripe Data Pipeline åtkomst till förbyggda finansiella rapporter och kurerade dataset, vilket kan påskynda rapportering och minska transformationsarbetet för vanliga användningsfall såsom månatliga återkommande intäkter (MRR) och analys av bedrägeri.

Innehållet i den här artikeln är endast avsett för allmän information och utbildningsändamål och ska inte tolkas som juridisk eller skatterelaterad rådgivning. Stripe garanterar inte att informationen i artikeln är korrekt, fullständig, adekvat eller aktuell. Du bör söka råd från en kompetent advokat eller revisor som är licensierad att praktisera i din jurisdiktion för råd om din specifika situation.

Fler artiklar

  • Ett fel har inträffat. Försök igen eller kontakta supporten.

Är du redo att sätta i gång?

Skapa ett konto och börja ta emot betalningar – inga avtal eller bankuppgifter behövs – eller kontakta oss för att ta fram ett specialanpassat paket för ditt företag.

Data Pipeline

Stripe Data Pipeline skickar alla uppdaterade Stripe-data och rapporter till datalagret med några klick.

Dokumentation om Data Pipeline

Få insyn i ditt företag med Stripe-data.