Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A aceleração de consulta permite que aplicativos e estruturas de análise otimizem drasticamente o processamento de dados recuperando apenas os dados necessários para executar uma determinada operação. Isso reduz o tempo e o poder de processamento necessários para obter insights críticos sobre os dados armazenados.
Visão geral
A aceleração de consulta aceita predicados de filtragem e projeções de coluna, que permitem que os aplicativos filtrem linhas e colunas no momento em que os dados são lidos do disco. Somente os dados que atendem às condições de um predicado são transferidos pela rede para o aplicativo. Isso reduz a latência de rede e o custo de computação.
Você pode usar o SQL para especificar os predicados de filtro de linha e projeções de coluna em uma solicitação de aceleração de consulta. Uma solicitação processa apenas um arquivo. Portanto, não há suporte para recursos relacionais avançados do SQL, como junções e grupo por agregações. A aceleração de consulta dá suporte a dados formatados em CSV e JSON como entrada para cada solicitação.
O recurso de aceleração de consulta não se limita ao Data Lake Storage (contas de armazenamento que têm o namespace hierárquico habilitado). A aceleração de consulta é compatível com os blobs em contas de armazenamento que não têm um namespace hierárquico habilitado neles. Isso significa que você pode obter a mesma redução na latência de rede e nos custos de computação ao processar dados que você já armazenou como blobs em contas de armazenamento.
Para obter um exemplo de como usar a aceleração de consulta em um aplicativo cliente, consulte Filtrar dados usando a aceleração de consulta do Azure Data Lake Storage.
Fluxo de dados
O diagrama a seguir ilustra como um aplicativo típico usa a aceleração de consulta para processar dados.
O aplicativo cliente solicita dados de arquivo especificando predicados e projeções de coluna.
A aceleração de consulta analisa a consulta SQL especificada e distribui o trabalho para analisar e filtrar dados.
Os processadores leem os dados do disco, analisam os dados usando o formato apropriado e filtram os dados aplicando os predicados e projeções de coluna especificados.
A aceleração de consulta combina os fragmentos de resposta para transmitir o fluxo de volta para o aplicativo cliente.
O aplicativo cliente recebe e analisa a resposta transmitida. O aplicativo não precisa filtrar outros dados e pode aplicar o cálculo ou a transformação desejado diretamente.
Melhor desempenho a um custo menor
A aceleração de consulta otimiza o desempenho reduzindo a quantidade de dados transferidos e processados pelo aplicativo.
Para calcular um valor agregado, os aplicativos geralmente recuperam todos os dados de um arquivo e processam e filtram os dados localmente. Uma análise dos padrões de entrada/saída para cargas de trabalho de análise revela que os aplicativos normalmente exigem apenas 20% dos dados lidos para executar qualquer cálculo determinado. Essa estatística é verdadeira mesmo após a aplicação de técnicas como remoção de partição. Isso significa que 80% desses dados são transferidos desnecessariamente pela rede, analisados e filtrados por aplicativos. Esse padrão, projetado para remover dados desnecessários, incorre em um custo de computação significativo.
Embora o Azure tenha uma rede líder do setor, em termos de taxa de transferência e latência, transferir dados desnecessariamente por essa rede ainda é caro para o desempenho do aplicativo. Ao filtrar os dados indesejados durante a solicitação de armazenamento, a aceleração de consulta elimina esse custo.
Além disso, a carga de CPU necessária para analisar e filtrar dados desnecessários requer que seu aplicativo provisione um número maior e VMs maiores para realizar seu trabalho. Ao transferir essa carga de computação para aceleração de consulta, os aplicativos podem realizar uma economia significativa de custos.
Aplicativos que podem se beneficiar da aceleração de consulta
A aceleração de consulta foi projetada para estruturas de análise distribuída e aplicativos de processamento de dados.
Estruturas de análise distribuída, como Apache Spark e Apache Hive, incluem uma camada de abstração de armazenamento dentro da estrutura. Esses mecanismos também incluem otimizadores de consulta que podem incorporar conhecimento dos recursos do serviço de E/S subjacente ao determinar um plano de consulta ideal para consultas de usuário. Essas estruturas estão começando a integrar a aceleração de consulta. Como resultado, os usuários dessas estruturas veem uma latência de consulta aprimorada e um menor custo total de propriedade sem precisar fazer nenhuma alteração nas consultas.
A aceleração de consulta também foi projetada para aplicativos de processamento de dados. Esses tipos de aplicativos normalmente executam transformações de dados em larga escala que podem não levar diretamente a insights analíticos, por isso, nem sempre utilizam frameworks de análise distribuída comumente usados. Esses aplicativos geralmente têm uma relação mais direta com o serviço de armazenamento subjacente para que possam se beneficiar diretamente de recursos como aceleração de consulta.
Para obter um exemplo de como um aplicativo pode integrar a aceleração de consulta, consulte Filtrar dados usando a aceleração de consulta do Azure Data Lake Storage.
Preços
Devido ao aumento da carga de computação no serviço Azure Data Lake Storage, o modelo de preços para usar a aceleração de consulta difere do modelo de transação normal do Azure Data Lake Storage. A aceleração de consulta cobra pela quantidade de dados analisados, bem como pela quantidade de dados retornados ao solicitante. Para obter mais informações, consulte os preços do Azure Data Lake Storage.
Apesar da alteração no modelo de cobrança, o modelo de preços da aceleração de consulta foi projetado para reduzir o custo total de propriedade de uma carga de trabalho, considerando a redução dos custos de VM muito mais caros.