ROLAP
ROLAP står for R elational O n L ine Analytical Processing , det vil si at de er OLAP ( On Line Analytical Processing ) systemer og verktøy bygget på en relasjonsdatabase . Det er et alternativ til MOLAP ( Multidimensional OLAP ) teknologi som er bygget på flerdimensjonale databaser . Begge typer verktøy, både ROLAP og MOLAP, er designet for å utføre dataanalyse ved bruk av flerdimensjonale datamodeller, men i tilfelle av ROLAPdisse modellene er ikke implementert på et flerdimensjonalt system, men på et klassisk relasjonssystem.
Introduksjon
ROLAP-systemer skiller seg betydelig fra MOLAP ved at førstnevnte i prinsippet ikke krever forutgående beregning eller lagring av informasjon, siden de kan få direkte tilgang til kilden til nevnte data, ROLAP-verktøy får tilgang til data fra en database relasjonsdata og genererer SQL -spørringer for å beregne informasjonen på riktig nivå når en sluttbruker krever det.
Selv om ROLAP-applikasjoner er bygget på toppen av relasjonsdatabasesystemer, må disse databasene generelt være nøye utformet for ROLAP-bruk. En database designet for transaksjonsbehandling ( OLTP ) vil ikke fungere godt som en ROLAP-database. Denne spesifikke utformingen kan innebære opprettelse av ytterligere databasetabeller (sammendragstabeller eller aggregeringer ) som oppsummerer dataene i enhver ønsket kombinasjon av dimensjoner. Denne mekanismen kan øke hastigheten på tilgangen til forhåndsberegnet data ved å forbedre ytelsen til ROLAP-systemet, men i dette tilfellet må det opprettes en ekstra kopi av dataene hvis dataene ikke ble skrevet direkte til ROLAP-tabellene, men kommer fra OLTP-tabeller. Men siden det i begge tilfeller (ROLAP og OLTP) er en relasjonsdatabase, kan enhver av de eksisterende teknikkene for å få tilgang til og administrere den og migrere data mellom relasjonsdatabaser brukes.
Tabelldesign for et ROLAP-verktøy
I et ROLAP-system lagres informasjon i tabeller i en relasjonsdatabase. I denne utformingen er den såkalte faktatabellen av spesiell betydning , som er der historien av en eller annen relevant størrelsesorden for selskapet som må studeres uttømmende, for eksempel salg , er lagret .
I tillegg vil denne faktatabellen bli knyttet til andre tabeller hvor parameterne vil bli lagret avhengig av hvilken størrelse som skal studeres varierer, disse parameterne kalles dimensjoner; Vanligvis, for studiet av omfanget av salget , kan dimensjonene være: tid (etter dager, uker, timer, ... avhengig av interesse), produkter , geografiske områder (regioner, land, byer, postnummer, ...), kunder , varehus eller produksjonssentre , kampanjer , etc.
Til slutt vil utformingen av disse tabellene gi opphav til en struktur i hvis sentrum vil være faktatabellen og, rundt den og relatert til den, vil tabellene for dimensjonene, som gir opphav til et stjerneskjema .
Det kan være slik at du ønsker å rangere noen av dimensjonene, for eksempel kan tid angis etter dager, men du kan være interessert i å kunne gruppere den etter uker, etter måneder, etter kvartaler og/eller etter år; klienter kan klassifiseres etter kjønn (mann, kvinne); produkter kan grupperes etter kategorier osv. Å bygge dette designet vil innebære å legge til nye tabeller som vil forholde seg til dimensjonene til den sentrale faktatabellen. Dette designet kalles et snøfnuggmønster .
Når utformingen av dette systemet er ferdig, er det en struktur som identifiseres med en OLAP-kube . Et datavarehus vil ha flere av disse kubene, en for hver størrelse (eller sett med størrelser hvis de er avhengige av de samme dimensjonene) av interesse for selskapet.
ROLAP vs. MOLAP
Fordelene og ulempene med ROLAP diskuteres nedenfor, med fokus på de aspektene som er felles for de fleste av ROLAP- og MOLAP-verktøyene som er tilgjengelige i dag. I noen tilfeller kan det være verktøy som er unntak fra generaliseringene nedenfor.
Fordeler med ROLAP
Å bygge OLAP-verktøy på relasjonssystemer har noen fordeler fremfor flerdimensjonale systemer:
- ROLAP anses som mer skalerbar for å håndtere store datamengder, spesielt modeller med store kardinalitetsdimensjoner (for eksempel med millioner av medlemmer).
- Et bredt utvalg av datainnlastingsverktøy er tilgjengelig for relasjonssystemer; I tillegg er det mulighet for å justere ETL -koden (Extract, Transform, Load) til en bestemt datamodell. Med alt dette er lastetidene generelt mye kortere enn ved automatisert MOLAP- lasting.
- Dataene lagres i en standard relasjonsdatabase som kan nås av ethvert SQL - rapporteringsverktøy . Disse verktøyene trenger ikke nødvendigvis å være av OLAP -typen .
- MOLAP-verktøy har en tendens til å lide av dårlig ytelse når de spør etter elementer som tekstbeskrivelser.
- Ved å omgå den flerdimensjonale modellens datalagring, er det mulig å lykkes med å modellere data som ellers ikke ville passet inn i en streng dimensjonsmodell.
Ulemper med ROLAP
Det er en generell konsensus i bransjen om at ROLAP-verktøy har lavere ytelse enn MOLAP-verktøy.
- Den samlede tabelllastingsprosessen må håndteres av tilpasset ETL -kode . ROLAP-verktøy har ikke automatiske mekanismer for å utføre denne oppgaven, noe som betyr at det trengs mer kodeutviklingstid.
- Mange utviklere av ROLAP-dimensjonale modeller ignorerer trinnet med å lage samlede tabeller. I dette tilfellet påvirkes ytelsen til en spørring fordi tabellene med mer detaljerte data må spørres. Dette kan delvis unngås ved å legge til flere aggregerte tabeller, men det er ikke praktisk å lage aggregerte tabeller for alle mulige dimensjon/attributtkombinasjoner.
- ROLAP-systemer er bygget på toppen av generelle databaser, så det er noen spesielle funksjoner ved MOLAP- verktøy som ikke er tilgjengelige i ROLAP-systemer (som spesiell hierarkisk indeksering). Moderne ROLAP-verktøy fyller imidlertid disse hullene med de siste forbedringene av SQL -språket , for eksempel CUBE- og ROLLUP- operatorene , DB2-kubevisninger , samt andre SQL OLAP -utvidelser . Disse SQL-forbedringene kan redusere forskjeller fra MOLAP- verktøy .
- Fordi ROLAP-verktøy er avhengige av SQL for alle beregninger, er de ikke hensiktsmessige når modellen utfører mange beregninger som ikke oversettes godt til SQL (for eksempel: budsjetter, allokeringer, økonomiske rapporter og andre scenarier).
ROLAP ytelse
OLAP-undersøkelse
I OLAP-industrien oppfattes ROLAP å være i stand til å skalere til store datavolumer, men lider av lavere ytelse for utførelse av spørringer (sammenlignet med MOLAP). OLAP Survey , den største uavhengige undersøkelsen for alle større OLAP-produkter, over 5 år (2001 til 2005), fant at selskaper som bruker ROLAP rapporterer lavere ytelse enn de som bruker MOLAP. Imidlertid er det mindre problemer som kan tas i betraktning når du tolker resultatene fra undersøkelsen:
- ROLAP-verktøy velges vanligvis av selskaper med store datamengder (høy kardinalitet av dimensjoner), på grunn av ROLAPs overlegne skalerbarhet, og den samme undersøkelsen bekrefter også dette konsekvent. I OLAP-undersøkelsen hadde 3 resultater fra ROLAP-verktøy et gjennomsnittlig datavolum på 312 GB sammenlignet med 4 GB for MOLAP-verktøy. Det er klart at større datamengder krever lengre spørretider.
- Undersøkelsen viser også at ROLAP-verktøy har 7 ganger flere brukere enn MOLAP-verktøy innen hvert selskap. Systemer med flere brukere vil ha en tendens til å oppleve flere ytelsesproblemer ved høye brukstider.
- Det er også et spørsmål om kompleksiteten til modellen, målt etter antall dimensjoner og rikdom av beregningene. Undersøkelsen tilbyr ikke en god måte å kontrollere for disse variasjonene i de analyserte dataene.
Ytelsesfall og fleksibilitet
Noen selskaper bruker ROLAP fordi de ønsker å gjenbruke eksisterende relasjonsdatabasetabeller, ofte vil disse tabellene ikke være optimalt designet for OLAP-bruk. Fleksibiliteten til ROLAP-verktøyene gjør at de kan fungere, men ytelsen synker hvis tabellene ikke er riktig utformet. MOLAP-verktøy ville i stedet tvinge data til å lastes inn på nytt til en optimal OLAP-layout.
Trender
Ekstrakostnadene ved ETL - prosesser for å migrere data til et MOLAP-verktøy og dårlig spørringsytelse i ROLAP-systemer har ført til at de fleste kommersielle OLAP -verktøy bruker en "Hybrid OLAP" ( HOLAP ) modell, som lar designeren av systemet bestemme hvilken del av dataene vil bli lagret i flerdimensjonal modus (MOLAP) og hvilken del av dataene i relasjonsmodus (ROLAP)....
Produkter
Noen eksempler på kommersielle produkter som bruker ROLAP er:
- Oracle Business Intelligence Enterprise Edition
- Microsoft Analysetjenester
- Mikrostrategi
- forretningsobjekter
- Mondrian ( ROLAP åpen kildekodeserver )
Se også
- OLAP
- MOLAP
- HOLAP
- OLAP kube
- stjerneskjema
- Snowflake Outline
- Faktatabell og dimensjonstabell
- OLTP
- Microsoft SQLServer