Melhores práticas para a biblioteca de Ingestão do Kusto
Este artigo explica as melhores práticas para a ingestão de dados com a biblioteca de Ingestão do Kusto.
Preferir colocação em fila em vez da ingestão direta
Para cenários de produção, utilize o cliente de ingestão em fila. Para obter mais informações, veja Ingestão em fila e Ingestão direta.
Utilizar uma única instância de cliente de ingestão
As implementações de cliente da Ingestão Kusto são seguras para threads e reutilizáveis. Para cada cluster de destino, utilize uma única instância de um cliente de ingestão direta ou em fila por processo. A execução de várias instâncias pode sobrecarregar o cluster, fazendo com que deixe de responder ou atrase para responder a pedidos válidos.
Limitar o estado da operação de controlo
Para fluxos de dados de grandes volumes, limite a utilização de notificações positivas para pedidos de ingestão. O controlo excessivo pode levar a uma maior latência de ingestão e até mesmo a uma total falta de capacidade de resposta do cluster. Para obter mais informações, veja Estado da operação.
Otimizar para débito
Ao planear o pipeline de ingestão, considere os seguintes fatores, uma vez que podem ter implicações significativas no débito de ingestão.
Fator | Description |
---|---|
Tamanho dos dados | A ingestão é mais eficiente quando feita em grandes segmentos. Recomendamos o envio de dados em lotes de 100 MB para 1 GB (descomprimidos). |
Formato de dados | O CSV é o formato mais rápido de ingestão. Para o mesmo volume de dados, o JSON pode demorar 2x ou 3 vezes mais. Para obter mais informações, veja Formatos de dados suportados para ingestão. |
Largura da tabela | Ingerir apenas dados essenciais. Cada coluna tem de ser codificada e indexada, o que significa que as tabelas mais largas podem ter um débito inferior. Controle os campos que são ingeridos ao fornecer um mapeamento de ingestão. |
Localização dos dados de origem | Evite leituras entre regiões para acelerar a ingestão. |
Carregar no cluster | Quando um cluster tem uma carga de consulta elevada, a ingestão demora mais tempo a ser concluída. |
Nota
O cliente de ingestão em fila divide grandes conjuntos de dados em segmentos e agrega-os, o que é útil quando os dados não podem ser colocados em lotes antes da ingestão.
Otimizar para o custo
A utilização de bibliotecas de cliente Kusto para ingerir dados no cluster continua a ser a opção mais barata e robusta. Exortamos os nossos clientes a reverem os respetivos métodos de ingestão para otimizar o custo e tirar partido dos preços do Armazenamento do Azure que tornarão as transações de blobs significativamente rentáveis.
Para ingestão económica:
- Limite o número de segmentos de dados ingeridos, como ficheiros, blobs e fluxos.
- Ingerir grandes segmentos de até 1 GB de dados não comprimidos.
- Opte por criação de batches.
- Forneça um tamanho de dados exato e não comprimido para evitar transações de armazenamento adicionais.
- Evite definir
FlushImmediately
comotrue
. - Evite enviar pequenas quantidades de dados com
ingest-by
oudrop-by
etiquetas de extensão.
Nota
A utilização excessiva dos dois últimos métodos pode interromper a agregação de dados, levar a transações de armazenamento adicionais e prejudicar a ingestão e o desempenho das consultas.
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários