Datalager Architecture, Komponenter & Diagram Concepts

โšก Smart sammanfattning

Datalager ArchiTektur definierar hur historisk och kumulativ data frรฅn mรฅnga kรคllor organiseras i nivรฅer och sammankopplade komponenter, vilket mรถjliggรถr tillfรถrlitlig rapportering, analys och en enda version av sanningen fรถr organisatoriskt beslutsfattande och prognostisering.

  • ๐Ÿ›๏ธ Kรคrnsyfte: Ett datalager lagrar รคmnesorienterad, integrerad, tidsvariabel och icke-flyktig data fรถr att stรถdja analys snarare รคn daglig transaktionsbehandling.
  • ๐Ÿงฑ Tiered Design: ArchiTekniker strรคcker sig frรฅn enskiktsmodell till den allmรคnt anvรคnda treskiktsmodellen med en nedre databas, en mellersta OLAP-server och ett รถvre klientlager.
  • ๐Ÿ—„๏ธ Kรคrndatabas: Det centrala arkivet kรถrs pรฅ ett RDBMS, ofta utรถkat med parallella databaser, nya indexstrukturer och flerdimensionella databaser fรถr skalbarhet och hastighet.
  • ๐Ÿ”„ ETL-komponenter: Verktyg fรถr sourcing, fรถrvรคrv, rensning och transformation konsoliderar data till ett enhetligt format och hรฅller lagret uppdaterat.
  • ๐Ÿท๏ธ Metadataroll: Tekniska och affรคrsmรคssiga metadata beskriver kรคllan, innebรถrden och bearbetningen av data och omvandlar rรฅvรคrden till anvรคndbar kunskap.
  • ๐Ÿ“Š Frรฅge- och OLAP-verktyg: Rapportering, hanterade frรฅgor, applikationsutveckling, datautvinning och OLAP-verktyg lรฅter anvรคndare utforska lagret frรฅn mรฅnga vinklar.
  • โœ… Bรคsta metoder: Optimera datamodellen fรถr hรคmtning, konsolidera till en enda version av sanningen och รถvervรคg en ODS- eller 3NF-modell vid behov.

Datalager ArchiStrukturdiagram som visar nivรฅerna och kรคrnkomponenterna i ett datalager

Datalager Concepts

A datalagret finns fรถr att ge ett fรถretag en enda version av sanningen fรถr beslutsfattande och prognoser. Det รคr ett informationssystem som innehรฅller historiska och kumulativa data hรคmtade frรฅn en eller flera kรคllor.

Genom att organisera data fรถr analys snarare รคn transaktioner fรถrenklar ett datalager rapporterings- och analysarbetet fรถr en hel organisation.

Data Warehouses egenskaper

Ett datalager har fyra definierande egenskaper som skiljer det frรฅn en rutinmรคssig operativ databas:

  • ร„mnesinriktad
  • Integrerade
  • Tidsvariant
  • Icke-flyktiga

ร„mnesinriktad

Ett datalager รคr รคmnesorienterat eftersom det levererar information om ett tema snarare รคn ett fรถretags pรฅgรฅende verksamhet. Typiska รคmnen inkluderar fรถrsรคljning, marknadsfรถring och distribution.

Istรคllet fรถr daglig bearbetning betonar lagret modellering och analys fรถr beslutsfattande. Det erbjuder en enkel och koncis bild av varje รคmne och utelรคmnar data som inte stรถder beslutsprocessen.

Integrerade

Integration รคr nรคra kopplad till รคmnesorientering. I ett datalager innebรคr integration att etablera en gemensam mรฅttenhet fรถr all liknande data som hรคmtas frรฅn olika databaser, och att lagra den informationen pรฅ ett gemensamt, universellt acceptabelt sรคtt.

Ett datalager byggs genom att integrera data frรฅn olika kรคllor, sรฅsom stordatorer, relationsdatabaser och platta filer. Det mรฅste ocksรฅ hรฅlla konsekventa namngivningskonventioner, format och kodning.

