Datavarehus Architecture, komponenter og diagram Concepts

โšก Smart oppsummering

Datavarehus ArchiTektur definerer hvordan historiske og kumulative data fra mange kilder er organisert i lagdelte lag og tilkoblede komponenter, noe som muliggjรธr pรฅlitelig rapportering, analyse og รฉn versjon av sannheten for organisatorisk beslutningstaking og prognoser.

  • ๐Ÿ›๏ธ Kjerneformรฅl: Et datavarehus lagrer emneorienterte, integrerte, tidsvariable og ikke-flyktige data for รฅ stรธtte analyse i stedet for daglig transaksjonsbehandling.
  • ๐Ÿงฑ Lagdelt design: ArchiTeksturer spenner fra ett-lags til den mye brukte tre-lagsmodellen med en bunndatabase, en midtre OLAP-server og et toppklientlag.
  • ๐Ÿ—„๏ธ Kjernedatabase: Det sentrale depotet kjรธrer pรฅ et RDBMS, ofte utvidet med parallelle databaser, nye indeksstrukturer og flerdimensjonale databaser for skalering og hastighet.
  • ๐Ÿ”„ ETL-komponenter: Verktรธy for sourcing, anskaffelse, opprydding og transformasjon konsoliderer data til ett enhetlig format og holder lageret oppdatert.
  • ๐Ÿท๏ธ Metadatarolle: Tekniske og forretningsmessige metadata beskriver kilden, betydningen og behandlingen av data, og omdanner rรฅverdier til brukbar kunnskap.
  • ๐Ÿ“Š Spรธrre- og OLAP-verktรธy: Rapportering, administrerte spรธrringer, applikasjonsutvikling, datautvinning og OLAP-verktรธy lar brukere utforske lageret fra mange vinkler.
  • โœ… Beste praksis: Optimaliser datamodellen for gjenfinning, konsolider til รฉn versjon av sannheten, og vurder en ODS- eller 3NF-modell nรฅr det er nรธdvendig.

Datavarehus ArchiTekturdiagram som viser nivรฅene og kjernekomponentene i et datavarehus

Datavarehus Concepts

A datalager eksisterer for รฅ gi et selskap รฉn versjon av sannheten for beslutningstaking og prognoser. Det er et informasjonssystem som inneholder historiske og kumulative data hentet fra รฉn eller flere kilder.

Ved รฅ organisere disse dataene for analyse i stedet for transaksjoner, forenkler et datalager rapporterings- og analysearbeidet til en hel organisasjon.

Kjennetegn ved datavarehus

Et datavarehus har fire definerende egenskaper som skiller det fra en rutinemessig driftsdatabase:

  • Fagorientert
  • Integrert
  • Tidsvariant
  • Ikke-flyktig

Fagorientert

Et datavarehus er emneorientert fordi det leverer informasjon om et tema snarere enn et selskaps pรฅgรฅende drift. Typiske emner inkluderer salg, markedsfรธring og distribusjon.

I stedet for daglig prosessering, vektlegger lageret modellering og analyse for beslutningstaking. Det gir en enkel og konsis oversikt over hvert emne og utelater data som ikke stรธtter beslutningsprosessen.

Integrert

Integrasjon er nรฆrt knyttet til fagorientering. I et datavarehus betyr integrasjon รฅ etablere en felles mรฅleenhet for alle lignende data hentet fra ulike databaser, og lagre disse dataene pรฅ en felles, universelt akseptabel mรฅte.

Et datavarehus bygges ved รฅ integrere data fra ulike kilder, som stormaskiner, relasjonsdatabaser og flate filer. Det mรฅ ogsรฅ beholde konsistente navnekonvensjoner, formater og koding.

Denne konsistensen i navngivning, attributtmรฅl og kodingstruktur er det som gjรธr effektiv analyse mulig. Tenk pรฅ fรธlgende eksempel:

