Gjeldende begrensninger for graf i Microsoft Fabric

Graph i Microsoft Fabric har visse funksjonelle og ytelsesmessige begrensninger. Denne artikkelen fremhever noen viktige begrensninger, men er ikke en uttømmende liste. Kom regelmessig tilbake for oppdateringer.

Hvis du vil ha hjelp med vanlige problemer, kan du se Feilsøkingsgraf.

Opprette grafmodeller

Datakilder

  • OneLake-parquet- og CSV-filer er de eneste datakildene som for øyeblikket støttes.
  • Støtte for Power BI semantiske modeller som datakilder er under utvikling.
  • Støtte for kolonne- og radnivå OneLake-sikkerhet er under utvikling.

Datatyper

Graph støtter for øyeblikket følgende datatyper:

  • Boolsk (verdiene er true og false)
  • Dobbel (verdiene er 64-biters flyttall)
  • Heltall (verdier er 64-biters fortegnsheltall)
  • Streng (verdier er Unicode-tegnstrenger)
  • Sonebasert DatoTid (verdier er tidsstempler sammen med en tidsforskyvning for tidssonen)
  • Varighet (verdier er ISO 8601 varighetsintervaller)

Følgende OneLake-typer støttes:

  • IntegerType
  • LongType
  • StringType
  • DoubleType
  • BooleanType
  • FloatType
  • ByteType
  • Matrisetype
  • DateType
  • TimestampNtzType
  • TimestampType

Oppretting av Edge

Under grafmodellering kan du gi forskjellige diagramkanttyper forskjellige navn.

Et datasett på sosiale medier kan for eksempel representere «bruker liker kommentar» og «bruker liker innlegg». Hvis grafmodellen bruker separate nodetyper for kommentar og innlegg, har brukernodetypen to typer likerkanter for kommentar og innlegg. Du kan gi navn til disse kantene userLikesComment og userLikesPost.

Opprettingstid for graf

Opptil én gang i uken kan en grafmodell støte på et tidsavbrudd hvis det tar mer enn 20 minutter å opprette eller oppdatere grafen. Operasjonen er merket som mislykket.

Brukere kan imidlertid opprette eller oppdatere grafen på nytt.

Grafstørrelse

De nåværende generelt tilgjengelige SKU-konfigurasjonene kan behandle omtrent 2 milliarder grafelementer (noder og kanter). For større grafer med et høyere antall elementer eller en større egenskapsnyttelast per element, vennligst kontakt produktteamet.

Totalt antall grafmodeller

Hver Fabric-arbeidsplass kan ha opptil 10 grafmodeller.

Brukergrensesnitt for fleroppgavekjøring

Grafmodellen kan forsvinne eller bli tom når du bytter mellom faner eller vinduer i brukergrensesnittet for Fabric fleroppgavekjøring. Produktteamet arbeider aktivt med å løse dette kjente problemet.

Valg av nodeegenskap

Når du legger til en node- eller kanttype i grafmodellen din, velg manuelt kolonner fra kildetabellen som skal legges til som egenskaper. Både noder og kanter starter uten egenskaper, og du legger bare til de du trenger.

Spørring

Antall hopp i flerbutikkspørringer

Graph støtter for øyeblikket opptil åtte hopp på mønstre med variabel lengde.

Størrelsen på resultatene

Aggregasjonsytelsen kan være ustabil når resultatene overskrider 128 MB i størrelse.

Systemet avkorter for øyeblikket svar som er større enn 64 MB.

Timeout

Spørringer blir tidsavbrutt hvis de tar mer enn 20 minutter.

Dataeksport og visualisering

  • Eksport av diagramspørringsresultater eller grafstrukturer støttes for øyeblikket ikke.
  • Tilkobling av Power BI direkte til en graf for visualiseringsscenarioer støttes for øyeblikket ikke.

GQL-samsvar

Hvis du vil ha en detaljert tilordning av støttede GQL-funksjoner mot ISO/IEC 39075:2024-standarden, inkludert minimum samsvar, valgfrie funksjoner etter gruppe og funksjoner som ennå ikke støttes, kan du se GQL-standard samsvar.

Samsvar med GQL-standarder pågår fortsatt for:

  • Rette GQL-statuskoder
  • FOR-setning med indeks
  • NESTE
  • UNION DISTINCT-setning
  • Ubundne diagrammønsterkvantifier
  • SØK ETTER KORTESTE bane
  • SØK ETTER BANE
  • EVENTUELLE KORTESTE banesøk
  • Datakonvertering
  • Skalarunderspørringer
  • EGENSKAPER (funksjon)
  • OMRÅDE (funksjon)
  • Forbedrede numeriske funksjoner
  • Logaritmiske funksjoner
  • Trigonometriske funksjoner
  • Sammenkobling av baneverdi
  • Predikat for etiketttest
  • Normalisert predikat
  • Kilde/målpredikat
  • VERDITYPE FOR INT32
  • FLOAT32 verditype
  • Verditype for lukket POST
  • UINT32-verditype
  • VERDItype FOR SONETID
  • DATOverditype
  • Overføring av parameter
  • Usendte kanter
  • GQL-innledning
  • Predikater for ikke-lokal mønster
  • IS DIRECTED-predikat
  • REGEXP_CONTAINS predikat
  • Dynamisk parameterspesifikasjon
  • Øktbruker
  • BYTE-verditype
  • VERDITYPE FOR DESIMAL
  • Verditype FOR LOKAL DATETIME
  • VERDITYPE FOR LOKAL TID
  • KALL navngitt prosedyresetning
  • ORDER BY med eksplisitt NULL-bestilling
  • Tabell FOR setning
  • BORTSETT FRA ALLE-setningen
  • UNNTATT DISTINCT-setning
  • INTERSECT ALL-setning
  • INTERSECT DISTINCT-setning
  • ELLERS setning
  • Jokertegn
  • Avslappet topologisk konsistens
  • PERCENTILE_CONT mengdefunksjon
  • PERCENTILE_DISC mengdefunksjon
  • PRODUKTmengdefunksjon
  • STDDEV_POP mengdefunksjon
  • STDDEV_SAMP mengdefunksjon
  • Sammenkobling av bytestreng
  • Byte streng TRIM (funksjon)
  • Enkel TRIM-funksjon med TRIM-spesifikasjon
  • Multicharacter TRIM (funksjon)
  • Lengdefunksjon for bytestreng
  • KARDINALITET
  • ALL_DIFFERENT predikat
  • ER DISTINCT-predikat
  • SAMME predikat

Katalog

Note

Grafnavn og begrensningsnavn genereres automatisk i GraphBackend og kan ikke spesifiseres i UI eller i JSON-skjemaet.

Katalogområde Strømgrense / oppførsel Håndhevelsesstatus Anbefaling
Katalog-ID-basis Katalogelement-IDer er signerte int32-wrappere hvor 0 er ugyldig, så hver ID-familie har maksimalt std::numeric_limits<int32_t>::max() - 1 positive ikke-null ID-er (2 milliarder). Implementeringstak, ikke en anbefalt GA-kvote
Diagramskjemaer Én graftype per katalog; katalog-ID-kommentarer antar at katalogen kun inneholder én graftype. Designantakelse; ikke eksponert som en multi-skjema kvote
Grafdefinisjon av serialisert størrelse Ingen eksplisitt bytestørrelsesgrense på GraphProto; den inneholder gjentatte nodetyper, kanttyper, etiketter, egenskapsnavn og begrensninger. Ikke håndhevet under protobuf/gRPC/minne; Katalog-objekttellingskontroller gjelder etter grafkonstruksjon
Grafnavn Må være ikke-tom; Ingen eksplisitt liste over maks bytelengde eller tillatte tegn. Kun ikke-tomme håndheves 128 karakterer
Nodetyper Maks 2 milliarder nodetyper. Håndhevet av CatalogGraphType::Validate via positivt ikke-null int32 ID-rom 64 000
Kanttyper Maks 2 milliarder kanttyper. Håndhevet av CatalogGraphType::Validate via positivt ikke-null int32 ID-rom 64 000
Unike nodeetiketter på tvers av alle nodetyper Maks 2 milliarder unike nodeetiketter. Håndhevet av CatalogGraphType::Validate; dupliserte etiketter innen én type avvises Avledet
Unike kantetiketter på tvers av alle kanttyper Maks 2 milliarder unike edge-etiketter. Håndhevet av CatalogGraphType::Validate; dupliserte etiketter innen én type avvises Avledet
Unike egenskapsnavn på tvers av alle node- og kanttyper Maks 2 milliarder unike eiendomsnavn. Håndhevet av CatalogGraphType::Validate; kan ikke egenskapsnavn være tomme og duplikater innenfor én type avvises 64k * 10
Nodebegrensningsdefinisjoner Maks 2 milliarder nodenøkkelbegrensningsdefinisjoner. Håndhevet av CatalogGraphType::Validate via positivt ikke-null int32 ID-rom <= nodetyper
Definisjoner av kantbegrensninger Maks 2 milliarder kantnøkkelbegrensningsdefinisjoner, men kantnøkkelbegrensninger er deaktivert som standard med mindre allow_edge_key_constraints det er sant. Greve håndhevet dersom til stede; Feature Gate avviser kantbegrensninger som standard <= kanttyper
Egenskapsnavn tegn / lengde Ikke eksplisitt håndhevet utover ikke-tomme egenskapsnavn og parsergrammatikk; Ingen katalog-maks bytelengde eller tegn tillatt-liste. 128 karakterer
Merkefigurer / lengde Ikke eksplisitt håndhevet utover parsergrammatikk og ikke-tomme etiketter i begrensninger; Ingen katalog-maks bytelengde eller tegn tillatt-liste. 128 karakterer
Begrensningsnavn, tegn / lengde Begrensningsnavn må være ikke-tomme; Ingen eksplisitt liste over maks bytelengde eller tillatte tegn. Validering av duplikat-/matchingsbegrensninger er separat 128 karakterer
Egenskaper per nodetype Ingen eksplisitt maksimal antall egenskaper på en nodetype; dupliserte eiendomsnavn avvises. Kun korrekthetsvalidering 256
Egenskaper per kanttype Ingen eksplisitt maksimal antall egenskaper på en kanttype; dupliserte eiendomsnavn avvises. Kun korrekthetsvalidering 256
Etiketter per nodetype Ingen eksplisitt maksimal antall etiketter på en nodetype; dupliserte etiketter blir avvist. Kun korrekthetsvalidering 64
Etiketter per kanttype Ingen eksplisitt maksimal antall etiketter på en kanttype; dupliserte etiketter avvises; Kant-tillagte etiketter blir avvist. Kun korrekthetsvalidering 64
Nøkkelegenskaper per begrensning Ingen eksplisitt maksimal antall nøkkelegenskaper i node- eller kantnøkkelbegrensninger; individuelle eiendomsnavn kan ikke være tomme. Kun korrekthetsvalidering 16

