Dela via


Fakta- och dimensionstabeller

När du utformar schemat för en Azure Data Explorer-databas bör du tänka på tabeller som i stort sett tillhör en av två kategorier.

Faktatabeller

Faktatabeller är tabeller vars poster är oföränderliga "fakta", till exempel tjänstloggar och måttinformation. Poster läggs progressivt till i tabellen på ett strömmande sätt eller i stora segment. Posterna finns kvar där tills de tas bort på grund av kostnad eller för att de har förlorat sitt värde. Poster uppdateras annars aldrig.

Entitetsdata lagras ibland i faktatabeller, där entitetsdata ändras långsamt. Till exempel data om en fysisk entitet, till exempel en kontorsutrustning som sällan ändrar plats. Eftersom data i Kusto är oföränderliga är det vanligt att varje tabell innehåller två kolumner:

  • En identitetskolumn (string) som identifierar entiteten
  • En tidsstämpelkolumn för senast ändrad (datetime)

Endast den sista posten för varje entitetsidentitet hämtas sedan.

Dimensionstabeller

Dimensionstabeller:

  • Lagra referensdata, till exempel uppslagstabeller från en entitetsidentifierare till dess egenskaper
  • Lagra ögonblicksbildliknande data i tabeller vars hela innehåll ändras i en enda transaktion

Dimensionstabeller matas inte in regelbundet med nya data. I stället uppdateras hela datainnehållet samtidigt med hjälp av åtgärder som .set-or-replace, .move extents eller .rename-tabeller.

Ibland kan dimensionstabeller härledas från faktatabeller. Den här processen kan göras via en materialiserad vy i faktatabellen, med en fråga i tabellen som tar den sista posten för varje entitet.

Särskilja fakta- och dimensionstabeller

Det finns processer i Kusto som skiljer mellan faktatabeller och dimensionstabeller. En av dem är kontinuerlig export.

Dessa mekanismer är garanterat att bearbeta data i faktatabeller exakt en gång. De förlitar sig på databasmarkörmekanismen .

Varje körning av ett kontinuerligt exportjobb exporterar till exempel alla poster som matats in sedan den senaste uppdateringen av databasmarkören. Jobb för kontinuerlig export måste skilja mellan faktatabeller och dimensionstabeller. Faktatabeller bearbetar endast nyligen inmatade data, och dimensionstabeller används som sökningar. Därför måste hela tabellen beaktas.

Det går inte att "markera" en tabell som en "faktatabell" eller "dimensionstabell". Hur data matas in i tabellen och hur tabellen används är det som identifierar dess typ.