Eksempel pรฅ datavarehusintegrasjon som standardiserer felt for kjรธnn, dato og saldo fra tre applikasjoner

I eksemplet ovenfor lagrer tre applikasjoner merket A, B og C informasjon om kjรธnn, dato og saldo, men hver applikasjon lagrer den pรฅ en annen mรฅte:

  • Program A lagrer kjรธnnsfeltet som logiske verdier som M eller F.
  • Program B lagrer kjรธnnsfeltet som en numerisk verdi.
  • Program C lagrer kjรธnnsfeltet som en tegnverdi.
  • Den samme variasjonen gjelder for feltene Dato og Saldo.

Etter transformasjons- og renseprosessen lagres alle disse dataene i et felles format i datalageret.

Tidsvariant

Tidshorisonten til et datalager er mye bredere enn for et operasjonelt system. Dataene gjenkjennes med en bestemt periode og tilbyr et historisk perspektiv, slik at de alltid har et element av tid, enten eksplisitt eller implisitt.

Ett sted hvor denne tidsvariansen forekommer er i strukturen til postnรธkkelen. Hver primรฆrnรธkkel i lageret bรธr inneholde et tidselement, for eksempel dag, uke eller mรฅned.

Et annet aspekt ved tidsvariasjon er at nรฅr data fรธrst er satt inn i lageret, kan de ikke oppdateres eller endres.

Ikke-flyktig

Et datalager er ogsรฅ ikke-flyktig, noe som betyr at tidligere data ikke slettes nรฅr nye data kommer inn. Dataene er skrivebeskyttet og oppdateres med jevne mellomrom, noe som hjelper analytikere med รฅ studere historiske data og forstรฅ hva som skjedde og nรฅr.

Fordi det ikke trenger transaksjonsbehandling, gjenoppretting eller samtidighetskontroll, utelater et datalager slette-, oppdatere- og innsettingsaktivitetene som er vanlige i en operativ applikasjon. Bare to dataoperasjoner utfรธres i datalager:

  1. Innlasting av data
  2. Datatilgang

Tabellen nedenfor fremhever noen viktige forskjeller mellom en driftsapplikasjon og et datalager:

Operasjonell sรธknad Datavarehus
Komplekse program mรฅ kodes for รฅ sikre at dataoppgraderingsprosesser opprettholder hรธy integritet til sluttproduktet. Denne typen problem oppstรฅr ikke fordi dataoppdatering ikke utfรธres.
Data plasseres i en normalisert form for รฅ sikre minimal redundans. Data lagres ikke i normalisert form.
Teknologi som trengs for รฅ stรธtte problemer med transaksjoner, datagjenoppretting, tilbakerulling og lรธsning av vranglรฅser er ganske kompleks. Det gir relativ enkelhet i teknologi.

Datavarehus Architecture

Datavarehus ArchiTekturen er kompleks fordi systemet lagrer historiske og kumulative data fra flere kilder. Det finnes tre tilnรฆrminger til รฅ konstruere lagerlagene: ett-lags, to-lags og tre-lags.

Enkeltlags arkitektur har som mรฅl รฅ minimere mengden data som lagres ved รฅ fjerne redundans. Det brukes sjelden i praksis.

To-lags arkitektur skiller de fysisk tilgjengelige kildene fra datalageret. Det er ikke lett รฅ utvide, stรธtter fรฆrre sluttbrukere og kan stรธte pรฅ tilkoblingsproblemer pรฅ grunn av nettverksbegrensninger.

Tre-lags arkitektur er den mest brukte designen av et datavarehus.

