Forstå transaksjonssemantikk i Essbase

Når en kube er i modus for lesing/skriving, vurderer Essbase hver oppdateringsforespørsel til tjeneren (for eksempel en datalasting, en beregning eller en setning i et beregningsskript) som en transaksjon.

Hver transaksjon har en gjeldende tilstand: aktiv, lagret eller avbrutt. Når data lagres, hentes de fra tjenerminnet og skrives til kuben på disk.

Valgene Lagre blokker og Lagre rader i fanen Transaksjoner i innstillingene for kubekontrolløren angir hvor ofte Essbase lagrer datablokker eller -rader.

Essbase tillater at transaksjoner har lese-/skrivelåser blokkvis. Essbase frigir en blokk når den er oppdatert, men lagrer ikke blokker før transaksjonen er fullført eller en angitt grense (et såkalt synkroniseringspunkt) er nådd.

Du styrer når Essbase skal utføre en eksplisitt lagringsoperasjon, ved å angi følgende parametre for synkroniseringspunkt:


Bilde av valget Tilgang til ulagret i kubekontrolløren > Innstillinger > fanen Transaksjoner i Web-grensesnittet for Essbase.

  • Lagre blokker (antall blokker som endres før et synkroniseringspunkt inntreffer). Essbase-lagringer når det angitte antallet blokker er nådd. Denne frekvensen kan bli justert dynamisk under en beregning.

    Hvis du setter Lagre blokker til 0, inntreffer synkroniseringspunktet på slutten av transaksjonen.

  • Lagre rader (antall rader som må lastes før et synkroniseringspunkt inntreffer). Standard er 0, noe som innebærer at synkroniseringspunktet inntreffer på slutten av datalastingen.

Hvis Lagre blokker eller Lagre rader har en annen verdi enn null, inntreffer et synkroniseringspunkt når første terskel nås. Hvis for eksempel Lagre blokker har 10, men Lagre rader har 0 og du laster data, inntreffer et synkroniseringspunkt når 10 blokker er oppdatert. Hvis Lagre blokker har 5 og Lagre rader har 5 og du laster data, inntreffer et synkroniseringspunkt når 5 rader er lastet eller 5 blokker er oppdatert, avhengig av hva som skjer først.

Hvis Essbase Server kjører på en Oracle Exalytics In-Memory-maskin, gjelder ikke Tilgang til ulagret-innstillinger. Lagringen skjer på slutten av kommandoen eller forespørselen. Eventuelle endringer du gjør i innstillingene for Lagre blokker eller Lagre rader, ignoreres.

Hvis Essbase Server kjører på en uavhengig implementering for Windows, settes Lagre blokker til 3000 som standard.

Hvis en brukerdefinert terskel overskrides under en operasjon, oppretter Essbase et synkroniseringspunkt for å lagre dataene som er behandlet frem til det punktet. Essbase gjør dette så mange ganger det er nødvendig for å fullføre operasjonen.

Essbase analyserer verdien for Lagre blokker og Lagre rader under gjennomførbarhetsanalysen knyttet til bruk av parallell beregning. Hvis Essbase registrerer at verdiene er satt for lavt, økes de automatisk.

Essbase beholder redundante data for å opprettholde transaksjonsmessig semantikk. La det være diskplass tilsvarende det dobbelte av størrelsen på databasen, for å sikre plass til redundante data, særlig hvis både Lagre blokker og Lagre rader er satt til 0.

Slik angir du lagring av blokker og rader
  1. Gå til Transaksjoner i Web-grensesnittet for Essbase.
    I Redwood-grensesnittet:
    1. Åpne applikasjonen på siden Applikasjoner, og åpne deretter databasen (kuben).
    2. Klikk på Tilpasning, Innstillinger og deretter Transaksjoner.
    I det klassiske Web-grensesnittet:
    1. Utvid applikasjonen på siden Applikasjoner.
    2. Klikk på Inspiser til høyre for kubenavnet på menyen Handlinger, og klikk deretter på Transaksjoner.
  2. Foreta valgene, og klikk på Lagre.