Huidige beperkingen van grafiek in Microsoft Fabric

Graph in Microsoft Fabric kent bepaalde functionele en prestatiebeperkingen. In dit artikel worden enkele belangrijke beperkingen gemarkeerd, maar is geen volledige lijst. Kom regelmatig terug voor updates.

Zie De grafiek Probleemoplossing voor hulp bij veelvoorkomende problemen.

Grafiekmodellen maken

Gegevensbronnen

  • OneLake Parquet- en CSV-bestanden zijn de enige gegevensbronnen die momenteel worden ondersteund.
  • Ondersteuning voor Power BI semantische modellen wanneer gegevensbronnen in ontwikkeling zijn.
  • Ondersteuning voor OneLake-beveiliging op kolom- en rijniveau is in ontwikkeling.

Gegevenstypen

Graph ondersteunt momenteel de volgende gegevenstypen:

  • Booleaanse waarde (waarden zijn true en false)
  • Dubbel (waarden zijn 64-bits drijvendekommanummers)
  • Geheel getal (waarden zijn 64-bits ondertekende gehele getallen)
  • Tekenreeks (waarden zijn Unicode-tekenreeksen)
  • Zoned DateTime (waarden zijn tijdstempels samen met een tijdverschuiving voor de tijdzone)
  • Duur (waarden zijn ISO 8601 duurintervallen)

De volgende OneLake-typen worden ondersteund:

  • IntegerType
  • LongType
  • Stringtype
  • DoubleType
  • BooleanType
  • Drijftype
  • ByteType
  • ArrayType
  • Datumtype
  • TimestampNtzType
  • Tijdstempeltype

Edge maken

Geef tijdens het modelleren van grafieken verschillende namen op voor verschillende grafiekrandtypen.

Een gegevensset voor sociale media kan bijvoorbeeld 'user likes comment' en 'user likes post' vertegenwoordigen. Als uw grafiekmodel afzonderlijke knooppunttypen gebruikt voor opmerkingen en posten, heeft het gebruikersknooppunttype twee soorten 'vind-ik-leuk'-randen om opmerkingen te plaatsen en te posten. U kunt deze randen de naam userLikesComment en userLikesPost.

Tijd voor het maken van grafieken

Een grafiekmodel kan maximaal één keer per week een time-out tegenkomen als het maken of bijwerken van de grafiek langer duurt dan 20 minuten. De bewerking is gemarkeerd als mislukt.

Gebruikers kunnen het maken of bijwerken van grafieken echter opnieuw initieren.

Grafgrootte

De momenteel algemeen beschikbare SKU-configuraties kunnen ongeveer 2 miljard graafelementen (knooppunten en ribben) verwerken. Voor grotere grafieken met een hoger aantal elementen of een grotere property payload per element, neem contact op met het productteam.

Totaal aantal graafmodellen

Elke Fabric-werkruimte kan tot 10 grafiekmodellen bevatten.

Multitasking-gebruikersinterface

Het grafiekmodel kan verdwijnen of leeg worden wanneer u schakelt tussen tabbladen of vensters in de Fabric gebruikersinterface met meerdere taken. Het productteam werkt actief aan het oplossen van dit bekende probleem.

Selectie van knooppunteigenschap

Wanneer je een knoop- of randtype toevoegt aan je grafmodel, selecteer handmatig kolommen uit de brontabel om als eigenschappen toe te voegen. Zowel nodes als edges beginnen zonder eigenschappen, en je voegt alleen de nodes toe die je nodig hebt.

Querying

Aantal hops in multihop-query's

Graph ondersteunt momenteel maximaal acht hops voor variabele lengtepatronen.

Grootte van resultaten

Aggregatieprestaties kunnen instabiel zijn wanneer de resultaten groter zijn dan 128 MB.

Het systeem kapt momenteel reacties af die groter zijn dan 64 MB.

Onderbreking

Er treedt een time-out op voor query's als het langer dan 20 minuten duurt.

Gegevensexport en visualisatie

  • Het exporteren van grafiekqueryresultaten of grafiekstructuren wordt momenteel niet ondersteund.
  • Het rechtstreeks verbinden van Power BI met een grafiek voor visualisatiescenario's wordt momenteel niet ondersteund.

GQL-conformiteit

Voor een gedetailleerde toewijzing van ondersteunde GQL-functies aan de ISO/IEC 39075:2024-standaard, inclusief minimale conformiteit, optionele functies per groep en functies die nog niet worden ondersteund, raadpleegt u GQL-standaardconformance.

De naleving van GQL-standaarden wordt nog steeds uitgevoerd voor:

  • GQL-statuscodes corrigeren
  • FOR-instructie met index
  • VOLGEND
  • UNION DISTINCT-instructie
  • Niet-gebonden grafiekpatroon kwantificatoren
  • ALLE KORTSTE padzoektocht
  • Zoeken in elk pad
  • ELKE KORTSTE padzoekopdracht
  • Gegevensconversie
  • Scalaire subquery's
  • EIGENSCHAPPEN, functie
  • BEREIK, functie
  • Verbeterde numerieke functies
  • Logaritmische functies
  • Trigonometrische functies
  • Samenvoeging van padwaarde
  • Labeltestpredicaat
  • Genormaliseerd predicaat
  • Bron-/doelpredicaat
  • Waardetype INT32
  • FLOAT32 waardetype
  • Type gesloten RECORD-waarde
  • UINT32-waardetype
  • TYPE ZONED TIME-waarde
  • DATUMwaardetype
  • Parameter doorgeven
  • Niet-gerichte randen
  • GQL-preambule
  • Niet-lokale patroonpredicaten
  • PREDICAAT IS GERICHT
  • predicaat REGEXP_CONTAINS
  • Dynamische parameterspecificatie
  • Sessiegebruiker
  • Waardetype BYTES
  • TYPE DECIMAALwaarde
  • WAARDETYPE LOKALE DATUM/TIJD
  • WAARDETYPE LOCAL TIME
  • CALL benoemde procedure-instructie
  • ORDER BY met expliciete NULL-volgorde
  • Tabellaire FOR-instructie
  • EXCEPT ALL-instructie
  • EXCEPT DISTINCT-instructie
  • INTERSECT ALL-instructie
  • INTERSECT DISTINCT-instructie
  • ELSE-instructie
  • Jokertekens
  • Ontspannen topologische consistentie
  • PERCENTILE_CONT statistische functie
  • PERCENTILE_DISC statistische functie
  • Statistische functie PRODUCT
  • STDDEV_POP statistische functie
  • STDDEV_SAMP statistische functie
  • Bytetekenreekssamenvoeging
  • Bytetekenreeks TRIM, functie
  • Eenvoudige TRIM-functie met TRIM-specificatie
  • Multicharacter TRIM, functie
  • Byte tekenreekslengte, functie
  • KARDINALITEIT
  • predicaat ALL_DIFFERENT
  • IS DISTINCT predicaat
  • HETZELFDE predicaat

Catalogus

Note

Grafnamen en constraintnamen worden automatisch gegenereerd in GraphBackend en kunnen niet worden gespecificeerd in de UI of in het JSON-schema.

Catalogusgebied Stroomlimiet / gedrag Handhavingsstatus Aanbeveling
Basis catalogus-ID Catalogus-element-ID's zijn ondertekend als int32-wrappers waarbij 0 ongeldig is, dus elke ID-familie heeft hooguit std::numeric_limits<int32_t>::max() - 1 positieve niet-nul ID's (2 miljard). Implementatieplafond, geen aanbevolen GA-quotum
Grafiekschema's Eén grafiektype per catalogus; catalogus-ID-opmerkingen gaan ervan uit dat de catalogus slechts één grafiektype bevat. Ontwerpaanname; niet blootgesteld als een multi-schema quotum
Grafiekdefinitie serialiseerde grootte Geen expliciete byte-grootte limiet op GraphProto; het bevat herhaalde knooptypes, randtypes, labels, eigenschapsnamen en beperkingen. Niet afgedwongen onder protobuf/gRPC/geheugen; Cataloguscontroles van objecttelling gelden na de grafiekconstructie
Graafnaam Moet niet leeg zijn; Geen expliciete maximale bytelengte of lijst met toegestane tekens. Alleen niet-leeg wordt afgedwongen 128 tekens
Knooppunttypen Maximaal 2 miljard nodetypes. Afgedwongen door CatalogGraphType::Validate via een positieve niet-nul int32 ID-ruimte 64k
Randtypes Maximaal 2 miljard randtypes. Afgedwongen door CatalogGraphType::Validate via een positieve niet-nul int32 ID-ruimte 64k
Unieke knooppunten over alle knooppunttypen Maximaal 2 miljard unieke node labels. Afgedwongen door CatalogGraphType::Validate; dubbele labels binnen één type worden afgewezen Afgeleid
Unieke randlabels voor alle randtypes Maximaal 2 miljard unieke randlabels. Afgedwongen door CatalogGraphType::Validate; dubbele labels binnen één type worden afgewezen Afgeleid
Unieke eigenschapsnamen over alle knoop- en randtypes Maximaal 2 miljard unieke eigendomsnamen. Afgedwongen door CatalogGraphType::Validate; eigendomsnamen mogen niet leeg zijn en duplicaten binnen één type worden geweigerd 64k * 10
Knoopbeperkingsdefinities Maximaal 2 miljard knooppuntsleutelbeperkingsdefinities. Afgedwongen door CatalogGraphType::Validate via een positieve niet-nul int32 ID-ruimte <= knooptypes
Definities van randbeperkingen Maximaal 2 miljard edge key constraint definities, maar edge key constraints zijn standaard uitgeschakeld tenzij allow_edge_key_constraints waar is. Graaf wordt gehandhaafd indien aanwezig; feature gate weigert standaard randbeperkingen <= randtypes
Eigenschappen naam tekens / lengte Niet expliciet gehandhaafd buiten niet-lege eigenschapsnamen en parsergrammatica; Geen catalogus, maximale bytelengte of toegestane tekenlijst. 128 karakters
Labeltekens / lengte Niet expliciet gehandhaafd buiten parsergrammatica en niet-lege labels in constraints; Geen catalogus, maximale bytelengte of toegestane tekenlijst. 128 karakters
Constraint naamkarakters / lengte Beperkingsnamen moeten niet-leeg zijn; Geen expliciete maximale bytelengte of lijst met toegestane tekens. Validatie van duplicate/matching constraints is apart 128 karakters
Eigenschappen per knooptype Geen expliciet maximaal aantal eigenschappen op een knooppunttype; Dubbele eigendomsnamen worden afgewezen. Alleen correctheidsvalidatie 256
Eigenschappen per randtype Geen expliciet maximaal aantal eigenschappen op een randtype; Dubbele eigendomsnamen worden afgewezen. Alleen correctheidsvalidatie 256
Labels per knooptype Geen expliciet maximaal aantal labels op een knooppunttype; dubbele labels worden afgewezen. Alleen correctheidsvalidatie 64
Labels per randtype Geen expliciet maximum aantal labels op een randtype; dubbele labels worden afgewezen; Toegevoegde randlabels worden afgewezen. Alleen correctheidsvalidatie 64
Belangrijke eigenschappen per beperking Geen expliciet maximaal aantal sleuteleigenschappen in knooppunt- of randsleutelbeperkingen; Individuele eigendomsnamen kunnen niet leeg zijn. Alleen correctheidsvalidatie 16

Runtime-waarden

