Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Graph no Microsoft Fabric tem certas limitações funcionais e de desempenho. Este artigo destaca algumas limitações principais, mas não é uma lista exaustiva. Volte regularmente para atualizações.
Para ajuda com problemas comuns, consulte o gráfico de resolução de problemas.
Criação de modelos gráficos
Fontes de dados
- Os ficheiros de parquet e CSV do OneLake são as únicas fontes de dados atualmente suportadas.
- O suporte para modelos semânticos do Power BI como fontes de dados está em desenvolvimento.
- O suporte para segurança OneLake ao nível de colunas e linhas está em desenvolvimento.
Tipos de dados
O Graph suporta atualmente os seguintes tipos de dados:
- Booleano (valores são
trueefalse) - Duplo (os valores são números de ponto flutuante de 64 bits)
- Inteiro (os valores são inteiros assinados de 64 bits)
- String (os valores são cadeias de caracteres Unicode)
- DataHora Zonada (os valores são carimbos temporais juntamente com um deslocamento temporal para o fuso horário)
- Duração (os valores são intervalos de duração ISO 8601)
Os seguintes tipos de OneLake são suportados:
- Tipo inteiro
- Tipo Longo
- TipoString
- Tipo Duplo
- Tipo Booleano
- Tipo de flutuação
- ByteType
- Tipo de matriz
- Tipo de Data
- Carimbo de data/horaNtzType
- Tipo de Timestamp
Criação de bordas
Durante a modelação de grafos, dê diferentes tipos de arestas de grafos com nomes diferentes.
Por exemplo, um conjunto de dados de redes sociais pode representar "comentário de gosto" e "publicação de gostos de utilizador". Se o teu modelo de grafo usa tipos de nós separados para comentário e publicação, então o tipo de nó de utilizador tem dois tipos de arestas de "gostos" para comentar e publicar. Podes nomear estas bordas como userLikesComment e userLikesPost.
Tempo de criação do gráfico
Até uma vez por semana, um modelo de gráfico pode encontrar um tempo limite se a criação ou atualização do gráfico demorar mais de 20 minutos. A operação é marcada como falhada.
No entanto, os usuários podem reiniciar a criação ou atualização de gráficos.
Tamanho do grafo
As configurações SKU atualmente geralmente disponíveis podem processar cerca de 2 mil milhões de elementos de grafo (nós e arestas). Para grafos maiores com um número maior de elementos ou uma carga útil de propriedade maior por elemento, por favor contacte a equipa de produto.
Número total de modelos de grafos
Cada espaço de trabalho Fabric pode ter até 10 modelos de grafos.
Interface multitarefa
O modelo gráfico pode desaparecer ou ficar vazio quando alternas entre separadores ou janelas na interface multitarefa do Fabric. A equipa de produto está a trabalhar ativamente para resolver este problema conhecido.
Seleção de propriedades do nó
Quando adicionar um nó ou tipo de aresta ao seu modelo de grafo, selecione manualmente colunas da tabela de origem para serem adicionadas como propriedades. Tanto os nós como as arestas começam sem propriedades, e só adicionas as que precisas.
Consultar
Número de saltos em consultas multisaltos
O Graph suporta atualmente até oito saltos em padrões de comprimento variável.
Tamanho dos resultados
O desempenho de agregação pode ser instável quando os resultados excedem 128 MB de tamanho.
Atualmente, o sistema trunca respostas superiores a 64 MB.
Timeout
As consultas expiram se demorarem mais de 20 minutos.
Exportação e visualização de dados
- Exportar resultados de consultas de grafos ou estruturas de grafos não é atualmente suportado.
- Ligar o Power BI diretamente a um gráfico para cenários de visualização não é atualmente suportado.
Conformidade com GQL
Para um mapeamento detalhado das funcionalidades GQL suportadas em relação à norma ISO/IEC 39075:2024, incluindo conformidade mínima, funcionalidades opcionais por grupo e funcionalidades ainda não suportadas, consulte conformidade com a norma GQL.
A conformidade com as normas GQL ainda está em curso para:
- Corrigir códigos de status GQL
- Declaração FOR com índice
- SEGUINTE
- DECLARAÇÃO DISTINTA DO SINDICATO
- Quantificadores de padrões gráficos ilimitados
- TODOS OS CAMINHOS MAIS CURTOS pesquisa
- QUALQUER pesquisa de caminho
- QUALQUER PESQUISA DE CAMINHO MAIS CURTO
- Conversão de dados
- Subconsultas escalares
- Função PROPRIEDADES
- Função INTERVALO
- Funções numéricas melhoradas
- Funções logarítmicas
- Funções trigonométricas
- Concatenação do valor do caminho
- Predicado de teste de rótulo
- Predicado normalizado
- Predicado de origem/destino
- Tipo de valor INT32
- FLOAT32 tipo de valor
- Tipo de valor RECORD fechado
- Tipo de valor UINT32
- Tipo de valor ZONED TIME
- Tipo de valor DATE
- Passagem de parâmetros
- Arestas não direcionadas
- GQL-preâmbulo
- Predicados de padrões não locais
- É PREDICADO DIRIGIDO
- REGEXP_CONTAINS predicado
- Especificação de parâmetros dinâmicos
- Usuário da sessão
- Tipo de valor BYTES
- Tipo de valor DECIMAL
- Tipo de valor LOCAL DATETIME
- Tipo de valor HORA LOCAL
- Declaração de procedimento nomeado CALL
- ORDER BY com ordenação NULL explícita
- Instrução tabular FOR
- EXCETO TODAS as declarações
- EXCETO DECLARAÇÃO DISTINTA
- Declaração INTERSECT ALL
- INTERSECT DISTINCT enunciado
- DECLARAÇÃO DE CASO CONTRÁRIO
- Wildcards
- Consistência topológica relaxada
- PERCENTILE_CONT função agregada
- PERCENTILE_DISC função agregada
- Função agregada PRODUCT
- STDDEV_POP função agregada
- STDDEV_SAMP função agregada
- Concatenação de cadeia de caracteres de byte
- Função TRIM de cadeia de bytes
- Função TRIM simples com especificação TRIM
- Função TRIM multicarácter
- Função de comprimento da cadeia de caracteres de byte
- CARDINALIDADE
- ALL_DIFFERENT predicado
- É PREDICADO DISTINTO
- MESMO predicado
Catálogo
Note
Nomes de grafos e nomes de restrições são gerados automaticamente em GraphBackend e não podem ser especificados na interface ou no esquema JSON.
| Área do catálogo | Limite atual / comportamento | Estado de execução | Recommendation |
|---|---|---|---|
| Base do ID do catálogo | Os IDs de elementos de catálogo são wrappers int32 assinados onde 0 é inválido, pelo que cada família de ID tem no máximo std::numeric_limits<int32_t>::max() - 1 IDs positivos não nulos (2 mil milhões). |
Teto de implementação, não uma quota recomendada de GA | |
| Esquemas de gráficos | Um tipo de gráfico por catálogo; os comentários de ID de catálogo assumem que o catálogo contém apenas um tipo de grafo. | Suposição de conceção; não exposto como uma quota multi-esquema | |
| Definição de grafo tamanho serializado | Não existe um limite explícito de tamanho de byte em GraphProto; contém tipos repetidos de nós, tipos de aresta, rótulos, nomes de propriedades e restrições. |
Não é aplicado abaixo do protobuf/gRPC/memória; Verificações de contagem de objetos no catálogo aplicam-se após a construção do grafo | |
| Nome do grafo | Deve não estar vazio; Não existe uma lista explícita de comprimento máximo de bytes ou caracteres permitidos. | Apenas não vazio é aplicado | 128 caracteres |
| Tipos de nó | No máximo 2 mil milhões de tipos de nós. | Imposta por CatalogGraphType::Validate via espaço de identificação int32 positivo não nulo |
64k |
| Tipos de arestas | No máximo 2 mil milhões de tipos de edge. | Imposta por CatalogGraphType::Validate via espaço de identificação int32 positivo não nulo |
64k |
| Rótulos de nós únicos em todos os tipos de nós | No máximo 2 mil milhões de rótulos de nós únicos. | Imposta por CatalogGraphType::Validate; rótulos duplicados dentro de um tipo são rejeitados |
Derivado |
| Rótulos de aresta únicos em todos os tipos de arestas | No máximo 2 mil milhões de etiquetas edge únicas. | Imposta por CatalogGraphType::Validate; rótulos duplicados dentro de um tipo são rejeitados |
Derivado |
| Nomes de propriedades únicos em todos os tipos de nós e arestas | No máximo 2 mil milhões de nomes únicos de propriedades. | Imposta por CatalogGraphType::Validate; os nomes das propriedades não podem estar vazios e os duplicados dentro de um tipo são rejeitados |
64k * 10 |
| Definições de restrições de nós | No máximo 2 mil milhões de definições de restrições de chave de nós. | Imposta por CatalogGraphType::Validate via espaço de identificação int32 positivo não nulo |
<= tipos de nós |
| Definições de restrições de arestas | No máximo 2 mil milhões de definições de restrições de chave de aresta, mas as restrições de chave de aresta estão desativadas por defeito, a menos que allow_edge_key_constraints seja verdadeiro. |
Conde aplicada se presente; Feature gate rejeita restrições de aresta por defeito | <= tipos de arestas |
| Nomes da propriedade, caracteres / comprimento | Não é explicitamente aplicado para além dos nomes de propriedades não vazias e da gramática do analisador; Não existe catálogo de comprimento máximo de bytes ou lista de caracteres permitidos. | 128 caracteres | |
| Caracteres da etiqueta / comprimento | Não é explicitamente aplicado para além da gramática do analisador e dos rótulos não vazios nas restrições; Não existe catálogo de comprimento máximo de bytes ou lista de caracteres permitidos. | 128 caracteres | |
| Caracteres do nome da restrição / comprimento | Os nomes das restrições devem ser não vazios; Não existe uma lista explícita de comprimento máximo de bytes ou caracteres permitidos. | A validação de restrições duplicadas/correspondentes é separada | 128 caracteres |
| Propriedades por tipo de nó | Não há um número máximo explícito de propriedades num tipo de nó; nomes duplicados de propriedades são rejeitados. | Apenas validação da correção | 256 |
| Propriedades por tipo de aresta | Não existe um número máximo explícito de propriedades num tipo de aresta; nomes duplicados de propriedades são rejeitados. | Apenas validação da correção | 256 |
| Rótulos por tipo de nó | Não há um número máximo explícito de rótulos num tipo de nó; rótulos duplicados são rejeitados. | Apenas validação da correção | 64 |
| Rótulos por tipo de aresta | Não há um número máximo explícito de rótulos num tipo de aresta; as etiquetas duplicadas são rejeitadas; as etiquetas adicionadas às bordas são rejeitadas. | Apenas validação da correção | 64 |
| Propriedades chave por restrição | Não há um número máximo explícito de propriedades de chave em restrições de chave de nó ou de borda; Os nomes individuais das propriedades não podem estar vazios. | Apenas validação da correção | 16 |
Valores de execução
| Tipo de valor em tempo de execução | Representação / alcance de apoio | Limite explícito de nível de valor? | Recomendado |
|---|---|---|---|
| BOOL | bool; Valores verdadeiro/falso | Sim, domínio fixo | |
| INT64 | inteiro de 64 bits assinado | Sim, largura fixa | |
| UINT64 | Inteiro sem sinal de 64 bits | Sim, largura fixa | |
| DUPLO | C++/protobuf double / Arrow DoubleScalar (IEEE-754 binary64); valores não finitos não são rejeitados por Value::FromProto |
Sem verificação apenas finita | |
| DECIMAL128 | Seta Decimal128Scalar; validação em tempo de execução permite precisão 1..38 e escala 0..precisão; até 38 dígitos decimais |
Sim, para construção verificada/de Proto | |
| STRING |
std::string; ValueProto.string_value |
Sem limite de valor | 4 MB |
| bytes |
std::string usado como contentor de bytes; ValueProto.bytes_value |
Sem limite de valor | Limite da corda |
| VERTEX_ID | uint64 envolvido por VertexId; IDs gerados usam ID local de shards de 48 bits e reservam o 0 como inválido |
O proto bruto aceita qualquer uint64; Os IDs gerados são restritos | |
| EDGE_ID | uint64 envolvido por EdgeId; IDs gerados usam ID local de shards de 48 bits e reservam o 0 como inválido |
O proto bruto aceita qualquer uint64; Os IDs gerados são restritos | |
| ZONED_DATE_TIME |
absl::Time além do fuso horário; serializado como int64 milissegundos desde a época Unix mais int32 UTC offset segundos. O intervalo de milissegundos é [-9.223.372.036.854.775.808, 9.223.372.036.854.775.807], documentado como instantes UTC de -292275055-05-16T16:47:04.192+00:00 até 292278994-08-17T07:12:55.807+00:00. |
Intervalo temporal documentado; O offset é um INT32 e não está registado por alcance Value::FromProto |
|
| DURAÇÃO |
absl::Duration; Serializado como int64 milissegundos. Os min/max serializados são de -9.223.372.036.854.775.808 ms a 9.223.372.036.854.775.807 ms (cerca de +/-292.277.024,6 anos). O analisador ISO é mais rigoroso: +/-9.223.372.035 segundos (cerca de +/-292,277 anos). |
Proto Path aceita o campo inteiro de int64 milissegundos; O analisador tem uma maigra explícita mais estreita | |
| NULL / nulo tipado |
std::monostate ou wrapper typed-null |
||
| Listas datilografadas |
std::vector<std::optional<T>>; LIST_NULL armazena um size_t; LIST_ANY Lojas std::vector<Value> |
Sem limite de valor padrão | |
| Listas aninhadas | Listas aninhadas gerais não são suportadas no contrato proto; O tempo de execução tem um manuseamento especial aninhado LIST_INT64 |
Sem quota padrão de profundidade/comprimento | |
| CAMINHO | IDs uint64 alternados entre vértice/aresta/vértice num vetor; A forma de caminho válida tem contagem ímpar de elementos | Sem quota de comprimento de percurso | |
| REGISTO |
absl::flat_hash_map<std::string, Value> / mapa protobuf |
Sem quota de contagem de campos, comprimento de chave ou profundidade de aninhamento | |
| QUALQUER |
Value::DataType() não se espera que retorne TYPE_ANY; valores dinâmicos são transportados como valores concretos, especialmente dentro LIST_ANY ou Arrow Qualquer armazenamento de extensão |
Sem quota de tamanho/profundidade |
Outros limites
- Os identificadores não podem começar por sublinhar.
- Os literais inteiros são tratados como inteiros com sinal por defeito.
- Não são suportados tipos de devolver QUALQUER PESSOA e Registo. A solução temporária é jsonizá-los através
TO_JSON_STRINGde . - O comprimento máximo da propriedade da cadeia é 65535. Os dados para além de 64 KiB são inacessíveis ao desserializador; o buffer completo continua a ser escrito no RocksDB.
- O número máximo de elementos na
List<T>propriedade é 65535. Uma LISTA INT64 de 70.000 elementos desserializa-se como 4.464 elementos. - O tamanho máximo da resposta da consulta em bytes é de 64 MB.