OData - Práticas recomendadas e solução de problemas
Aproveite o cliente do OData ao máximo com estas dicas de práticas recomendadas e solução de problemas.
Desempenho
O desempenho dos serviços do OData depende dos tipos de dados que você acessa. Por exemplo, ler 1 milhão de pontos de dados leva de 2,5 a 3 minutos (6 mil pontos de dados por segundo). Cada solicitação completa leva em média 120 ms, e o cliente do OData pode adicionar sobrecarga adicional para processamento e manipulação de dados.
Siga estas práticas recomendadas gerais para garantir o melhor e mais confiável desempenho:
- Não use expressões
OR
ou tabelas expansíveis. - Use várias consultas quando possível.
- Use a atualização incremental.
- Divida os conjuntos de dados, se possível.
- Mantenha apenas os dados necessários. Remova colunas e dados desnecessários.
- Salve os dados históricos em um relatório separado, se não precisar dos dados diariamente. Atualize o relatório de dados históricos quando precisar dos dados.
Compor consultas eficazes
Os serviços do OData aceitam várias solicitações simultâneas e as processa em paralelo. Quando possível, o OData também envia várias consultas simultaneamente.
É melhor compor e usar várias consultas em vez de uma única consulta complexa com, por exemplo, expansões ou expressões OR
. Uma única consulta complexa deve ser iterada sequencialmente com a latência de ida e vinda para cada solicitação.
Baixe os dados usando várias consultas e junte as tabelas resultantes no seu cliente do OData para trabalhar com as tabelas como se fossem uma única tabela.
Usar a atualização incremental
A atualização incremental permite grandes conjuntos de dados com os seguintes benefícios:
- Somente os dados que foram alterados precisam ser atualizados.
- Você não precisa manter conexões prolongadas com os sistemas de origem.
- Um número menor de dados para atualizar reduz o consumo geral de memória e outros recursos.
Cada cliente do OData pode ter diferentes funcionalidades de atualização incremental. Para o Microsoft Power BI, consulte Atualização incremental para modelos semânticos no Power BI.
Dividir grandes conjuntos de dados
Se você precisar baixar grandes conjuntos de dados, divida-os e tenha uma consulta separada para ler cada divisão. Alguns clientes do OData, como Microsoft Power BI podem processar várias consultas simultaneamente. Dividir o conjunto de dados pode melhorar significativamente o desempenho.
Por exemplo, se você leu os pontos de dados dos últimos dois anos, tente separar a consulta em duas, com uma para cada ano de dados. E então mescle (concatene) as tabelas no Power BI.
Nomenclatura de propriedade em metadados e CDF RAW
As chaves de propriedade para metadados e área de preparação do CDF (RAW) devem ser identificadores válidos e só podem conter letras, números e traços subscrito. Os serviços do OData reescrevem qualquer outros caracteres como um traço subscrito. Para resultados melhores e mais previsíveis, verifique se os dados ingeridos seguem esta convenção de nomenclatura de chaves de propriedade: ^[a-zA-Z][_a-za-z0-9]\*[a-zA-Z0-9]\$
.
Solução de problemas
Encontre informações úteis para solucionar problemas ao usar o CDF como uma fonte de dados nos clientes do OData.
Consultas demoradas
Um projeto do CDF pode conter centenas de milhões de linhas de dados, e não é possível carregar todas elas no cliente do OData. Se sua consulta demora muito, pode ser que você esteja carregando dados demais.
Consulte Filtrar itens nos modelos de dados e Filtragem de tipos de recursos centrados em ativos para saber sobre as competências de filtragem compatíveis com os serviços do OData.
Não aparecem todos os resultados
Se você recebeu menos resultados do que esperava, talvez esteja usando uma função de filtro que não é compatível com o CDF, como startswith
, na coluna Nome para Série temporal.
Consulte Filtrar itens nos modelos de dados e Filtragem de tipos de recursos centrados em ativos para saber sobre as competências de filtragem compatíveis com os serviços do OData.
Não é possível obter valores mínimos do CDF RAW
Se você estiver usando dados da área de preparação do CDF (CDF RAW) no cliente do OData, talvez tenha problemas para obter pequenos números em notação exponencial.
O CDF RAW não tem um esquema. Mas as bibliotecas do OData em alguns clientes do OData, como o Power BI, tentam selecionar o formato correto dos dados. No momento, o Power BI escolhe o decodificador errado para pequenos números em notação exponencial. Você pode receber um erro semelhante a:
DataSource,Error: OData: Cannot convert the literal '2.89999206870561 to the expected type 'Edm.Decimal',
Para resolver esse problema, faça o CDF RAW ingerir valores como strings, em vez de números. Depois converta as strings em números novamente no Power BI, por exemplo, usando a função M Decimal.From
do Power Query. Você não perderá precisão, e como a maioria dos decodificadores JSON aceita strings para números, os clientes que esperam números ainda conseguirão aproveitar.