Aktuálne obmedzenia grafu v službe Microsoft Fabric

Graph v Microsoft Fabric má určité funkčné a výkonnostné obmedzenia. V tomto článku sa zvýrazní niekoľko kľúčových obmedzení, ale nie je to úplný zoznam. Pravidelne kontrolujte aktualizácie.

Pomoc s bežnými problémami nájdete v téme Riešenie problémov s grafom.

Vytváranie modelov grafu

Zdroje údajov

  • Parquet OneLake a súbory CSV sú jediné zdroje údajov, ktoré sú v súčasnosti podporované.
  • Podpora Power BI sémantických modelov v rámci vývoja zdrojov údajov.
  • Podpora pre zabezpečenie OneLake na úrovni stĺpca a riadkov sa vyvíja.

Typy údajov

Graph v súčasnosti podporuje nasledujúce typy údajov:

  • Booleovské hodnoty (hodnoty sú true a false)
  • Double (hodnoty sú 64-bitové čísla s pohyblivou desatinnou čiarkou)
  • Celé číslo (hodnoty sú 64-bitové celé čísla so znamienkom)
  • Reťazec (hodnoty sú reťazce znakov Unicode)
  • Zónovaný dátumČas (hodnoty sú časové pečiatky spolu s časovým posunom pre časové pásmo)
  • Trvanie (hodnoty sú intervaly trvania ISO 8601)

Podporované sú nasledujúce typy OneLake:

  • Celočíselný typ
  • LongType (Typ Dlhé)
  • Typ reťazca
  • Dvojitý typ
  • BooleanType
  • Typ pohyblivej pohyblivej čiarky
  • ByteType (Typ Bajtu)
  • Typ poľa
  • Typ dátumu
  • Typ časovej pečiatkyNtzType
  • Typ časovej pečiatky

Vytvorenie prehliadača Microsoft Edge

Počas modelovania grafu udeľte rôznym typom okrajov grafu rôzne názvy.

Množina údajov na sociálnych sieťach môže napríklad predstavovať komentár, ktorý má označení používateľ páčiť, a komentár "používateľ má rád". Ak váš model grafu používa samostatné typy uzla pre komentáre a príspevky, typ uzla používateľa má dva typy okrajov typu "páči sa mi to", ktoré môžete komentovať a uverejňovať. Tieto okraje môžete pomenovať userLikesComment a userLikesPost.

Čas vytvorenia grafu

Ak vytvorenie grafu alebo aktualizácia trvá dlhšie ako 20 minút, graf model môže skončiť až raz za týždeň. Operácia je označená ako neúspešná.

Používatelia však môžu znova vytvárať alebo aktualizovať grafy.

Veľkosť grafu

Súčasné všeobecne dostupné konfigurácie SKU dokážu spracovať približne 2 miliardy grafových prvkov (uzlov a hrán). Pre väčšie grafy s vyšším počtom prvkov alebo väčší obsah vlastností na prvok, prosím, kontaktujte produktový tím.

Celkový počet grafových modelov

Každý pracovný priestor Fabric môže obsahovať až 10 grafových modelov.

Multitaskingové UI

Model grafu môže zmiznúť alebo môže byť prázdny, keď prepínate medzi kartami alebo oknami v Fabric multitask používateľského rozhrania. Produktový tím aktívne pracuje na vyriešení tohto známeho problému.

Výber vlastnosti Node

Keď pridáte uzol alebo typ hrany do svojho grafového modelu, manuálne vyberte stĺpce zo zdrojovej tabuľky, ktoré sa pridajú ako vlastnosti. Uzly aj hrany začínajú bez vlastností a pridávate len tie, ktoré potrebujete.

Dotaze

Počet skokov v dotazoch násobku

Graf v súčasnosti podporuje až osem skokov na vzoroch s premenlivou dĺžkou.

Veľkosť výsledkov

Výkon agregácie môže byť nestabilný, ak výsledky presiahnu veľkosť 128 MB.

Systém v súčasnosti skráti odpovede, ktoré sú väčšie ako 64 MB.

Timeout

Platnosť dotazov uplynie, ak trvá dlhšie ako 20 minút.

