Aktuella begränsningar för graf i Microsoft Fabric

Graph i Microsoft Fabric har vissa funktionella och prestandamässiga begränsningar. Den här artikeln belyser några viktiga begränsningar men är inte en fullständig lista. Kom tillbaka regelbundet för uppdateringar.

Hjälp med vanliga problem finns i Felsökningsdiagram.

Skapa grafmodeller

Datakällor

  • OneLake-parquet- och CSV-filer är de enda datakällor som för närvarande stöds.
  • Stöd för Power BI semantiska modeller som datakällor är under utveckling.
  • Stöd för onelake-säkerhet på kolumn- och radnivå är under utveckling.

Datatyper

Graph stöder för närvarande följande datatyper:

  • Booleskt värde (värden är true och false)
  • Dubbel (värden är 64-bitars flyttalsnummer)
  • Heltal (värden är 64-bitars signerade heltal)
  • Sträng (värden är Unicode-teckensträngar)
  • Zoninerad DatumTid (värden är tidsstämplar tillsammans med en tidsförskjutning för tidszonen)
  • Varaktighet (värden är ISO 8601-varaktighetsintervall)

Följande OneLake-typer stöds:

  • IntegerType
  • LongType
  • strängtyp
  • DubbelTyp
  • Booleskt Datatyp
  • Flyttalstyp
  • ByteType
  • ArrayType
  • Datumtyp
  • TidsstämpelNtzType
  • Tidsstämpeltyp

Skapa kant

Under grafmodellering ger du olika grafkanttyper olika namn.

En datauppsättning för sociala medier kan till exempel representera "användare gillar kommentarer" och "användare gillar inlägg". Om din grafmodell använder separata nodtyper för kommentarer och inlägg har användarnodtypen två typer av "gillar"-kanter för att kommentera och publicera. Du kan ge dessa kanter namnet userLikesComment och userLikesPost.

Tid för diagramskapande

Upp till en gång i veckan kan en grafmodell stöta på en tidsgräns om det tar längre tid än 20 minuter att skapa eller uppdatera diagrammet. Åtgärden markeras som misslyckad.

Användare kan dock initiera diagramskapande eller uppdatering igen.

Grafstorlek

De nuvarande allmänt tillgängliga SKU-konfigurationerna kan bearbeta cirka 2 miljarder grafelement (noder och kanter). För större grafer med fler element eller en större egenskapslast per element, vänligen kontakta produktteamet.

Totalt antal grafmodeller

Varje Fabric-arbetsyta kan ha upp till 10 grafmodeller.

Användargränssnitt för multitasking

Grafmodellen kan försvinna eller bli tom när du växlar mellan flikar eller fönster i Fabric användargränssnittet för flera rutor. Produktteamet arbetar aktivt för att lösa det här kända problemet.

Val av nodegenskap

När du lägger till en nod eller kanttyp i din grafmodell, välj manuellt kolumner från källtabellen som ska läggas till som egenskaper. Både noder och kanter börjar utan egenskaper, och du lägger bara till de du behöver.

Querying

Antal hopp i multihop-frågor

Graph stöder för närvarande upp till åtta hopp på mönster för variabel längd.

Resultatstorlek

Sammansättningsprestanda kan vara instabila när resultatet överstiger 128 MB i storlek.

Systemet trunkerar för närvarande svar som är större än 64 MB.

Tidsavbrott

Tidsgränsen för frågor överskrids om det tar mer än 20 minuter.

Dataexport och visualisering

  • Export av diagramfrågeresultat eller grafstrukturer stöds inte för närvarande.
  • Det finns för närvarande inte stöd för att ansluta Power BI direkt till ett diagram för visualiseringsscenarier.

GQL-överensstämmelse

En detaljerad mappning av GQL-funktioner som stöds mot STANDARDEN ISO/IEC 39075:2024, inklusive minsta överensstämmelse, valfria funktioner efter grupp och funktioner som ännu inte stöds, finns i GQL-standardöverensstämmelse.

Efterlevnad av GQL-standarder pågår fortfarande för:

  • Korrigera GQL-statuskoder
  • FOR-instruktion med index
  • NÄSTA
  • UNION DISTINCT-instruktion
  • Kvantifierare för obundna grafmönster
  • ALLA KORTASTE sökvägssökningar
  • SÖKVÄGSSÖKNING
  • VALFRI KORTASTE sökvägssökning
  • Datakonvertering
  • Skalära underfrågor
  • FUNKTIONEN EGENSKAPER
  • Funktionen RANGE
  • Förbättrade numeriska funktioner
  • Logaritmiska funktioner
  • Trigonometriska funktioner
  • Sammanfogning av sökvägsvärde
  • Etiketttestpredikat
  • Normaliserat predikat
  • Käll-/målpredikat
  • INT32-värdetyp
  • FLOAT32 värdetyp
  • Värdetyp för stängd POST
  • UINT32-värdetyp
  • ZONAD TIDsvärdetyp
  • DATE-värdetyp
  • Parameteröverföring
  • Oriktade kanter
  • GQL-ingress
  • Predikat för icke-lokaliserade mönster
  • ÄR RIKTAT predikat
  • REGEXP_CONTAINS predikat
  • Dynamisk parameterspecifikation
  • Sessionsanvändare
  • BYTES-värdetyp
  • DECIMAL-värdetyp
  • VÄRDETYP FÖR LOKAL DATETIME
  • VÄRDETYP FÖR LOKAL TID
  • Instruktionen ANROPA namngiven procedur
  • ORDER BY med explicit NULL-ordning
  • Tabular FOR-instruktion
  • EXCEPT ALL-instruktion
  • EXCEPT DISTINCT-instruktion
  • INTERSECT ALL-instruktion
  • INTERSECT DISTINCT-instruktion
  • ANNARS-instruktion
  • Jokertecken
  • Avslappnad topologisk konsekvens
  • PERCENTILE_CONT mängdfunktion
  • PERCENTILE_DISC mängdfunktion
  • Funktionen PRODUKTaggregering
  • STDDEV_POP mängdfunktion
  • STDDEV_SAMP mängdfunktion
  • Sammanfogning av bytesträng
  • Funktionen Trimning av bytesträng
  • Enkel TRIM-funktion med TRIM-specifikation
  • Trim-funktion för flerdiagram
  • Funktionen Bytesträngslängd
  • KARDINALITET
  • ALL_DIFFERENT predikat
  • ÄR DISTINKT PREDIKAT
  • SAMMA predikat

Katalog

Note

Grafnamn och begränsningsnamn genereras automatiskt i GraphBackend och kan inte specificeras i UI:t eller i JSON-schemat.

Katalogområde Strömgräns / beteende Verkställighetsstatus Recommendation
Katalog-ID-basis Katalogelement-ID:n är signerade int32-wrappers där 0 är ogiltig, så varje ID-familj har högst std::numeric_limits<int32_t>::max() - 1 positiva icke-noll ID:n (2 miljarder). Genomförandetak, inte en rekommenderad GA-kvot
Diagramscheman En graftyp per katalog; Katalog-ID-kommentarer antar att katalogen endast innehåller en graftyp. Designantagande; inte exponerad som en multi-schema kvot
Grafdefinition av serialiserad storlek Ingen explicit bytestorleksgräns på GraphProto; den innehåller upprepade nodtyper, kanttyper, etiketter, egenskapsnamn och begränsningar. Inte upprätthållet under protobuf/gRPC/minne; Katalogens objekträkningskontroller gäller efter grafkonstruktion
Grafens namn Måste vara icke-tom; Ingen explicit maxbytelängd eller lista över tillåtna tecken. Endast icke-tom gäller 128 tecken
Nodtyper Max 2 miljarder nodtyper. Upprätthålls via CatalogGraphType::Validate positivt icke-noll int32 ID-utrymme 64k
Kanttyper Max 2 miljarder kanttyper. Upprätthålls via CatalogGraphType::Validate positivt icke-noll int32 ID-utrymme 64k
Unika nodetiketter över alla nodtyper Max 2 miljarder unika nodetiketter. Upprätthållet av CatalogGraphType::Validate; dubblettetiketter inom en typ avvisas Härledda
Unika kantetiketter över alla kanttyper Max 2 miljarder unika kantetiketter. Upprätthållet av CatalogGraphType::Validate; dubblettetiketter inom en typ avvisas Härledda
Unika egenskapsnamn över alla nod- och kanttyper Max 2 miljarder unika fastighetsnamn. Upprätthållet av CatalogGraphType::Validate; kan egenskapsnamn inte vara tomma och dubbletter inom en typ avvisas 64k * 10
Nodbegränsningsdefinitioner Max 2 miljarder nodnyckelbegränsningsdefinitioner. Upprätthålls via CatalogGraphType::Validate positivt icke-noll int32 ID-utrymme <= nodtyper
Kantbegränsningsdefinitioner Max 2 miljarder kantnyckelbegränsningsdefinitioner, men kantnyckelbegränsningar är inaktiverade som standard om inte allow_edge_key_constraints är sann. Greve verkställd om närvarande; Feature Gate avvisar kantbegränsningar som standard <= kanttyper
Egendomsnamn karaktärer / längd Inte uttryckligen upprätthållen utöver icke-tomma egenskapsnamn och parsergrammatik; Ingen lista över maximala byte eller tecken tillåtna i katalogen. 128 karaktärer
Märk tecken / längd Inte uttryckligen upprätthållen utöver parsergrammatik och icke-tomma etiketter i begränsningar; Ingen lista över maximala byte eller tecken tillåtna i katalogen. 128 karaktärer
Begränsningsnamn-tecken / längd Begränsningsnamn måste vara icke-tomma; Ingen explicit maxbytelängd eller lista över tillåtna tecken. Validering av dubblett-/matchningsbegränsningar är separat 128 karaktärer
Egenskaper per nodtyp Inget explicit maxantal egenskaper på en nodtyp; dubbla fastighetsnamn avvisas. Endast korrekthetsvalidering 256
Egenskaper per kanttyp Inget explicit maxantal egenskaper på en kanttyp; dubbla fastighetsnamn avvisas. Endast korrekthetsvalidering 256
Etiketter per nodtyp Ingen explicit maxantal etiketter på en nodtyp; dubblettetiketter avvisas. Endast korrekthetsvalidering 64
Etiketter per kanttyp Inget uttryckligt maxantal etiketter på en kanttyp; dubblettetiketter avvisas; Kant-tilläggsetiketter avvisas. Endast korrekthetsvalidering 64
Nyckelegenskaper per begränsning Ingen explicit maximal mängd nyckelegenskaper i nod- eller kantnyckelbegränsningar; Individuella fastighetsnamn kan inte vara tomma. Endast korrekthetsvalidering 16