Denna konsekvens i namngivning, attributmรฅtt och kodningsstruktur รคr det som mรถjliggรถr effektiv analys. Betrakta fรถljande exempel:

Exempel pรฅ datalagerintegration som standardiserar fรคlt fรถr kรถn, datum och saldo frรฅn tre applikationer

I exemplet ovan lagrar tre applikationer mรคrkta A, B och C information om kรถn, datum och saldo, men varje applikation lagrar den pรฅ olika sรคtt:

  • Applikation A lagrar kรถnsfรคltet som logiska vรคrden som M eller F.
  • Applikation B lagrar kรถnsfรคltet som ett numeriskt vรคrde.
  • Applikation C lagrar fรคltet fรถr kรถn som ett teckenvรคrde.
  • Samma variation gรคller fรถr fรคlten Datum och Saldo.

Efter omvandlings- och rensningsprocessen lagras all denna data i ett gemensamt format i datalagret.

Tidsvariant

Tidshorisonten fรถr ett datalager รคr mycket bredare รคn fรถr ett operativt system. Data identifieras med en viss period och erbjuder en historisk synvinkel, sรฅ de bรคr alltid med sig ett tidselement, antingen explicit eller implicit.

Ett stรคlle dรคr denna tidsvarians fรถrekommer รคr i postnyckelns struktur. Varje primรคrnyckel i lagret bรถr innehรฅlla ett tidselement, sรฅsom dag, vecka eller mรฅnad.

En annan aspekt av tidsvarians รคr att nรคr data vรคl har infรถrts i lagret kan de inte uppdateras eller รคndras.

Icke-flyktiga

Ett datalager รคr ocksรฅ icke-flyktigt, vilket innebรคr att tidigare data inte raderas nรคr ny data anlรคnder. Informationen รคr skrivskyddad och uppdateras regelbundet, vilket hjรคlper analytiker att studera historisk data och fรถrstรฅ vad som hรคnde och nรคr.

Eftersom det inte behรถver transaktionsbehandling, รฅterstรคllning eller samtidighetskontroll, utelรคmnar ett datalager de aktiviteter fรถr borttagning, uppdatering och infogning som รคr vanliga i en operativ applikation. Endast tvรฅ dataoperationer utfรถrs i datalager:

  1. Laddning av data
  2. Datatillgรฅng

Tabellen nedan belyser nรฅgra viktiga skillnader mellan en operativ applikation och ett datalager:

Operationell tillรคmpning Datalager
Komplexa program mรฅste kodas fรถr att sรคkerstรคlla att datauppgraderingsprocesser bibehรฅller hรถg integritet hos slutprodukten. Den hรคr typen av problem uppstรฅr inte eftersom datauppdatering inte utfรถrs.
Data placeras i normaliserad form fรถr att sรคkerstรคlla minimal redundans. Data lagras inte i normaliserad form.
Tekniken som behรถvs fรถr att stรถdja problem med transaktioner, dataรฅterstรคllning, rollback och lรถsning av dรถdlรคgen รคr ganska komplex. Det erbjuder relativ enkelhet i tekniken.

Datalager Architecture

Datalager ArchiStrukturen รคr komplex eftersom systemet lagrar historisk och kumulativ data frรฅn flera kรคllor. Det finns tre metoder fรถr att konstruera lagerlagren: enskikts-, tvรฅskikts- och treskikts-.

Enskiktsarkitektur syftar till att minimera mรคngden data som lagras genom att ta bort redundans. Det anvรคnds sรคllan i praktiken.

Tvรฅstegsarkitektur separerar de fysiskt tillgรคngliga kรคllorna frรฅn datalagret. Det รคr inte lรคtt att utรถka, stรถder fรคrre slutanvรคndare och kan drabbas av anslutningsproblem pรฅ grund av nรคtverksbegrรคnsningar.

Tredelad arkitektur รคr den mest anvรคnda designen av ett datalager.

