Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Graphen in Microsoft Fabric haben bestimmte funktionale und leistungsbezogene Einschränkungen. In diesem Artikel werden einige wichtige Einschränkungen beschrieben, es handelt sich jedoch nicht um eine vollständige Liste. Überprüfen Sie regelmäßig nach Updates.
Hilfe zu häufig auftretenden Problemen finden Sie im Diagramm zur Problembehandlung.
Erstellen von Diagrammmodellen
Datenquellen
- OneLake-Parkett- und CSV-Dateien sind die einzigen Datenquellen, die derzeit unterstützt werden.
- Unterstützung für Power BI semantischen Modelle, da Datenquellen entwickelt werden.
- Die Unterstützung für oneLake-Sicherheit auf Spalten- und Zeilenebene befindet sich in der Entwicklung.
Datentypen
Graph unterstützt derzeit die folgenden Datentypen:
- Boolescher Wert (Werte sind
trueundfalse) - Double (Werte sind 64-Bit-Gleitkommazahlen)
- Ganze Zahl (Werte sind 64-Bit-ganzzahlige Vorzeichen)
- Zeichenfolge (Werte sind Unicode-Zeichenzeichenfolgen)
- Zonierte DateTime (Werte sind Zeitstempel zusammen mit einer Zeitverschiebung für die Zeitzone)
- Dauer (Werte sind ISO 8601-Dauerintervalle)
Die folgenden OneLake-Typen werden unterstützt:
- Integer-Typ
- LongType
- Zeichenkettentyp
- DoubleType
- Boolescher Typ
- FloatType
- ByteType
- ArrayType
- Datumstyp
- TimestampNtzType
- Zeitstempeltyp
Edgeerstellung
Weisen Sie während der Diagrammmodellierung verschiedene Graph-Randtypen unterschiedlichen Namen zu.
Ein Dataset für soziale Medien kann z. B. "Benutzer gefällt Kommentar" und "Beitrag "Gefällt mir" darstellen. Wenn Ihr Diagrammmodell separate Knotentypen für Kommentar und Beitrag verwendet, weist der Benutzerknotentyp zwei Arten von "Gefällt mir"-Rändern zum Kommentieren und Posten auf. Sie können diese Edges userLikesComment und userLikesPost nennen.
Diagrammerstellungszeit
Bis zu einmal pro Woche kann ein Diagrammmodell ein Timeout haben, wenn die Erstellung oder Aktualisierung des Diagramms länger als 20 Minuten dauert. Der Vorgang ist als fehlgeschlagen markiert.
Benutzer können jedoch die Erstellung oder Aktualisierung von Diagrammen erneut erstellen oder aktualisieren.
Gesamtzahl der Diagramminstanzen
Jeder Fabric Workspace kann bis zu 10 Diagramminstanzen aufweisen.
Größe des Diagramms
Das Erstellen von Graphen mit mehr als 1 Milliarde Knoten und Kanten kann zu instabiler Leistung führen.
Multitasking-UI
Das Diagrammmodell wird möglicherweise ausgeblendet oder leer, wenn Sie zwischen Registerkarten oder Fenstern in der Fabric Multitask-UI wechseln. Das Produktteam arbeitet aktiv daran, dieses bekannte Problem zu beheben.
Node-Eigenschaftsauswahl
Wenn Sie ihrem Diagrammmodell einen Knotentyp hinzufügen, werden alle Spalten aus der Quelltabelle standardmäßig als Eigenschaften hinzugefügt. Sie können Eigenschaften entfernen, indem Sie das Papierkorbsymbol auswählen. Edgetypen funktionieren anders – sie beginnen ohne Eigenschaften, und Sie fügen nur die benötigten Typen hinzu. Das Auswählen einer benutzerdefinierten Anzeigebezeichnung (z. B. das Anzeigen eines Namens anstelle einer ID) wird noch nicht unterstützt.
Querying
Anzahl der Hops in Multihop-Abfragen
Graph unterstützt derzeit bis zu acht Hops für Muster mit variabler Länge.
Größe der Ergebnisse
Die Aggregationsleistung kann instabil sein, wenn die Ergebnisse 128 MB in der Größe überschreiten.
Das System schneidet derzeit Antworten ab, die größer als 64 MB sind.
Zeitlimit
Abfragen timeout, wenn sie mehr als 20 Minuten dauern.
Datenexport und -visualisierung
- Das Exportieren von Diagrammabfrageergebnissen oder Diagrammstrukturen wird derzeit nicht unterstützt.
- Das direkte Verbinden von Power BI mit einem Diagramm für Visualisierungsszenarien wird derzeit nicht unterstützt.
GQL-Konformität
Eine detaillierte Zuordnung der unterstützten GQL-Features mit dem ISO/IEC 39075:2024-Standard, einschließlich Mindestkonformität, optionalen Features nach Gruppe und features, die noch nicht unterstützt werden, finden Sie unter GQL-Standardkonformität.
Die Einhaltung der GQL-Standards ist noch in Bearbeitung für:
- Korrigieren von GQL-Statuscodes
- FOR-Anweisung mit Index
- NÄCHSTER
- UNION DISTINCT-Anweisung
- Ungebundene Diagrammmuster-Quantifizierer
- ALLE KÜRZESTEn Pfadsuche
- ANY-Pfadsuche
- JEDE KÜRZESTE Pfadsuche
- Datenkonvertierung
- Skalare Unterabfragen
- PROPERTIES-Funktion
- RANGE-Funktion
- Erweiterte numerische Funktionen
- Logarithmische Funktionen
- Trigonometrische Funktionen
- Pfadwertverkettung
- Bezeichnungstest-Prädikat
- Normalisiertes Prädikat
- Quell-/Ziel-Prädikat
- INT32-Werttyp
- FLOAT32 Werttyp
- Closed RECORD-Werttyp
- UINT32-Werttyp
- ZONED TIME-Werttyp
- DATE-Werttyp
- Parameterübergabe
- Nicht gerichtete Kanten
- GQL-Präambel
- Nicht lokale Muster-Prädikate
- IS DIRECTED-Prädikat
- REGEXP_CONTAINS Prädikat
- Spezifikation dynamischer Parameter
- Sitzungsbenutzer
- BYTE-Werttyp
- DEZIMALwerttyp
- LOCAL DATETIME-Werttyp
- LOCAL TIME-Werttyp
- CALL-Named-Prozedur-Anweisung
- ORDER BY mit expliziter NULL-Reihenfolge
- Tabular FOR-Anweisung
- EXCEPT ALL-Anweisung
- EXCEPT DISTINCT-Anweisung
- INTERSECT ALL-Anweisung
- INTERSECT DISTINCT-Anweisung
- OTHERWISE-Anweisung
- Platzhalter
- Entspannte topologische Konsistenz
- PERCENTILE_CONT Aggregatfunktion
- PERCENTILE_DISC Aggregatfunktion
- PRODUCT-Aggregatfunktion
- STDDEV_POP Aggregatfunktion
- STDDEV_SAMP Aggregatfunktion
- Bytezeichenfolgenverkettung
- Bytezeichenfolge TRIM-Funktion
- Einfache TRIM-Funktion mit TRIM-Spezifikation
- Multicharacter TRIM-Funktion
- Bytezeichenfolgenlängenfunktion
- MÄCHTIGKEIT
- ALL_DIFFERENT Prädikat
- IS DISTINCT-Prädikat
- SAME Prädikat
Katalog
Note
Graphen- und Constraint-Namen werden automatisch generiert und GraphBackend können weder in der Benutzeroberfläche noch im JSON-Schema angegeben werden.
| Katalogbereich | Stromlimit / Verhalten | Durchsetzungsstatus | Recommendation |
|---|---|---|---|
| Katalog-ID-Basis | Katalogelement-IDs sind als int32-Wrapper signiert, wobei 0 ungültig ist, sodass jede ID-Familie höchstens std::numeric_limits<int32_t>::max() - 1 positive von null verschiedene IDs (2 Milliarden) hat. |
Umsetzungsobergrenze, keine empfohlene GA-Quote | |
| Diagrammschemas | Ein Graphtyp pro Katalog; Katalog-ID-Kommentare gehen davon aus, dass der Katalog nur einen Graphentyp enthält. | Designannahme; nicht als Multi-Schema-Quote offengelegt | |
| Serialisierte Größe der Graphdefinition | Keine explizite Byte-Größenobergrenze auf GraphProto; es enthält wiederholte Knotentypen, Kantentypen, Labels, Eigenschaftsnamen und Einschränkungen. |
Nicht unterhalb von Protobuf/gRPC/Speicher durchgesetzt; Katalogobjektzählüberprüfungen gelten nach der Graphenkonstruktion | |
| Graphenname | Muss nicht leer sein; Keine explizite Liste der maximalen Bytelänge oder erlaubten Zeichen. | Nur nichtleere Elemente werden erzwungen | 128 Zeichen |
| Knotentypen | Maximal 2 Milliarden Knotentypen. | Ersetzt durch CatalogGraphType::Validate einen positiven, von null verschiedenen int32-ID-Speicher |
64.000 |
| Edgetypen | Maximal 2 Milliarden Kantentypen. | Ersetzt durch CatalogGraphType::Validate einen positiven, von null verschiedenen int32-ID-Speicher |
64.000 |
| Einzigartige Knotenlabels über alle Knotentypen hinweg | Maximal 2 Milliarden eindeutige Knotenetiketten. | Erzwungen durch CatalogGraphType::Validate; doppelte Beschriftungen innerhalb eines Typs werden abgelehnt |
Abgeleitet |
| Einzigartige Kantenetiketten über alle Kantentypen hinweg | Maximal 2 Milliarden einzigartige Edge-Labels. | Erzwungen durch CatalogGraphType::Validate; doppelte Beschriftungen innerhalb eines Typs werden abgelehnt |
Abgeleitet |
| Einzigartige Eigenschaftsnamen über alle Knoten- und Kantentypen hinweg | Maximal 2 Milliarden einzigartige Immobiliennamen. | Erzwungen durch CatalogGraphType::Validate; Eigenschaften dürfen nicht leer sein und Duplikate innerhalb eines Typs werden abgelehnt |
64k * 10 |
| Knoten-Constraint-Definitionen | Maximal 2 Milliarden Knotenschlüssel-Constraint-Definitionen. | Ersetzt durch CatalogGraphType::Validate einen positiven, von null verschiedenen int32-ID-Speicher |
<= Knotentypen |
| Definitionen von Kantenbeschränkungen | Maximal 2 Milliarden Kantenschlüssel-Constraint-Definitionen, aber Kantenschlüssel-Constraints sind standardmäßig deaktiviert, es sei denn, es ist allow_edge_key_constraints wahr. |
Graf wird bei Anwesenheit vollstreckt; Feature Gate lehnt Kantenbeschränkungen standardmäßig ab | <= Kantentypen |
| Eigentumsnamen-Zeichen / Länge | Nicht explizit über nichtleere Eigenschaftsnamen und Parsergrammatik hinaus durchgesetzt; Keine Liste der maximalen Byte-Länge oder erlaubten Zeichens im Katalog. | 128 Charaktere | |
| Beschriftungszeichen / Länge | Nicht explizit über Parsergrammatik und nichtleere Labels in Einschränkungen hinaus durchgesetzt; Keine Liste der maximalen Byte-Länge oder erlaubten Zeichens im Katalog. | 128 Charaktere | |
| Constraint-Namenszeichen / Länge | Constraint-Namen müssen nichtleer sein; Keine explizite Liste der maximalen Bytelänge oder erlaubten Zeichen. | Die Validierung von Duplikat-/Matching-Einschränkungen ist separat | 128 Charaktere |
| Eigenschaften pro Knotentyp | Keine explizite maximale Anzahl von Eigenschaften für einen Knotentyp; doppelte Immobiliennamen werden abgelehnt. | Nur Korrektheitsvalidierung | 256 |
| Eigenschaften pro Kantentyp | Keine explizite maximale Anzahl von Eigenschaften bei einem Kantentyp; doppelte Immobiliennamen werden abgelehnt. | Nur Korrektheitsvalidierung | 256 |
| Bezeichnungen pro Knotentyp | Keine explizite maximale Anzahl von Labels auf einem Knotentyp; Duplikate Etiketten werden abgelehnt. | Nur Korrektheitsvalidierung | 64 |
| Bezeichnungen pro Kantentyp | Keine explizite maximale Anzahl von Bezeichnungen auf einem Kantentyp; doppelte Etiketten werden abgelehnt; Edge-Added-Labels werden abgelehnt. | Nur Korrektheitsvalidierung | 64 |
| Schlüsseleigenschaften pro Nebenbedingung | Keine explizite maximale Anzahl von Schlüsseleigenschaften in Knoten- oder Kantenschlüsselbeschränkungen; Einzelne Immobiliennamen dürfen nicht leer sein. | Nur Korrektheitsvalidierung | 16 |
Laufzeitwerte
| Laufzeitwerttyp | Backing-Repräsentation / Reichweite | Explizite Wert-Level-Obergrenze? | Empfohlen |
|---|---|---|---|
| BOOL | bool; Werte wahr/falsch | Ja, feste Domäne | |
| INT64 | ganze 64-Bit-Zahl mit Vorzeichen | Ja, feste Breite | |
| UINT64 | unsignierte 64-Bit-Ganzzahl | Ja, feste Breite | |
| DOPPELT | C++/protobuf double / Arrow DoubleScalar (IEEE-754 binary64); nicht-endliche Werte werden nicht abgelehnt durch Value::FromProto |
Keine reine Finite-Prüfung | |
| DECIMAL128 | Pfeil Decimal128Scalar; die Laufzeitvalidierung erlaubt eine Genauigkeit von 1..38 und skaliert 0..Präzision; bis zu 38 Dezimalstellen |
Ja, für geprüfte Konstruktion/von Proto | |
| STRING |
std::string; ValueProto.string_value |
No Value Cap | 4 MB |
| BYTES |
std::string als Byte-Container verwendet; ValueProto.bytes_value |
No Value Cap | Saitenlimit |
| VERTEX_ID | uint64 umwickelt von VertexId; generierte IDs verwenden eine 48-Bit-Shard-lokale ID und reservieren 0 als ungültig |
Raw Proto akzeptiert jedes uint64; generierte IDs sind eingeschränkt | |
| EDGE_ID | uint64 umwickelt von EdgeId; generierte IDs verwenden eine 48-Bit-Shard-lokale ID und reservieren 0 als ungültig |
Raw Proto akzeptiert jedes uint64; generierte IDs sind eingeschränkt | |
| ZONED_DATE_TIME |
absl::Time plus Zeitzone; serialisiert als int64 Millisekunden seit der Unix-Epoche plus int32 UTC Offset-Sekunden. Der Millisekundenbereich ist [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], dokumentiert als UTC-Instants von -292275055-05-05-16T16:47:04.192+00:00 bis 292278994-08-17T07:12:55.807+00:00. |
Zeitspanne dokumentiert; Offset ist ein Int32 und wird nicht mit der Reichweite geprüft Value::FromProto |
|
| DAUER |
absl::Duration; serienisiert als INT64 Millisekunden. Serialisierte Min/Max sind -9.223.372.036.854.775.808 ms bis 9.223.372.036.854.775.807 ms (etwa +/-292.277.024,6 Jahre). Der ISO-Parser ist strenger: +/-9.223.372.035 Sekunden (etwa +/-292,277 Jahre). |
Der Proto-Pfad akzeptiert das volle int64-Millisekundenfeld; Parser hat eine engere explizite Obergrenze | |
| NULL / typisierter Null |
std::monostate oder typed-null Wrapper |
||
| Typisierte Listen |
std::vector<std::optional<T>>; LIST_NULL speichert a size_t; LIST_ANY Geschäfte std::vector<Value> |
Kein Standard-Wert-Limit | |
| Geschachtelte Listen | Allgemeine verschachtelte Listen werden im Proto-Vertrag nicht unterstützt; Laufzeit hat eine spezielle verschachtelte LIST_INT64 Bearbeitung |
Kein Standard-Tiefen-/Längenquot | |
| PFAD | Abwechselnde Knoten/Kante/Knoten uint64 IDs in einem Vektor; Die gültige Wegform hat eine ungerade Elementanzahl | Keine Pfadlängenquote | |
| DATENSATZ |
absl::flat_hash_map<std::string, Value> / Protobuf-Karte |
Keine Feldanzahl, Schlüssellänge oder Nesttiefenquote | |
| BELIEBIG |
Value::DataType() wird nicht erwartet, dass TYPE_ANY; dynamische Werte werden als konkrete Werte übernommen, insbesondere innerhalb LIST_ANY oder Pfeil Jede Erweiterungsspeicherung |
Keine Größe/Tiefen-Quote |
Andere Grenzwerte
- Kenner können nicht mit Unterstrich beginnen.
- Ganzzahlige Literale werden standardmäßig als vorzeichenbetecknte ganze Zahlen behandelt.
- Das Zurückgeben von BELIEBIGEN und Datensatztypen wird nicht unterstützt. Eine vorübergehende Lösung ist, sie über
TO_JSON_STRINGzu jsonisieren. - Die maximale String-Eigenschaftslänge beträgt 65535. Daten jenseits 64 KiB sind für den Desserializator nicht erreichbar; der vollständige Puffer wird weiterhin in RocksDB geschrieben.
- Die maximale Anzahl der Elemente in der
List<T>Eigenschaft beträgt 65535. Eine INT64-LISTE mit 70.000 Elementen wird als 4.464 Elemente deserialisiert. - Die maximale Anfrage-Antwortgröße in Bytes beträgt 64 MB.