Den bestรฅr av topp-, midtre og nederste nivรฅer:

  1. Nederste nivรฅ: Databasen til varehuset fungerer som det nederste laget. Det er vanligvis et relasjonsdatabasesystem, og data renses, transformeres og lastes inn i dette laget ved hjelp av backend-verktรธy.
  2. Mellomlag: Mellomnivรฅet er en OLAP-server implementert ved hjelp av enten ROLAP- eller MOLAP-modellen. Den presenterer en abstractett visning av databasen og fungerer som en mellommann mellom sluttbrukeren og databasen.
  3. Toppnivรฅ: Det รธverste laget er et front-end-klientlag. Det inneholder verktรธyene og API-ene som brukes til รฅ koble til og hente data ut av lageret, for eksempel spรธrreverktรธy, rapporteringsverktรธy, administrerte spรธrreverktรธy, analyseverktรธy og datautvinningsverktรธy.

Datavarehuskomponenter

Komponentene og den overordnede arkitekturen til et datavarehus fungerer sammen som vist i diagrammet nedenfor.

Komponenter i datavarehusarkitektur, inkludert database, ETL-verktรธy, metadata, spรธrreverktรธy og datamarts

Datavarehuset er basert pรฅ en RDBMS-server, et sentralt informasjonsarkiv omgitt av nรธkkelkomponenter som holder hele miljรธet funksjonelt, hรฅndterbart og tilgjengelig.

Et datavarehus har fem hovedkomponenter, som er beskrevet nedenfor.

Datavarehusdatabase

Den sentrale databasen er grunnlaget for lagermiljรธet og er implementert pรฅ RDBMS teknologi. Fordi et tradisjonelt RDBMS er innstilt for transaksjonsbehandling snarere enn lager, kan ressurskrevende operasjoner som ad hoc-spรธrringer, flertabellkoblinger og aggregater gjรธre det tregere.

Av den grunn brukes alternative databasetilnรฆrminger:

  • Relasjonsdatabaser distribueres parallelt for รฅ tillate skalerbarhet, ved hjelp av modeller for delt minne eller delt ingenting pรฅ forskjellige flerprosessor- eller massivt parallelle konfigurasjoner.
  • Nye indeksstrukturer brukes til รฅ omgรฅ skanninger av relasjonstabeller og forbedre hastigheten.
  • Flerdimensjonale databaser (MDDB-er) brukes til รฅ overvinne begrensningene i relasjonelle lagermodeller. Et eksempel er Essbase fra Oracle.

Innkjรธps-, anskaffelses-, opprydnings- og transformasjonsverktรธy (ETL)

Verktรธyene for datainnsamling, transformasjon og migrering utfรธrer alle konverteringene, oppsummeringene og endringene som trengs for รฅ gjรธre data om til et enhetlig lagerformat. De kalles ogsรฅ Ex.tract, Transform og Load (ETL)-verktรธy.

Funksjonaliteten deres inkluderer fรธlgende:

  • Anonymiser data i henhold til regulatoriske bestemmelser.
  • Fjern uรธnskede data fra driftsdatabaser fรธr lasting inn i lageret.
  • Sรธk og erstatt vanlige navn og definisjoner for data som kommer fra forskjellige kilder.
  • Beregn sammendrag og avledede data.
  • Fyll ut manglende data med standardverdier.
  • Dedupliker gjentatte data som kommer fra flere kilder.

Disse ETL-verktรธy kan generere cron-jobber, bakgrunnsjobber, Cobol-programmer og skallskript som regelmessig oppdaterer lageret og bidrar til รฅ vedlikeholde metadataene.

Fordi de henter inspirasjon fra mange systemer, mรฅ ETL-verktรธy ogsรฅ hรฅndtere heterogenitet i databaser og data.

metadata

Metadata hรธres kanskje avansert ut, men det er rett og slett data om data som definerer lageret. Det brukes til รฅ bygge, vedlikeholde og administrere lageret.

Innenfor arkitekturen spesifiserer metadata kilden, bruken, verdiene og funksjonene til dataene, og definerer hvordan dataene kan endres og behandles, slik at de forblir tett knyttet til lageret.

For eksempel kan en linje i en salgsdatabase inneholde:

4030 KJ732 299.90

Dette er meningslรธst inntil metadataene forklarer at det representerer modellnummeret 4030, salgsagent-ID-en KJ732 og et totalt salgsbelรธp pรฅ 299.90 dollar.

Metadata er derfor en viktig ingrediens i รฅ gjรธre data om til kunnskap, og det bidrar til รฅ svare pรฅ spรธrsmรฅl som:

  • Hvilke tabeller, attributter og nรธkler inneholder lageret?
  • Hvor kom dataene fra?
  • Hvor mange ganger lastes dataene inn pรฅ nytt?
  • Hvilke transformasjoner og rensing ble brukt?

Metadata faller inn i to kategorier:

  1. Tekniske metadata: Dette beskriver lageret for designerne og administratorene som bygger og driver det.
  2. Bedriftsmetadata: Dette gir sluttbrukerne en enkel mรฅte รฅ forstรฅ informasjonen som er lagret pรฅ lageret.

Spรธrreverktรธy

Et hovedmรฅl med datavarehus er รฅ gi bedrifter informasjonen de trenger for รฅ ta strategiske beslutninger, og spรธrreverktรธy er hvordan brukere samhandler med systemet.

Disse verktรธyene faller inn i fire kategorier:

  1. Spรธrrings- og rapporteringsverktรธy
  2. Verktรธy for applikasjonsutvikling
  3. Data mining-verktรธy
  4. OLAP-verktรธy

Spรธrre- og rapporteringsverktรธy

Spรธrre- og rapporteringsverktรธy deles inn i to grupper: rapporteringsverktรธy og administrerte spรธrreverktรธy.

Rapporteringsverktรธy delt videre inn i produksjonsrapporteringsverktรธy og skrivebordsrapportforfattere:

  1. Rapportforfattere: Disse er utviklet for sluttbrukere som bygger sine egne analyser.
  2. Produksjonsrapportering: Disse lar organisasjoner generere regelmessige driftsrapporter og stรธtte store batchjobber som utskrift og beregning. Populรฆre eksempler inkluderer Brio, Business Objects, Oracle, PowerSoft og SAS Institute.

Administrerte spรธrreverktรธy hjelpe sluttbrukere ved รฅ sette inn et meta-lag mellom brukeren og databasen, som skjuler kompleksiteten til SQL og databasestrukturen.

Verktรธy for applikasjonsutvikling

Nรฅr innebygde grafiske og analytiske verktรธy ikke kan dekke en organisasjons analytiske behov, bygges det tilpassede rapporter med verktรธy for applikasjonsutvikling.

Datautvinningsverktรธy

Datautvinning oppdager meningsfulle nye korrelasjoner, mรธnstre og trender i store datamengder, og datautvinningsverktรธy automatiserer denne oppdagelsen.

OLAP-verktรธy

OLAP Verktรธyene er bygget pรฅ en flerdimensjonal database og lar brukere analysere data gjennom forseggjorte, flerdimensjonale visninger.

Datavarehusbuss Architecture

Datavarehusbussen bestemmer hvordan data flyter gjennom varehuset. Denne flyten kan kategoriseres som innstrรธm, oppstrรธm, nedstrรธm, utstrรธm og metastrรธm.

Nรฅr du designer bussen, mรฅ du ta hensyn til de delte dimensjonene og faktaene som spenner over datamartene.

Data Marts

A datamart er et tilgangslag som brukes til รฅ levere data til brukere. Det passer for store lagre fordi det tar mindre tid og penger รฅ bygge, selv om det ikke finnes noen enkelt, avtalt definisjon av et datamart.

Enkelt sagt er et datamart et datterselskap av et datalager. Det partisjonerer data for en bestemt gruppe brukere og kan ligge i samme database som lageret eller i en fysisk separat database.

Datavarehus Architecture Best Practices

For รฅ designe en solid datavarehusarkitektur, fรธlg beste praksis nedenfor:

  • Bruk datavarehusmodeller som er optimalisert for informasjonsinnhenting, enten det er en dimensjonale, denormalisert eller hybrid tilnรฆrming.
  • Velg en passende designtilnรฆrming, enten ovenfra og ned eller nedenfra og opp.
  • Sรธrg for at data behandles raskt og nรธyaktig, samtidig som de konsolideres til รฉn enkelt versjon av sannheten.
  • Utform datainnsamlings- og renholdsprosessen for lageret nรธye.
  • Design en metadataarkitektur som tillater deling av metadata mellom komponenter i lageret.
  • Tenk pรฅ en Operamodell for nasjonal datalagring (ODS) nรฅr hentebehovene er nรฆr bunnen av dataabstraktentracsjonspyramide eller nรฅr flere operative kilder mรฅ tilgรฅs.
  • Sรธrg for at datamodellen er integrert snarere enn bare konsolidert. Bruk i sรฅ fall en 3NF-datamodell, som ogsรฅ er ideell nรฅr du anskaffer ETL- og datarensingsverktรธy.

Spรธrsmรฅl og svar

En operativ database hรฅndterer hyppige innsettinger, oppdateringer og slettinger med normaliserte tabeller for transaksjonsbehandling. Et datavarehus er skrivebeskyttet og ikke-flyktig, lagrer historiske data i denormaliserte strukturer og er optimalisert for spรธrring, rapportering og analyse i stedet for daglig drift.

Et datalager er et bedriftsomfattende arkiv som inneholder integrerte data fra mange kilder. datamart er et mindre delsett fokusert pรฅ รฉn avdeling eller et emne, for eksempel salg eller finans, noe som gjรธr det raskere og billigere รฅ bygge og enklere รฅ spรธrre om.

Begge er dimensjonale design. Et stjerneskjema plasserer รฉn sentral faktatabell som er direkte koblet til denormaliserte dimensjonstabeller, og ligner en stjerne. Et snรธfnuggskjema normaliserer disse dimensjonene til relaterte undertabeller. Se dimensjonal modellering for hvordan fakta og dimensjoner er organisert.

Et skybasert datalager er en administrert analysedatabase som driftes av en leverandรธr, for eksempel Amazon rรธdforskyvning, Google BigQuery, eller Snowflake. Den skalerer lagring og databehandling etter behov, reduserer maskinvarevedlikehold og stรธtter den samme lagdelte arkitekturen og ETL-pipelines som lokale varehus.

ร‰n enkelt versjon av sannheten betyr at hver bruker og rapport trekker pรฅ ett konsistent, integrert datasett. Ved รฅ konsolidere og standardisere verdier fra forskjellige kilder fjerner et datalager motstridende tall, slik at beslutninger hviler pรฅ de samme pรฅlitelige tallene.

ETL-eksemplartracts-data, transformerer dem i et oppsamlingsomrรฅde og laster dem deretter inn i lageret. ELT laster fรธrst rรฅdata og transformerer dem inne i lageret ved hjelp av datakraften sin. Lรฆr mer i ETL-prosess forklaring.

AI og maskinlรฆringsverktรธy foreslรฅr skjemadesign, automatiserer ETL-kartping, oppdage avvik i datakvaliteten og anbefale indekser eller partisjoner som fremskynder spรธrringer. De kan ogsรฅ forutsi lagringsvekst. En ingeniรธr bรธr gjennomgรฅ hver anbefaling fรธr den brukes pรฅ et produksjonslager.

Ja. ChatGPT kan utarbeide SQL, dimensjonsmodeller og ETL-logikk fra en beskrivelse, samtidig som GitHub Copilot autofullfรธrer transformasjonsskript i editoren din. Valider alltid genererte skjemaer og spรธrringer, fordi AI kan referere til utdatert syntaks eller standardverdier.

Oppsummer dette innlegget med: