Aktuelle Einschränkungen von Diagrammen in Microsoft Fabric

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 true und false)
  • 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.