Körtidsvärden

Körtidsvärdetyp Backingrepresentation / omfång Explicit värdenivågräns? Rekommenderad
BOOL bool; värden sant/falskt Ja, fast domän
INT64 Signerad 64 bitars heltal Ja, fast bredd
UINT64 osignerat 64-bitars heltal Ja, fast bredd
DUBBEL C++/protobuf dubbel / Arrow DoubleScalar (IEEE-754 binary64); icke-ändliga värden avvisas inte av Value::FromProto Ingen enbart ändlig kontroll
DECIMAL128 Pil Decimal128Scalar; körtidsvalidering tillåter precision 1..38 och skalar 0..precision; upp till 38 decimalsiffror Ja, för kontrollerad konstruktion/från proto.
STRING std::string; ValueProto.string_value No Value-tak 4 MB
BYTE std::string används som bytecontainer; ValueProto.bytes_value No Value-tak Stränggräns
VERTEX_ID uint64 inlindade av VertexId; genererade ID:n använder 48-bitars shard-lokal ID och reserverar 0 som ogiltig Rå proto-proto-metod accepterar vilken uint64 som helst; genererade ID:n är begränsade
EDGE_ID uint64 inlindade av EdgeId; genererade ID:n använder 48-bitars shard-lokal ID och reserverar 0 som ogiltig Rå proto-proto-metod accepterar vilken uint64 som helst; genererade ID:n är begränsade
ZONED_DATE_TIME absl::Time plus tidszon; serialiserad som int64 millisekunder sedan Unix-epoken plus int32 UTC-förskjutningssekunder. Millisekundintervallet är [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], dokumenterat som UTC-ögonblick från -292275055-05-16T16:47:04.192+00:00 till 292278994-08-17T07:12:55.807+00:00. Tidsspann dokumenterat; Offset är en int32 och är inte incheckad i räckvidden Value::FromProto
VARAKTIGHET absl::Duration; Serialiserad som int64 millisekunder. Serialiserade min/max är -9 223 372 036 854 775 808 ms till 9 223 372 036 854 775 807 ms (ungefär +/-292 277 024,6 år). ISO-parsern är striktare: +/-9 223 372 035 sekunder (ungefär +/-292,277 år). Proto-vägen accepterar hela int64 millisekundfältet; Parser har en smalare explicit gräns
NULL / typad null std::monostate eller typed-null wrapper
Maskinskrivna listor std::vector<std::optional<T>>; LIST_NULL lagrar en size_t; LIST_ANY Butiker std::vector<Value> Ingen standardvärdegräns
Kapslade listor Allmänna nästlade listor stöds inte i protokontraktet; Runtime har särskild nästlad LIST_INT64 hantering Ingen standardkvot för djup/längd
PATH Alternerande hörn/kant/hörn uint64 ID:n i en vektor; Giltig banform har udda elementantal Ingen kvot för väglängd
POST absl::flat_hash_map<std::string, Value> / Protobuf-karta Ingen fälträkning, nyckellängd eller nästningsdjupkvot
NÅGON Value::DataType() förväntas inte returnera TYPE_ANY; dynamiska värden bärs som konkreta värden, särskilt inuti LIST_ANY eller pil Any extension storage Ingen kvot för storlek/djup

Andra gränser

  • Identifierare kan inte börja med understreck.
  • Heltalsliteraler behandlas som signerade heltal som standard.
  • Att returnera ALLA och posttyper stöds inte. Den tillfälliga lösningen är att jsonisera dem via TO_JSON_STRING.
  • Maxsträngens egenskapslängd är 65535. Data över 64 KiB är oåtkomligt för deseraliaseraren; hela bufferten skrivs fortfarande till RocksDB.
  • Maxantalet element i List<T> egendomen är 65535. En INT64-LISTA med 70 000 element kan deserialiseras som 4 464 element.
  • Maxstorleken på ett frågesvar i byte är 64 MB.