Den bestรฅr av de รถvre, mellersta och nedre nivรฅerna:

  1. Nedre nivรฅ: Databasen i lagret fungerar som den nedre nivรฅn. Det รคr vanligtvis ett relationsdatabas-system, och data rensas, transformeras och laddas in i detta lager med hjรคlp av backend-verktyg.
  2. Mellannivรฅ: Mellannivรฅn รคr en OLAP-server implementerad med antingen ROLAP- eller MOLAP-modellen. Den presenterar en abstracen ted-vy av databasen och fungerar som en medlare mellan slutanvรคndaren och databasen.
  3. Toppnivรฅ: Den รถversta nivรฅn รคr ett frontend-klientlager. Det innehรฅller de verktyg och API:er som anvรคnds fรถr att ansluta och hรคmta data frรฅn lagret, sรฅsom frรฅgeverktyg, rapporteringsverktyg, hanterade frรฅgeverktyg, analysverktyg och data mining-verktyg.

Datawarehouse-komponenter

Komponenterna och den รถvergripande arkitekturen i ett datalager fungerar tillsammans som visas i diagrammet nedan.

Komponenter i datalagerarkitekturen inklusive databas, ETL-verktyg, metadata, frรฅgeverktyg och datamarts

Datalagret รคr baserat pรฅ en RDBMS-server, ett centralt informationsarkiv omgivet av nyckelkomponenter som hรฅller hela miljรถn funktionell, hanterbar och tillgรคnglig.

Ett datalager har fem huvudkomponenter, som beskrivs nedan.

Data Warehouse Database

Den centrala databasen รคr grunden fรถr lagermiljรถn och implementeras pรฅ RDBMS teknik. Eftersom ett traditionellt RDBMS รคr anpassat fรถr transaktionsbehandling snarare รคn lagerhรฅllning, kan resurskrรคvande operationer som ad hoc-frรฅgor, flertabellskopplingar och aggregeringar gรถra det lรฅngsammare.

Av den anledningen anvรคnds alternativa databasmetoder:

  • Relationsdatabaser distribueras parallellt fรถr att mรถjliggรถra skalbarhet, med hjรคlp av modeller fรถr delat minne eller delat ingenting pรฅ olika multiprocessor- eller massivt parallella konfigurationer.
  • Nya indexstrukturer anvรคnds fรถr att kringgรฅ relationstabellskanningar och fรถrbรคttra hastigheten.
  • Flerdimensionella databaser (MDDB) anvรคnds fรถr att รถvervinna begrรคnsningarna hos relationella lagermodeller. Ett exempel รคr Essbase frรฅn Oracle.

Inkรถps-, fรถrvรคrvs-, sanerings- och transformationsverktyg (ETL)

Verktygen fรถr datakรคlla, transformation och migrering utfรถr alla konverteringar, sammanfattningar och รคndringar som behรถvs fรถr att omvandla data till ett enhetligt lagerformat. De kallas รคven Ex.tract, Transform och Load (ETL) verktyg.

Deras funktionalitet inkluderar fรถljande:

  • Anonymisera data enligt lagstadgade bestรคmmelser.
  • Eliminera oรถnskad data frรฅn operativa databaser innan lastning i lagret.
  • Sรถk och ersรคtt vanliga namn och definitioner fรถr data som kommer frรฅn olika kรคllor.
  • Berรคkna sammanfattningar och hรคrledda data.
  • Fyll i saknade data med standardvรคrden.
  • Avduplicera upprepad data som kommer frรฅn flera kรคllor.

Dessa ETL-verktyg kan generera cron-jobb, bakgrundsjobb, Cobol-program och shell-skript som regelbundet uppdaterar lagret och hjรคlper till att underhรฅlla metadata.

Eftersom de anvรคnder mรฅnga olika system mรฅste ETL-verktyg ocksรฅ hantera heterogenitet i databaser och data.

metadata

Metadata kanske lรฅter avancerat, men det รคr helt enkelt data om data som definierar lagret. Det anvรคnds fรถr att bygga, underhรฅlla och hantera lagret.

Inom arkitekturen specificerar metadata kรคllan, anvรคndningen, vรคrdena och funktionerna fรถr data och definierar hur data kan รคndras och bearbetas, sรฅ att de fรถrblir nรคra kopplade till lagret.

Till exempel kan en rad i en fรถrsรคljningsdatabas innehรฅlla:

4030 KJ732 299.90

Detta รคr meningslรถst tills metadata fรถrklarar att det representerar modellnumret 4030, sรคljagent-ID:t KJ732 och ett totalt fรถrsรคljningsbelopp pรฅ 299.90 USD.

Metadata รคr dรคrfรถr en viktig ingrediens fรถr att omvandla data till kunskap, och det hjรคlper till att besvara frรฅgor som:

  • Vilka tabeller, attribut och nycklar innehรฅller lagret?
  • Var kom uppgifterna ifrรฅn?
  • Hur mรฅnga gรฅnger laddas datan om?
  • Vilka transformationer och rening tillรคmpades?

Metadata faller inom tvรฅ kategorier:

  1. Teknisk metadata: Detta beskriver lagret fรถr de konstruktรถrer och administratรถrer som bygger och driver det.
  2. Affรคrsmetadata: Detta ger slutanvรคndarna ett enkelt sรคtt att fรถrstรฅ informationen som lagras i lagret.

Frรฅgeverktyg

Ett primรคrt mรฅl med datalager รคr att ge fรถretag den information de behรถver fรถr att fatta strategiska beslut, och frรฅgeverktyg รคr hur anvรคndare interagerar med systemet.

Dessa verktyg delas in i fyra kategorier:

  1. Frรฅge- och rapporteringsverktyg
  2. Verktyg fรถr applikationsutveckling
  3. Datautvinningsverktyg
  4. OLAP-verktyg

Frรฅge- och rapporteringsverktyg

Frรฅge- och rapporteringsverktyg delas in i tvรฅ grupper: rapporteringsverktyg och hanterade frรฅgeverktyg.

Rapporteringsverktyg delas vidare in i produktionsrapporteringsverktyg och skrivbordsrapporteringsfรถrfattare:

  1. Rapportfรถrfattare: Dessa รคr utformade fรถr slutanvรคndare som bygger sina egna analyser.
  2. Produktionsrapportering: Dessa lรฅter organisationer generera regelbundna driftsrapporter och stรถdja batchjobb med hรถg volym, sรฅsom utskrift och berรคkning. Populรคra exempel inkluderar Brio, Business Objects, Oracle, PowerSoft och SAS Institute.

Hanterade frรฅgeverktyg hjรคlpa slutanvรคndare genom att infoga ett metalager mellan anvรคndaren och databasen, vilket dรถljer komplexiteten i SQL och databasstruktur.

Verktyg fรถr applikationsutveckling

Nรคr inbyggda grafiska och analytiska verktyg inte kan uppfylla en organisations analytiska behov, skapas anpassade rapporter med verktyg fรถr applikationsutveckling.

Datautvinningsverktyg

Data mining upptรคcker meningsfulla nya korrelationer, mรถnster och trender i stora datamรคngder, och data mining-verktyg automatiserar den upptรคckten.

OLAP-verktyg

OLAP Verktygen รคr byggda pรฅ en flerdimensionell databas och lรฅter anvรคndare analysera data genom detaljerade, flerdimensionella vyer.

Datalagerbuss Architecture

Datalagerbussen avgรถr hur data flรถdar genom lagret. Det flรถdet kan kategoriseras som inflรถde, uppflรถde, nedflรถde, utflรถde och metaflรถde.

Nรคr du utformar bussen mรฅste du ta hรคnsyn till de gemensamma dimensioner och fakta som spรคnner รถver datamarts.

Data Marts

A data mart รคr ett รฅtkomstlager som anvรคnds fรถr att leverera data till anvรคndare. Det passar stora lager eftersom det tar mindre tid och pengar att bygga, รคven om det inte finns nรฅgon enskild รถverenskommen definition av en datamart.

Enkelt uttryckt รคr en datamart en underavdelning till ett datalager. Den partitionerar data fรถr en specifik grupp anvรคndare och kan finnas i samma databas som lagret eller i en fysiskt separat databas.

Datalager Architecture Best Practices