Export a vizualizácia údajov

  • Export výsledkov dotazu grafu alebo štruktúr grafu nie je momentálne podporovaný.
  • Pripojenie Power BI priamo k grafu pre scenáre vizualizácií nie je momentálne podporované.

Zhoda so službou GQL

Podrobné mapovanie podporovaných funkcií GQL podľa štandardu ISO/IEC 39075:2024 vrátane minimálnej zhody, voliteľných funkcií podľa skupiny a zatiaľ nepodporovaných funkcií nájdete v téme Zhoda normy GQL.

Zhoda s normami GQL stále prebieha pre:

  • Správne kódy stavu GQL
  • Príkaz FOR s indexom
  • BUDÚCI
  • Vyhlásenie UNION DISTINCT
  • Kvantifikátory vzoru nezaviazaného grafu
  • VŠETKY NAJKRATŠIE VYHĽADÁVANIE cesty
  • VŠETKY cesty vyhľadávania
  • AKÉKOĽVEK NAJKRATŠIE VYHĽADÁVANIE cesty
  • Konverzia údajov
  • Skalárne poddotazy
  • Funkcia PROPERTIES
  • Funkcia RANGE
  • Vylepšené číselné funkcie
  • Logaritmické funkcie
  • Trigonometrické funkcie
  • Zreťazenie hodnoty cesty
  • Predikát testu označenia
  • Normalizovaný predikát
  • Predikát zdroja/cieľa
  • Typ hodnoty INT32
  • FLOAT32 typ hodnoty
  • Typ hodnoty uzavretého záznamu
  • Typ hodnoty UINT32
  • Typ hodnoty ČAS V PÁSME
  • Typ hodnoty DATE
  • Odovzdávanie parametrov
  • Obojsmerné okraje
  • GQL –preambula
  • Nelokalické predikáty
  • PREDikát JE SMEROVANÝ
  • REGEXP_CONTAINS predikát
  • Špecifikácia dynamického parametra
  • Používateľ relácie
  • Typ hodnoty BYTES
  • Typ hodnoty DECIMAL
  • Typ hodnoty MIESTNY DÁTUM A ČAS
  • Typ hodnoty MIESTNEHO ČASU
  • Príkaz pomenovanej procedúry CALL
  • ORDER BY s explicitným poradím null
  • Príkaz Tabular FOR
  • Príkaz EXCEPT ALL
  • Príkaz EXCEPT DISTINCT
  • Príkaz INTERSECT ALL
  • Príkaz INTERSECT DISTINCT
  • Príkaz OTHERWISE
  • Zástupné znaky
  • Uvoľnená topologická konzistencia
  • agregačnú funkciu PERCENTILE_CONT
  • agregačnú funkciu PERCENTILE_DISC
  • Agregačnú funkciu PRODUCT
  • STDDEV_POP agregačnú funkciu
  • agregačnú funkciu STDDEV_SAMP
  • Zreťazenie reťazca bajtov
  • Funkcia TRIM pre reťazec bajtu
  • Jednoduchá funkcia TRIM so špecifikáciou TRIM
  • Funkcia TRIM s viacerými znakovmi
  • Funkcia dĺžky reťazca bajtu
  • MOHUTNOSŤ
  • ALL_DIFFERENT predikát
  • JE PREDikát RÔZNYCH
  • ROVNAKÝ predikát

Katalóg

Poznámka

Názvy grafov a obmedzení sa automaticky generujú a GraphBackend nedajú sa špecifikovať v používateľskom rozhraní ani v JSON schéme.

Oblasť katalógu Prúdový limit / správanie Stav vymáhania Odporúčanie
Na báze katalógového ID ID katalógových prvkov sú podpísané int32 obaly, kde 0 je neplatné, takže každá rodina ID má najviac std::numeric_limits<int32_t>::max() - 1 kladné nenulové ID (2 miliardy). Implementačný strop, nie odporúčaná kvóta GA
Grafové schémy Jeden typ grafu na každý katalóg; Komentáre k identifikácii katalógu predpokladajú, že katalóg obsahuje iba jeden typ grafu. Predpoklad dizajnu; Nie je vystavená ako kvóta s viacerými schémami
Definícia grafu serializovaná veľkosť Neexistuje explicitný limit veľkosti bajtu na GraphProto; obsahuje opakujúce sa typy uzlov, typy hrán, štítky, názvy vlastností a obmedzenia. Nie je vynucované pod protobuf/gRPC/pamäť; Kontroly počtu objektov v katalógu sa uplatňujú po konštrukcii grafu
Názov grafu Musí byť neprázdny; Žiadny explicitný zoznam maximálnej dĺžky bajtu alebo povolených znakov. Vynútené je len neprázdne 128 postáv
Typy uzlov Maximálne 2 miliardy typov uzlov. Vynútené pomocou CatalogGraphType::Validate kladného nenulového int32 ID priestoru 64k
Typy hrán Maximálne 2 miliardy edge typov. Vynútené pomocou CatalogGraphType::Validate kladného nenulového int32 ID priestoru 64k
Jedinečné označenia uzlov naprieč všetkými typmi uzlov Maximálne 2 miliardy unikátnych štítkov uzlov. Vynútené pomocou CatalogGraphType::Validate; duplicitné štítky v rámci jedného typu sú odmietnuté Odvodené
Jedinečné označenia hrán naprieč všetkými typmi hrán Maximálne 2 miliardy unikátnych edge štítkov. Vynútené pomocou CatalogGraphType::Validate; duplicitné štítky v rámci jedného typu sú odmietnuté Odvodené
Jedinečné názvy vlastností naprieč všetkými typmi uzlov a hrán Maximálne 2 miliardy unikátnych názvov nehnuteľností. Vynútené pomocou CatalogGraphType::Validate; názvy vlastností nemôžu byť prázdne a duplikáty v rámci jedného typu sú zamietnuté 64k * 10
Definície obmedzení uzlov Maximálne 2 miliardy definícií obmedzení kľúčov uzlov. Vynútené pomocou CatalogGraphType::Validate kladného nenulového int32 ID priestoru <= typy uzlov
Definície hraničných obmedzení Maximálne 2 miliardy definícií hraničných kľúčov, ale hraničné kľúčové obmedzenia sú predvolene vypnuté, pokiaľ allow_edge_key_constraints nie je pravda. Ak je prítomný, počítanie je vynútené; Feature gate štandardne odmieta hraničné obmedzenia <= typy hrán
Názvy vlastností, postavy / dĺžka Nie je explicitne vynútené okrem neprázdnych názvov vlastností a gramatiky parsera; Žiadny zoznam maximálnej dĺžky bajtu alebo povoleného znaku v katalógu. 128 znakov
Postavy / dĺžka etikety Nie je explicitne vynútené nad rámec gramatiky parsera a neprázdnych štítkov v obmedzeniach; Žiadny zoznam maximálnej dĺžky bajtu alebo povoleného znaku v katalógu. 128 znakov
Meno obmedzení / dĺžka Názvy obmedzení musia byť neprázdne; Žiadny explicitný zoznam maximálnej dĺžky bajtu alebo povolených znakov. Overovanie duplikovaných/zodpovedajúcich obmedzení je samostatné 128 znakov
Vlastnosti podľa typu uzla Neexistuje explicitný maximálny počet vlastností na type uzla; duplicitné názvy nehnuteľností sa zamietajú. Len validácia správnosti 256
Vlastnosti podľa typu hrany Neexistuje explicitný maximálny počet vlastností na type hrany; duplicitné názvy nehnuteľností sa zamietajú. Len validácia správnosti 256
Označenia podľa typu uzla Neexistuje explicitný maximálny počet štítkov na type uzla; Duplicitné štítky sa odmietajú. Len validácia správnosti 64
Štítky podľa typu hrany Neexistuje explicitný maximálny počet štítkov na type hrán; duplicitné štítky sú odmietnuté; Štítky pridané na okraji sú odmietnuté. Len validácia správnosti 64
Kľúčové vlastnosti na každé obmedzenie Žiadny explicitný maximálny počet kľúčových vlastností v obmedzeniach uzla alebo hrany; Názvy jednotlivých nehnuteľností nemôžu byť prázdne. Len validácia správnosti 16

Hodnoty behu