Runtime value type Backing representatie / bereik Expliciete limiet op waardeniveau? Aanbevolen
BOOL bool; waarden waar/onwaar Ja, vast domein
INT64 64-bits tekengetal Ja, vaste breedte
UINT64 Ongetekend 64-bits geheel getal Ja, vaste breedte
DUBBEL C++/protobuf dubbel / Arrow DoubleScalar (IEEE-754 binary64); niet-eindige waarden worden niet verworpen door Value::FromProto Geen alleen eindige controle
DECIMAL128 Arrow Decimal128Scalar; runtimevalidatie maakt precisie 1..38 mogelijk en schaalt 0..precisie; tot 38 decimale cijfers Ja, voor gecontroleerde constructie/van proto-constructie
String std::string; ValueProto.string_value No Value cap 4 MB
BYTES std::string gebruikt als bytecontainer; ValueProto.bytes_value No Value cap Snaarlimiet
VERTEX_ID uint64 omwikkeld door VertexId; gegenereerde ID's gebruiken een 48-bits shard-local ID en reserveren 0 als ongeldig Raw proto-materiaal accepteert elke uint64; gegenereerde ID's zijn beperkt
EDGE_ID uint64 omwikkeld door EdgeId; gegenereerde ID's gebruiken een 48-bits shard-local ID en reserveren 0 als ongeldig Raw proto-materiaal accepteert elke uint64; gegenereerde ID's zijn beperkt
ZONED_DATE_TIME absl::Time plus tijdzone; geserialiseerd als int64 milliseconden sinds het Unix-tijdperk plus int32 UTC offsetseconden. Het millisecondenbereik is [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], gedocumenteerd als UTC-instants van -292275055-05-05-16T16:47:04.192+00:00 tot 292278994-08-17T07:12:55.807+00:00. Tijdsbestek gedocumenteerd; Offset is een int32 en is niet ingecheckt in bereik Value::FromProto
DUUR absl::Duration; geserialiseerd als int64 milliseconden. Geserialiseerde min/max zijn -9.223.372.036.854.775.808 ms tot 9.223.372.036.854.775.807 ms (ongeveer +/-292.277.024,6 jaar). ISO-parser is strenger: +/-9.223.372.035 seconden (ongeveer +/-292,277 jaar). Het proto-pad accepteert het volledige int64 millisecondenveld; Parser heeft een smallere expliciete cap
NULL / getypeerde null std::monostate of typed-null wrapper
Getypte lijsten std::vector<std::optional<T>>; LIST_NULL slaat een size_t; LIST_ANY Winkels std::vector<Value> Geen standaard Waardelimiet
Geneste lijsten Algemene geneste lijsten worden niet ondersteund in het proto-contract; runtime heeft speciale geneste LIST_INT64 behandeling Geen standaard diepte/lengtequotum
PAD Afwisselende knooppunt/rand/knoop uint64 ID's in een vector; geldige padvorm heeft een oneven aantal elementen Geen quotum voor padlengte
OPNEMEN absl::flat_hash_map<std::string, Value> / Protobuf-kaart Geen veldaantal, sleutellengte of nestdieptequotum
WILLEKEURIG Value::DataType() wordt niet verwacht terug te keren TYPE_ANY; dynamische waarden worden als concrete waarden gedragen, vooral binnen LIST_ANY of Arrow Elke extensieopslag Geen quotum voor grootte/diepte

Andere limieten

  • Identificaties kunnen niet beginnen met een onderstreep.
  • Gehele literalen worden standaard als getekende gehele getallen behandeld.
  • Het terugsturen van ELKE en Record-types worden niet ondersteund. Tijdelijke oplossing is om ze te jsoniseren via TO_JSON_STRING.
  • De maximale lengte van de snaareigenschap is 65535. Data boven 64 KiB is onbereikbaar voor de deserializer; de volledige buffer wordt nog steeds naar RocksDB geschreven.
  • Het maximale aantal elementen in List<T> de property is 65535. Een INT64-LIJST van 70.000 elementen wordt gedeserialiseerd als 4.464 elementen.
  • De maximale query-responsgrootte in bytes is 64 MB.