Fรถr att designa en sund datalagerarkitektur, fรถlj de bรคsta metoderna nedan:

  • Anvรคnd datalagermodeller som รคr optimerade fรถr informationshรคmtning, oavsett om det gรคller en dimensionell, denormaliserad eller hybridmetod.
  • Vรคlj en lรคmplig designmetod, antingen top-down eller bottom-up.
  • Se till att data bearbetas snabbt och korrekt samtidigt som du konsoliderar dem till en enda version av sanningen.
  • Utforma noggrant datainsamlings- och rensningsprocessen fรถr lagret.
  • Designa en metadataarkitektur som gรถr det mรถjligt att dela metadata mellan komponenter i lagret.
  • Tรคnk pรฅ en OperaODS-modell (National Data Store) nรคr hรคmtningsbehoven รคr nรคra botten av dataabstraktentractionspyramiden eller nรคr flera operativa kรคllor mรฅste nรฅs.
  • Se till att datamodellen รคr integrerad snarare รคn bara konsoliderad; anvรคnd i sรฅ fall en 3NF-datamodell, vilket ocksรฅ รคr idealiskt vid anskaffning av ETL- och datareningsverktyg.

Vanliga frรฅgor

En operativ databas hanterar frekventa insรคttningar, uppdateringar och borttagningar med normaliserade tabeller fรถr transaktionsbehandling. Ett datalager รคr skrivskyddat och icke-flyktigt, lagrar historisk data i denormaliserade strukturer och รคr optimerat fรถr frรฅgor, rapportering och analys snarare รคn daglig drift.

Ett datalager รคr ett fรถretagsomfattande arkiv som innehรฅller integrerade data frรฅn mรฅnga kรคllor. data mart รคr en mindre delmรคngd fokuserad pรฅ en avdelning eller ett รคmne, sรฅsom fรถrsรคljning eller ekonomi, vilket gรถr det snabbare och billigare att bygga och enklare att frรฅga efter.

Bรฅda รคr dimensionella designer. Ett stjรคrnschema placerar en central faktatabell lรคnkad direkt till denormaliserade dimensionstabeller, likt en stjรคrna. Ett snรถflingeschema normaliserar dessa dimensioner till relaterade undertabeller. Se dimensionell modellering fรถr hur fakta och dimensioner รคr organiserade.

Ett molndatalager รคr en hanterad analysdatabas som hostas av en leverantรถr, till exempel Amazon Rรถdfรถrskjutning, Google BigQuery, eller Snowflake. Den skalar lagring och berรคkning pรฅ begรคran, minskar hรฅrdvaruunderhรฅll och stรถder samma nivรฅindelade arkitektur och ETL-pipelines som lokala lager.

En enda version av sanningen innebรคr att varje anvรคndare och rapport bygger pรฅ en enhetlig, integrerad datamรคngd. Genom att konsolidera och standardisera vรคrden frรฅn olika kรคllor tar ett datalager bort motstridiga siffror sรฅ att besluten vilar pรฅ samma betrodda siffror.

ETL-exempeltracts-data, omvandlar den i ett mellanlagringsomrรฅde och laddar den sedan in i lagret. ELT laddar fรถrst rรฅdata och omvandlar den inuti lagret med hjรคlp av sin berรคkningskraft. Lรคs mer i ETL-process fรถrklaring.

AI och maskininlรคrningsverktyg fรถreslรฅr schemadesigner, automatiserar ETL-mappningping, upptรคcka avvikelser i datakvaliteten och rekommendera index eller partitioner som snabbar upp frรฅgor. De kan ocksรฅ prognostisera lagringstillvรคxt. En ingenjรถr bรถr granska varje rekommendation innan den tillรคmpas pรฅ ett produktionslager.

Ja. ChatGPT kan utarbeta SQL, dimensionsmodeller och ETL-logik frรฅn en beskrivning, samtidigt som GitHub Copilot autokompletterar transformationsskript i din editor. Validerar alltid genererade scheman och frรฅgor, eftersom AI kan referera till fรถrรฅldrad syntax eller standardvรคrden.

Sammanfatta detta inlรคgg med: