Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
trueenfalse) - 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.