Typ hodnoty za behu Zastúpenie / rozsah podpory Explicitný limit na úrovni hodnoty? Odporúča sa
BUM bool; hodnoty pravdy/nepravdy Áno, pevná doména
INT64 podpísané 64-bitové celé číslo Áno, pevná šírka
UINT64 Neznamienkové 64-bitové celé číslo Áno, pevná šírka
DVOJITÝ C++/protobuf double / Arrow DoubleScalar (IEEE-754 binary64); nekonečné hodnoty nie sú odmietnuté Value::FromProto Žiadna kontrola len konečných hodnôt
DECIMAL128 Šípka Decimal128Scalar; validácia za behu umožňuje presnosť 1..38 a škálu 0..presnosť; až do 38 desatinných číslic Áno, pre skontrolovanú konštrukciu/z proto
POVRÁZOK std::string; ValueProto.string_value Bez hodnotového stropu 4 MB
BAJTY std::string používa sa ako bajtový kontajner; ValueProto.bytes_value Bez hodnotového stropu Limit struny
VERTEX_ID uint64 zabalené do VertexId; generované ID používajú 48-bitové lokálne ID shardu a vyhradzujú 0 ako neplatné Raw proto prijíma akýkoľvek uint64; Generované ID sú obmedzené
EDGE_ID uint64 zabalené do EdgeId; generované ID používajú 48-bitové lokálne ID shardu a vyhradzujú 0 ako neplatné Raw proto prijíma akýkoľvek uint64; Generované ID sú obmedzené
ZONED_DATE_TIME absl::Time plus časové pásmo; serializované ako int64 milisekúnd od unixovej epochy plus int32 UTC offset sekúnd. Milisekundový rozsah je [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807], zdokumentovaný ako UTC okamihy od -292275055-05-16T16:47:04.192+00:00 do 292278994-08-17T07:12:55.807+00:00. Časový rozsah zdokumentovaný; Offset je INT32 a nie je kontrolovaný v rozsahu Value::FromProto
TRVANIE absl::Duration; serializované ako int64 milisekúnd. Sériové min/max sú -9 223 372 036 854 775 808 ms až 9 223 372 036 854 775 807 ms (približne +/-292 277 024,6 rokov). ISO parser je prísnejší: +/-9 223 372 035 sekúnd (približne +/-292,277 rokov). Proto path prijíma celé pole int64 milisekund; Parser má užší explicitný limit
NULL / typovaný null std::monostate alebo typovaný nulový obal
Písané zoznamy std::vector<std::optional<T>>; LIST_NULL ukladá a size_t; LIST_ANY Obchody std::vector<Value> Žiadny predvolený limit hodnoty
Vnorené zoznamy Všeobecné vnorené zoznamy nie sú podporované v proto-kontrakte; Runtime má špeciálne vnorené LIST_INT64 spracovanie Žiadna predvolená kvóta na hĺbku/dĺžku
CESTA Striedavé vrcholy/hrany/vrcholy uint64 ID vo vektore; Platný tvar cesty má nepárny počet prvkov Žiadna kvóta na dĺžku cesty
REKORD absl::flat_hash_map<std::string, Value> / Protobuf mapa Žiadna kvóta počtu polí, dĺžky kľúča ani hĺbky vnorenia
ANY Value::DataType() neočakáva sa TYPE_ANY, že vráti ; dynamické hodnoty sú prenášané ako konkrétne hodnoty, najmä vo vnútri LIST_ANY alebo Arrow Akákoľvek rozšírená pamäť Žiadna kvóta na veľkosť/hĺbku

Ďalšie limity

  • Identifikátory nemôžu začínať podčiarknutím.
  • Literály s celými číslami sú predvolene považované za podpísané celé čísla.
  • Vrátenie AKÝCHKOĽVEK a Záznamových typov nie je podporované. Dočasné riešenie je ich jsonizovať cez TO_JSON_STRING.
  • Maximálna dĺžka nehnuteľnosti String je 65535. Dáta nad 64 KiB sú pre deserializéra nedostupné; celý buffer je stále zapísaný do RocksDB.
  • Maximálny počet prvkov v List<T> nehnuteľnosti je 65535. Zoznam INT64 s 70 000 prvkami sa deserializuje ako 4 464 prvkov.
  • Maximálna veľkosť odpovede na dotaz v bajtoch je 64 MB.