Como o Azure Data Explorer funciona
O Azure Data Explorer fornece desempenho incomparável para ingerir e consultar dados de telemetria, logs, eventos, rastreamentos e séries temporais. Ele apresenta formatos de armazenamento otimizados, índices e usa estatísticas de dados avançadas para planejamento eficiente de consultas e execução de consultas compiladas just-in-time.
Armazenamento vs. computação
O Azure Data Explorer separa os recursos de armazenamento e computação. Os dados persistentes residem no Armazenamento de Blobs do Azure, enquanto os recursos de computação podem armazenar dados temporários ou atuar como um cache para armazenamento persistente.
Essa separação oferece as seguintes vantagens:
- Expansão independente de recursos de armazenamento e computação.
- Acessibilidade a dados idênticos em vários clusters de computação. Para obter mais informações, consulte Compartilhamento de dados.
- Otimização de SKU. Para obter mais informações, consulte Selecionar um SKU para o cluster.
Armazenamento de dados
O Azure Data Explorer particiona todos os dados ingeridos em extensões, ou fragmentos de dados, que são fatias horizontais da tabela de destino. Uma extensão pode começar tão pequena quanto um único registro. À medida que os dados se acumulam na tabela, o Azure Data Explorer mescla automaticamente as extensões até que elas cresçam para abranger milhões de registros. Cada extensão é codificada e indexada independentemente de outras extensões. Essa funcionalidade contribui para a escala linear na taxa de transferência de ingestão.
As extensões são distribuídas uniformemente entre os nós do cluster, onde são armazenadas em cache no SSD local e na memória. Essa distribuição aumenta a capacidade de preparar e executar consultas altamente distribuídas e paralelas.
Para obter mais informações sobre armazenamento de dados, consulte Visão geral de extensões.
Observação
O Azure Data Explorer também retém metadados essenciais, como esquemas de tabela e objetos de política. Para obter uma lista de políticas, consulte Visão geral das políticas.
Cache de dados
O Azure Data Explorer tem um sistema de cache de dados de várias hierarquias para garantir que os dados mais relevantes sejam armazenados em cache o mais próximo possível da CPU. O sistema de cache depende da imutabilidade das extensões e funciona inteiramente com dados compactados. Para melhorar o desempenho da consulta, os dados permanecem compactados mesmo na RAM e só são descompactados quando necessário para uma consulta.
Para obter mais informações sobre cache, consulte Política de cache.
Índices de texto
O Azure Data Explorer foi projetado para indexar com eficiência colunas de texto livre (cadeia de caracteres) e semelhantes a JSON (dinâmicas) à medida que os dados são ingeridos. Os índices mantêm um nível de granularidade que permite a avaliação de partes da consulta com base no índice sem verificar os dados.
A otimização contínua de extensões em segundo plano por meio da mesclagem melhora a compactação e a indexação, garantindo armazenamento eficiente e baixa latência de consulta. Quando as extensões atingem um determinado tamanho, somente os índices são mesclados para melhorar o desempenho da consulta sem comprometer a eficiência.
Para obter mais informações sobre mesclagem de extensão e índice, consulte Política de mesclagem.
Repositório de linhas
O Azure Data Explorer oferece uma solução de armazenamento intermediária chamada repositório de linhas. O repositório de linhas permite a entrada eficiente de pequenas porções de dados e garante que esses dados estejam imediatamente disponíveis para consulta. Quando você habilita a ingestão de streaming no cluster, os dados são inicialmente ingeridos no repositório de linhas e, em seguida, movidos para extensões de repositório de colunas.
Para obter mais informações, consulte Processamento em lote versus ingestão de streaming.
Compactação de coluna
O Azure Data Explorer mantém os dados em um estado compactado, reduzindo a quantidade de memória necessária para armazenar e processar dados. Esse comportamento resulta em um desempenho de consulta mais rápido e uso mais eficiente dos recursos do sistema.
O Azure Data Explorer evita a compactação vertical, que envolve a classificação de dados para melhorar a compactação, devido ao alto custo da CPU em cenários de texto livre ou dados semiestruturados. Em vez disso, você pode especificar a ordem de classificação de dados preferencial para cenários com padrões de consulta dominantes. Essa compensação prioriza a disponibilidade rápida de dados para consultas.
Para obter mais informações sobre como especificar a ordem de classificação dos dados, consulte Política de ordem de linha.
Consulta de dados distribuídos
O Azure Data Explorer usa a tecnologia de consulta de dados distribuídos destinada à análise ad hoc rápida em grandes conjuntos de dados não estruturados. Os principais recursos dessa tecnologia incluem:
- Os dados temporários gerados por consulta são armazenados na RAM agregada
- As extensões relevantes são marcadas em um plano de consulta, fornecendo isolamento de instantâneo
- Consultas rápidas e eficientes são priorizadas com tempos limite padrão curtos
- Suporte nativo para consultas entre clusters que minimiza a troca de dados entre clusters
- As consultas são compiladas just-in-time em código de máquina altamente eficiente, usando estatísticas de dados de todas as extensões e adaptadas às especificidades da codificação de coluna
Observação
O Azure Data Explorer foi projetado para funcionar com a KQL (Linguagem de Consulta Kusto), criada de forma personalizada para o Azure Data Explorer. Além disso, há suporte para T-SQL .