Aktuální omezení grafu v Microsoft Fabric

Graph v Microsoft Fabric má určitá funkční a výkonnostní omezení. Tento článek popisuje některá klíčová omezení, ale není vyčerpávajícím seznamem. Pravidelně kontrolujte aktualizace.

Nápovědu k běžným problémům najdete v grafu řešení potíží.

Vytváření grafových modelů

Zdroje dat

  • Soubory OneLake parquet a CSV jsou aktuálně podporované pouze zdroje dat.
  • Podpora Power BI sémantických modelů, protože zdroje dat jsou ve vývoji.
  • Podpora zabezpečení OneLake na úrovni sloupců a řádků je ve vývoji.

Datové typy

Graph aktuálně podporuje následující datové typy:

  • Logická hodnota (hodnoty jsou true a false)
  • Double (hodnoty jsou 64bitová čísla s plovoucí desetinou čárkou)
  • Celé číslo (hodnoty jsou 64bitová celá čísla se signtegers)
  • Řetězec (hodnoty jsou řetězce znaků Unicode)
  • Zónovaný dateTime (hodnoty jsou časová razítka spolu s časovým posunem pro časové pásmo)
  • Doba trvání (hodnoty jsou intervaly trvání ISO 8601)

Podporují se následující typy OneLake:

  • IntegerType
  • LongType
  • Typ řetězce
  • DoubleType
  • Booleovský typ
  • Datový typ float
  • ByteType
  • ArrayType
  • Typ datumu
  • TimestampNtzType
  • Typ časového razítka

Vytvoření edge

Během modelování grafu udělte různým typům okrajů grafu různé názvy.

Například sada dat sociálních médií může představovat "uživatel lajkuje komentář" a "uživatel lajkuje příspěvek". Pokud váš grafový model používá pro komentář a publikování samostatné typy uzlů, má typ uzlu uživatele dva typy hran lajků pro komentář a publikování. Tyto hrany můžete pojmenovat userLikesComment a userLikesPost.

Čas vytvoření grafu

Grafový model může dojít až jednou za týden k vypršení časového limitu, pokud vytvoření nebo aktualizace grafu trvá déle než 20 minut. Operace se označí jako neúspěšná.

Uživatelé ale můžou znovu vytvořit nebo aktualizovat graf.

Velikost grafu

Současné obecně dostupné konfigurace SKU mohou zpracovat přibližně 2 miliardy grafových prvků (uzly a hrany). Pro větší grafy s vyšším počtem prvků nebo větší vlastnostní zátěž na prvek se prosím obraťte na produktový tým.

Celkový počet grafových modelů

Každý pracovní prostor Fabric může obsahovat až 10 grafových modelů.

Uživatelské rozhraní multitaskingu

Grafový model může při přepínání mezi kartami nebo okny v uživatelském rozhraní Fabric multitask zmizet nebo být prázdný. Produktový tým aktivně pracuje na vyřešení tohoto známého problému.

Výběr vlastnosti uzlu

Když přidáte uzel nebo typ hrany do svého grafového modelu, ručně vyberte sloupce ze zdrojové tabulky, které se přidají jako vlastnosti. Uzly i hrany začínají bez vlastností a přidáváte jen ty, které potřebujete.

Querying

Počet segmentů směrování ve vícehopových dotazech

Graf v současné době podporuje až osm segmentů směrování na vzorech proměnlivé délky.

Velikost výsledků

Výkon agregace může být nestabilní, pokud výsledky překročí velikost 128 MB.

Systém v současné době zkracuje odpovědi, které jsou větší než 64 MB.

Přerušení zápasu

Dotazy vyprší, pokud trvá déle než 20 minut.

Export a vizualizace dat

  • Export výsledků grafových dotazů nebo struktur grafu se v současné době nepodporuje.
  • Připojení Power BI přímo k grafu pro scénáře vizualizace se v současné době nepodporuje.

Shoda jazyka GQL

Podrobné mapování podporovaných funkcí GQL proti standardu ISO/IEC 39075:2024, včetně minimální shody, volitelných funkcí podle skupin a funkcí, které ještě nejsou podporovány, najdete v tématu Standardní shoda se standardem GQL.

