Opprett og rediger elastiske tabeller

Et elastisk tabell er en tabell administrert av Microsoft Dataverse. Elastiske tabeller har samme kjente brukeropplevelse og API som standardtabeller. De deler mange aspekter og alternativer med standardtabeller, men har sine egne unike funksjoner og egenskaper som drives av Azure Cosmos DB.

Som med standardtabeller er elastiske tabeller inkludert med kapasitetsbruken i Dataverse-databasen.

Se på denne videoen for å lære om elastiske tabeller.

Når bør du vurdere elastiske Dataverse-tabeller?

Elastiske tabeller er utformet for å håndtere store mengder data i sanntid. Med elastiske tabeller kan du importere, lagre og analysere store datavolumer uten problemer med skalerbarhet, ventetid eller ytelse.

Elastiske tabeller har unike funksjoner for fleksibelt skjema, vannrett skalering og automatisk fjerning av data etter en tidsperiode.

Elastiske tabeller skaleres automatisk for å hente inn flere titalls millioner rader hver time. Bakgrunnsprosesser kan sortere IoT-signalene, forutsi vedlikeholdskrav og proaktivt planlegge teknikere.

Tenk deg et scenario der Contoso er en forhandler med millioner av eksisterende kunder. Contoso har en stor database med kunder og ønsker å øke salget samtidig som kunder beholdes. Basert på tidligere kundehistorikk ser de ut til å ha 24-timers hendelser med flash-salg med forskjellige rabattkuponger rettet mot sine kunder og produkter. De har beregnet at antallet påkrevde rabattkuponger vil være 100 millioner pluss per kampanje med flash-salg. Markedsføringsplaner har som mål å kjøre flere 24-timers kampanjer rettet mot ulike kundesegmenter.

Kravet for Contosos markedsføringsapp er at den må kunne innta opptil 100 millioner eller flere rabattkuponger i løpet av et par timer, lese millioner av rabattkuponger per time og sende rabattkuponger til kunder.

Elastiske tabeller skalerer automatisk for dette scenarioet med høy gjennomstrømning.

I scenariet ovenfor kan for eksempel en elastisk tabell kalt Rabattkupong med millioner av oppføringer, tilknyttes standardtabeller i Dataverse, for eksempel Kontakt (kundeinformasjon) og Tilbud (en egendefinert standardtabell). Siden de elastiske tabellene er isolert fra standardtabellene, vil ikke ytelsen til markedsføringsappen bli negativt påvirket. I tillegg tillater tid-til-publisering-funksjon med elastisk tabell (Rabattkupong i dette scenarioet) fjerning av data automatisk etter faste perioder, som sikrer optimalisering av lagringskapasitet.

Bruk elastiske tabeller når:

  • Dataene kan være ustrukturerte eller semistrukturerte, eller hvis datamodellen kan endres hele tiden.
  • Du trenger automatisk vannrett skalering.
  • Du må håndtere et stort antall lese- og skriveforespørsler.

Bruk standardtabeller når:

  • Appen krever en kraftig konsistens.
  • Appen krever relasjonsmodellering og trenger transaksjonsfunksjonalitet på tvers av tabeller og under faser for kjøring av programtillegg.
  • Appen krever komplekse koblinger.

Valget av tabell bør baseres på de spesielle behovene til appen. En kombinasjon av begge typer tabeller kan være hensiktsmessig.

Vannrett skalering og ytelse

Etter hvert som forretningsdataene vokser, gir elastiske tabeller ubegrenset automatisk skalerbarhet basert på apparbeidsbelastningen, både for lagringsstørrelse og gjennomstrømning, for eksempel antall opprettede, oppdaterte eller slettede oppføringer i en gitt tidsramme.

Hvis forretningsscenarioet krever svært store datamengder, kan apputviklerne bruke API-er for flere forespørsler i Dataverse, for eksempel CreateMultiple, UpdateMultiple og DeleteMultiple, for å oppnå mer gjennomstrømning innenfor Dataverse-begrensningene. Mer informasjon: Utviklerveiledning: Masseoperasjonsmeldinger og Optimalisere ytelsen for masseoperasjoner

Automatisk fjerning av data

TTL-retningslinjer (tid til publisering) sikrer at du alltid arbeider med den mest oppdaterte og nøyaktige informasjonen, samtidig som du optimaliserer ressurser og reduserer risikoen. Den direkte TTL-verdien angis i sekunder for en oppføring, og den tolkes som et avvik fra tidspunktet da en oppføring sist ble endret.

Fleksibelt skjema med JSON-kolonner

Elastiske tabeller gjør at du kan lagre og spørre etter data med varierende strukturer, uten behov for forhåndsdefinerte skjemaer eller overføringer. Du trenger ikke skrive egen kode for å tilordne de importerte dataene til et fast skjema. Mer informasjon: Utviklerveiledning: Spøring i JSON-kolonner i elastiske tabeller Elastiske tabeller lar deg lagre og spørre etter data med varierende strukturer, uten behov for forhåndsdefinerte skjemaer eller migreringer. Du trenger ikke skrive egen kode for å tilordne de importerte dataene til et fast skjema. Mer informasjon: Utviklerveiledning: Spørring i JSON-kolonner i elastiske tabeller

Vurderinger ved bruk av elastiske tabeller

Selv om elastiske tabeller er gode for håndtering av mange forespørsler i stor skala, har fordelene noen avveininger, og disse bør du huske på:

  • Elastiske tabeller støtter ikke transaksjoner med flere oppføringer. Dette betyr at flere skriveoperasjoner som skjer som en del av en enkelt forespørselskjøring, ikke kan transaksjoneres med hverandre. Hvis du for eksempel har et synkron trinn i et programtillegg registrert i fasen PostOperation for Create message i en elastisk tabell, vil ikke eventuelle feil i programtillegget rulle tilbake den opprettede oppføringen i Dataverse. Valideringer i pre-programtillegg vil fremdeles fungere som forventet, siden de kjører før hovedfasen.
  • Elastiske tabeller støtter bare en kraftig konsistens i en logisk økt. Utenfor øktkonteksten kan det hende at du ikke ser endringer i en rad umiddelbart. Mer informasjon: Utviklerveiledning: Konsistensnivå
  • Elastiske tabeller støtter ikke filtre på relaterte tabeller når du oppretter visninger, avansert søk eller en spørring generelt ved hjelp av API. Hvis du ofte må filtrere etter relaterte tabellkolonner, anbefaler vi at du denormaliserer kolonner fra relaterte tabeller, som må filtrere inn i selve hovedtabellen. Tenk deg en forhandler med to elastiske tabeller: kunde og adresse. Én kunde har mange adresser. Du ønsker å returnere spørringsresultater for alle kunder fra kundetabellen der poststedsverdien i adressetabellen er Bergen. I dette eksemplet vil du bruke et filter på poststedskolonnen i den relaterte adressetabellen når du spør etter kundetabell. Dette støttes ikke for elastiske tabeller. Én måte å få dette til å fungere på er å formalisere poststedskolonnen i Kunde-tabellen, slik at alle poststedsverdier for kunder finnes i selve kundetabellen.

Elastiske tabeller støtter

  • Opprett, hent, oppdater, slett operasjoner (CRUD), inkludert flere API-operasjoner (for høy gjennomstrømning), massesletting og forespørsler fra programtillegg.
  • Relasjoner:
    • Én-til-mange
    • Mange-til-én når N-tabellen er en standardtabell
  • Registrer eierskap, endre sporing, revisjon, mobil frakoblet og Dataverse-søk.
  • Filkolonne med filtypeattributt

Sikkerhetsfunksjoner støtter

Elastiske tabeller overholder Dataverse-sikkerhetsmodellen.