Kjøretidsverdier

Kjøretidsverditype Bakgrunnsrepresentasjon / omfang Eksplisitt verdinivågrense? Anbefalt
BOOL bool; Verdier sann/usant Ja, fast domene
INT64 signert 64-bits heltall Ja, fast bredde
UINT64 usignert 64-bits heltall Ja, fast bredde
DOBBEL C++/protobuf dobbel / Arrow DoubleScalar (IEEE-754 binary64); ikke-endelige verdier avvises ikke av Value::FromProto Ingen kun finite-sjekk
DECIMAL128 Pil Decimal128Scalar; kjøretidsvalidering tillater presisjon 1..38 og skalerer 0..presisjon; opptil 38 desimaler Ja, for sjekket konstruksjon/fra Proto
TEKSTSTRENG std::string; ValueProto.string_value Ingen verdigrense 4 MB
BYTES std::string brukt som bytecontainer; ValueProto.bytes_value Ingen verdigrense Strenggrense
VERTEX_ID uint64 innpakket av VertexId; genererte ID-er bruker 48-bits shard-lokal ID og reserverer 0 som ugyldig Rå proto aksepterer alle uint64; genererte ID-er er begrenset
EDGE_ID uint64 innpakket av EdgeId; genererte ID-er bruker 48-bits shard-lokal ID og reserverer 0 som ugyldig Rå proto aksepterer alle uint64; genererte ID-er er begrenset
ZONED_DATE_TIME absl::Time pluss tidssone; serialisert som int64 millisekunder siden Unix-epoken pluss int32 UTC-offsetsekunder. Millisekundområdet er [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], dokumentert som UTC-øyeblikk fra -292275055-05-16T16:47:04.192+00:00 til 292278994-08-17T07:12:55.807+00:00. Tidsperiode dokumentert; Offset er en Int32 og er ikke sjekket inn i rekkevidden Value::FromProto
VARIGHET absl::Duration; Serialisert som int64 millisekunder. Serialiserte min/max er -9 223 372 036 854 775 808 ms til 9 223 372 036 854 775 807 ms (omtrent +/-292 277 024,6 år). ISO-parseren er strengere: +/-9 223 372 035 sekunder (omtrent +/-292,277 år). Proto-banen aksepterer hele int64 millisekundfeltet; Parser har en smalere eksplisitt cap
NULL / typet null std::monostate eller typed-null wrapper
Maskinskrevne lister std::vector<std::optional<T>>; LIST_NULL lagrer en size_t; LIST_ANY Butikker std::vector<Value> Ingen standard verdigrense
Nestede lister Generelle nestede lister støttes ikke i proto-kontrakten; Kjøretid har spesiell nestet LIST_INT64 håndtering Ingen standard dybde-/lengdekvote
STI Alternerende hjørne/kant/hjørne uint64 ID-er i en vektor; Gyldig stiform har oddetall antall elementer Ingen sti-kvote
REKORD absl::flat_hash_map<std::string, Value> / Protobuf-kart Ingen feltantall, nøkkellengde eller rededybdekvote
ANY Value::DataType() forventes ikke å returnere TYPE_ANY; dynamiske verdier bæres som konkrete verdier, spesielt inne i LIST_ANY eller pil Enhver utvidelseslagring Ingen kvote for størrelse/dybde

Andre begrensninger

  • Identifikatorer kan ikke starte med understrek.
  • Heltallsliteraler behandles som signerte heltall som standard.
  • Å returnere ALLE og Record-typer støttes ikke. Den midlertidige løsningen er å jsonisere dem via TO_JSON_STRING.
  • Maks strengegenskapslengde er 65535. Data over 64 KiB er utilgjengelig for deserializeren; hele bufferen skrives fortsatt til RocksDB.
  • Maks antall elementer i List<T> eiendommen er 65535. En INT64-LISTE med 70 000 elementer deserialiseres til 4 464 elementer.
  • Maksimal svarstørrelse i byte er 64 MB.