Dodržování standardů GQL stále probíhá pro:

  • Oprava stavových kódů GQL
  • Příkaz FOR s indexem
  • DALŠÍ
  • Příkaz UNION DISTINCT
  • Kvantifikátory nevázaných grafů
  • VŠE NEJKRATŠÍ cesta vyhledávání
  • Hledání v libovolné cestě
  • HLEDÁNÍ NEJKRATŠÍ CESTY
  • Konverze dat
  • Skalární poddotazy
  • PROPERTIES
  • RANGE
  • Vylepšené číselné funkce
  • Logaritmické funkce
  • Trigonometrické funkce
  • Zřetězení hodnoty cesty
  • Predikát testu popisku
  • Normalizovaný predikát
  • Predikát zdroje a cíle
  • Typ hodnoty INT32
  • typ hodnoty FLOAT32
  • Uzavřený typ hodnoty RECORD
  • Typ hodnoty UINT32
  • Typ hodnoty ZONED TIME
  • Typ hodnoty DATE
  • Předávání parametrů
  • Neusměrované hrany
  • GQL-preambule
  • Predikáty nelokalních vzorů
  • IS DIRECTED predikát
  • predikát REGEXP_CONTAINS
  • Specifikace dynamického parametru
  • Uživatel relace
  • Typ hodnoty BYTES
  • Typ hodnoty DECIMAL
  • Typ hodnoty LOCAL DATETIME
  • Typ hodnoty LOCAL TIME
  • Call named procedure – příkaz
  • ORDER BY s explicitním řazením NULL
  • Tabulkový příkaz FOR
  • PŘÍKAZ EXCEPT ALL
  • PŘÍKAZ EXCEPT DISTINCT
  • Příkaz INTERSECT ALL
  • Příkaz INTERSECT DISTINCT
  • Příkaz OTHERWISE
  • Zástupné znaky
  • Uvolněná topologické konzistence
  • agregační funkce PERCENTILE_CONT
  • agregační funkce PERCENTILE_DISC
  • Agregační funkce PRODUCT
  • agregační funkce STDDEV_POP
  • agregační funkce STDDEV_SAMP
  • Zřetězení bajtů řetězců
  • Funkce TRIM řetězce bajtů
  • Jednoduchá funkce TRIM se specifikací TRIM
  • Funkce TRIM s více znaky
  • Funkce délky bajtového řetězce
  • MOHUTNOST
  • predikát ALL_DIFFERENT
  • PREdikát IS DISTINCT
  • STEJNÝ predikát

Katalog

Note

Názvy grafů a omezení jsou automaticky generovány a GraphBackend nelze je zadat v UI ani v JSON schématu.

Oblast katalogu Limit proudu / chování Stav vymáhání Recommendation
Na bázi katalogového ID ID katalogových prvků jsou podepsané int32 obaly, kde 0 je neplatné, takže každá rodina ID má maximálně std::numeric_limits<int32_t>::max() - 1 kladně nenulová ID (2 miliardy). Limit implementace, ne doporučená kvóta GA
Schémata grafů Jeden typ grafu na každý katalog; Komentáře k ID katalogu předpokládají, že katalog obsahuje pouze jeden typ grafu. Předpoklad konstrukce; Není to vystaveno jako kvóta s více schématy
Definice grafu – serializovaná velikost Na ; GraphProtoobsahuje opakující se typy uzlů, hrany, štítky, názvy vlastností a omezení, žádné explicitní velikost bajtů. Není vynucováno pod protobuf/gRPC/paměť; Kontroly počtu objektů v katalogu se uplatňují po konstrukci grafu
Název grafu Musí být neprázdný; Není zde explicitní seznam povolených maximálních bajtů ani znaků. Vynucována je pouze neprázdná 128 znaků
Typy uzlů Maximálně 2 miliardy typů uzlů. Vynucováno pomocí CatalogGraphType::Validate kladného nenulového int32 ID prostoru 64k
Typy hran Maximálně 2 miliardy typů hran. Vynucováno pomocí CatalogGraphType::Validate kladného nenulového int32 ID prostoru 64k
Unikátní štítky uzlů napříč všemi typy uzlů Maximálně 2 miliardy unikátních štítků uzlů. Vynucováno pomocí CatalogGraphType::Validate; duplicitní štítky v rámci jednoho typu jsou odmítnuty Odvozené
Unikátní štítky hran napříč všemi typy hran Maximálně 2 miliardy unikátních edge štítků. Vynucováno pomocí CatalogGraphType::Validate; duplicitní štítky v rámci jednoho typu jsou odmítnuty Odvozené
Unikátní názvy vlastností napříč všemi typy uzlů a hran Maximálně 2 miliardy unikátních názvů nemovitostí. Vynucováno pomocí CatalogGraphType::Validate; názvy vlastností nemohou být prázdné a duplikáty v rámci jednoho typu jsou odmítnuty 64k * 10
Definice omezení uzlů Maximálně 2 miliardy definic klíčů uzlů. Vynucováno pomocí CatalogGraphType::Validate kladného nenulového int32 ID prostoru <= typy uzlů
Definice hraničních omezení Maximálně 2 miliardy definic hraničních klíčů, ale omezení hranných klíčů jsou ve výchozím nastavení zakázána, pokud allow_edge_key_constraints není pravda. Pokud je přítomen, vymáháno se počítání; Feature gate ve výchozím nastavení odmítá hraniční omezení <= typy hran
Jméno vlastností, postavy / délka Není explicitně vynucováno nad rámec neprázdných vlastnostních jmen a gramatiky parseru; Není povolen katalogový seznam maximálních bajtů ani znaků. 128 znaků
Postavy / délka označení Není explicitně vynucováno nad rámec gramatiky parseru a neprázdných štítků v omezeních; Není povolen katalogový seznam maximálních bajtů ani znaků. 128 znaků
Názvy omezení / délka Názvy omezení musí být neprázdné; Není zde explicitní seznam povolených maximálních bajtů ani znaků. Validace duplicitních/párovacích omezení je samostatná 128 znaků
Vlastnosti podle typu uzlu Neexistuje explicitní maximální počet vlastností na typu uzlu; duplicitní názvy nemovitostí jsou zamítnuty. Pouze validace správnosti 256
Vlastnosti podle typu hrany Neexistuje explicitní maximální počet vlastností na typu hrany; duplicitní názvy nemovitostí jsou zamítnuty. Pouze validace správnosti 256
Štítky podle typu uzlu Neexistuje žádný explicitní maximální počet štítků na typu uzlu; duplicitní štítky jsou odmítány. Pouze validace správnosti 64
Štítky podle typu hrany Neexistuje explicitní maximální počet štítků na typu hrany; duplicitní štítky jsou odmítány; Štítky přidané na okraji jsou odmítnuty. Pouze validace správnosti 64
Klíčové vlastnosti na každé omezení Žádný explicitní maximální počet klíčových vlastností v uzlových nebo hranových klíčových omezeních; Názvy jednotlivých nemovitostí nemohou být prázdné. Pouze validace správnosti 16

Hodnoty běhu

Typ hodnoty za běhu Podpora / rozsah Explicitní limit na úrovni hodnoty? Doporučený
BOOL bool; hodnoty pravda/nepravda Ano, pevná doména
INT64 Podepsané 64bitové celé číslo Ano, pevná šířka
UINT64 Neznaménko 64bitové celé číslo Ano, pevná šířka
DVOJITÝ C++/protobuf double / Arrow DoubleScalar (IEEE-754 binary64); nekonečné hodnoty nejsou odmítnuty Value::FromProto Žádná kontrola pouze konečných hodnot
DECIMAL128 Šipka Decimal128Scalar; validace za běhu umožňuje přesnost 1..38 a škálu 0..přesnost; až 38 desetinných číslic Ano, pro kontrolovanou konstrukci/z proto
STRING std::string; ValueProto.string_value Žádný strop hodnoty 4 MB
BYTY std::string používá se jako kontejner bajtů; ValueProto.bytes_value Žádný strop hodnoty Limit řetězců
VERTEX_ID uint64 zabalený v ; VertexIdgenerované ID používají 48bitové shard-lokální ID a vynechávají 0 jako neplatné Raw proto přijímá jakýkoli uint64; Generovaná ID jsou omezena
EDGE_ID uint64 zabalený v ; EdgeIdgenerované ID používají 48bitové shard-lokální ID a vynechávají 0 jako neplatné Raw proto přijímá jakýkoli uint64; Generovaná ID jsou omezena
ZONED_DATE_TIME absl::Time plus časové pásmo; serializováno jako int64 milisekund od unixové epochy plus int32 UTC offset sekund. Milisekundový rozsah je [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], dokumentovaný jako UTC okamžiky od -292275055-05-16T16:47:04.192+00:00 do 292278994-08-17T07:12:55.807+00:00. Časové rozmezí zdokumentováno; Offset je int32 a není kontrolován v rozsahu Value::FromProto
TRVÁNÍ absl::Duration; serializováno jako int64 milisekund. Sériové min/max jsou -9 223 372 036 854 775 808 ms až 9 223 372 036 854 775 807 ms (přibližně +/-292 277 024,6 let). ISO parser je přísnější: +/-9 223 372 035 sekund (asi +/-292,277 let). Proto path přijímá celé pole int64 milisekund; Parser má užší explicitní limit
NULL / typovaný null std::monostate nebo typovaný nulový obal
Psané seznamy std::vector<std::optional<T>>; LIST_NULL ukládá a size_t; LIST_ANY Obchody std::vector<Value> Žádný výchozí limit hodnoty
Vnořené seznamy Obecné vnořené seznamy nejsou v proto-kontraktu podporovány; Runtime má speciální vnořené LIST_INT64 zpracování Žádná výchozí kvóta na hloubku/délku
CESTA Střídání vrcholů/hran/vrcholů uint64 ID ve vektoru; Platný tvar cesty má lichý počet prvků Žádná kvóta délky cesty
ZÁZNAM absl::flat_hash_map<std::string, Value> / Protobuf mapa Žádná kvóta počtu polí, délky klíče ani hloubky vnoření
Libovolný Value::DataType() neočekává se, TYPE_ANYže vrátí ; dynamické hodnoty jsou přenášeny jako konkrétní hodnoty, zejména uvnitř LIST_ANY nebo Arrow Jakékoliv rozšíření úložiště Žádná kvóta na velikost/hloubku

Další omezení

  • Identifikátory nesmí začínat podtržítkem.
  • Celočíselná literála jsou ve výchozím nastavení považována za podepsaná celá čísla.
  • Vrácení JAKÝCHKOLI a typů záznamů není podporováno. Dočasné řešení je je jsonizovat je pomocí TO_JSON_STRING.
  • Maximální délka vlastnosti String je 65535. Data nad 64 KiB nejsou pro deserializátora dostupná; celý buffer je stále zapsán do RocksDB.
  • Maximální počet prvků ve List<T> vlastnictví je 65535. Seznam INT64 s 70 000 prvky se deserializuje jako 4 464 prvků.
  • Maximální velikost odpovědi na dotaz v bajtech je 64 MB.