Når du oppretter en elastisk tabell, kan du angi følgende:

  • Enten bruker- eller organisasjonseid
  • Feltnivåsikkerhet

Funksjoner som for øyeblikket ikke støttes med elastiske tabeller

Tabellfunksjoner som for øyeblikket ikke støttes med elastiske tabeller:

  • Forretningsregler
  • Diagrammer
  • Prosessflyter
  • Én Dataverse-kobling for Power BI
  • Mange-til-mange-relasjoner (N:N) til standardtabeller
  • Alternativ nøkkel
  • Duplikatregistrering
  • Felt for beregnet verdi og beregnede kolonner
  • Valutakolonner
  • Kolonnesammenligning i spørringer
  • Tabelldeling
  • Sammensatte indekser
  • Overlappingsoperasjoner: Slett, overordne på nytt, tilordne, del, opphev deling
  • Sortering på oppslagskolonner
  • Aggregatspørringer:
    • Distinkt verdi for attribute1 mens orderby på attribute2-verdien
    • Paginering når det er flere distinkte verdier
    • Distinkt med flere sorter etter
    • Sorter etter og grupper etter sammen
    • Grupper etter koblingsenhet (venstre ytre kobling)
    • Distinkte verdier på tabeller som eies av brukere 
  • Tabelltilkoblinger
  • Tilgangsteam
  • Køer
  • Vedlegg

Kolonnedatatyper som for øyeblikket ikke er tilgjengelige med elastiske tabeller:

  • Valuta
  • Formel
  • Et annet heltallformat enn Ingen (Varighet, Språkkode og Tidssone)
  • Oppslag basert på Kunde-alternativet

Opprett en elastisk tabell

Du oppretter en elastisk tabell akkurat som alle andre nye tabeller i Dataverse.

  1. Logg deg på Power Apps, og velg Tabeller i den venstre navigasjonsruten. Hvis elementet ikke finnes i sideruten, velger du ...Mer og deretter elementet du vil ha.
  2. Velg Ny tabell > Angi avanserte egenskaper på kommandolinjen.
  3. Angi et Visningsnavn og et Flertallsnavn i egenskapsruten til høyre.
  4. Utvid Avanserte alternativer, og velg deretter Elastisk som Type for tabell. Velg Elastisk som Type for tabellen
  5. Velg ønskede egenskaper, og velg deretter Lagre.

Tid til publisering-kolonnen opprettes automatisk for et elastisk bord. Du kan legge til tidsperiodeverdien i sekunder etter behov. Dataene fjernes automatisk etter den angitte tidsperioden.

Mer informasjon om tabeller: Avanserte alternativer

Kjente problemer

  • Når tid til publisering (TTL) brukes i en rad, slettes raden fra det elastiske tabellen når tid til publisering er utløpt. Hvis den synkroniseres til en datasjø ved hjelp av Azure Synapse Link for Dataverse før tid til publisering utløper, blir den ikke slettet fra datasjøen.
  • Tidspunktbasert gjenoppretting gjenoppretter ikke «oppdaterte» oppføringer siden oppdateringer ikke sikkerhetskopieres. Bare opprettede og slettede oppføringer gjenopprettes.
  • Hvis en bestemt kolonne i en elastisk tabell slettes, fjernes ikke kolonneverdien fra tabellradene hvis den har data. Før du sletter en bestemt kolonne, sletter du dataene fra alle rader for kolonnen.

Elastiske tabeller med stort volum og håndtering av Dataverse API-begrensningsgrenser

Bruk masseoperasjonsmeldinger. Dette gjør at du kan oppnå 10 ganger gjennomstrømmingen med de samme grensene for Dataverse API-begrensning. Utviklere kan referere til flere koblinger i delen nedenfor.

For utviklere

Elastiske tabeller har andre funksjoner enn standardtabeller når utviklere bruker dem med API-er for Dataverse. Artiklene for utviklere nedenfor beskriver disse forskjellene:

Se også

Opprett og rediger tabeller med Power Apps