Selecionando o mecanismo SQL do Data Warehouse correto: Apache Hive LLAP vs Apache Impala

Não há dois super-heróis melhores que um?

alguns dos resultados mais poderosos vêm da combinação de super-poderes complementares, e a “dupla dinâmica” do Apache Hive LLAP e Apache Impala, ambos incluídos no Cloudera Data Warehouse, é mais uma prova disso. Tanto a Impala como a Colmeia podem operar a uma escala sem precedentes e massiva, com muitos petabytes de dados. Ambos são 100% Open Source, portanto você pode evitar o bloqueio do fornecedor enquanto utiliza suas ferramentas favoritas de BI e se beneficiar da inovação orientada pela comunidade.

Bambos Impala e Hive LLAP soam como se funcionassem bem para os meus casos de uso do data warehouse, então por que eu realmente preciso decidir entre os dois? A resposta é simples, cada um tem as suas especialidades únicas e, dependendo do tipo de análise que queira fazer, poderá descobrir que uma é mais adequada do que a outra. No entanto, há um segredo que estou guardando até o final do blog, que torna a decisão ainda mais fácil para o usuário: tão fácil, de fato, que você nem precisa decidir por si mesmo.

Antes de entrar nas diferenças entre estes motores SQL, é importante notar que tanto a Impala como a Hive LLAP partilham os mesmos dados e metadados (através da Hive Metastore) pelo que não só se pode mudar de um para o outro se mudar de ideias, como também se pode executar diferentes cargas de trabalho utilizando diferentes escolhas de motores nos mesmos dados, ao mesmo tempo. Uma verdadeira situação de “melhor dos dois mundos”.

Então, porquê escolher? Bem, geralmente falando, Impala funciona melhor quando você está interagindo com uma data mart, que é tipicamente um grande conjunto de dados com um esquema que é limitado no escopo. Entretanto, o Hive LLAP é uma escolha melhor para lidar com casos de uso em todo o escopo mais amplo de um data warehouse empresarial. Estes casos de utilização envolvem frequentemente vários departamentos e uma variedade de aplicações a jusante, o que resulta numa gama mais ampla de padrões de consulta. Vemos também que a Impala é uma boa escolha para consultas interativas e ad-hoc, especialmente se você tem centenas ou milhares de usuários trabalhando por conta própria.

Você também pode misturar e combinar, usando Impala para algumas consultas e algumas tabelas, e Hive LLAP para outras consultas e outras tabelas.

Impala foi projetado para velocidade.

Escrito em C++, que é muito eficiente em termos de CPU, com um planejamento de consultas muito rápido e cache de metadados, o Impala é otimizado para consultas de baixa latência. Por causa disso, o Impala é um motor ideal para uso com um data mart, uma vez que as pessoas que trabalham com data marts estão, na maioria das vezes, executando consultas somente leitura e não escritas em grande escala.

Impala também tem um framework de execução em tempo de execução muito eficiente, usando geração de código, comunicação processo a processo, paralelismo massivo e cache de metadados. Por causa disso, o Impala também é ótimo quando se trabalha com consultas ad-hoc, como quando se explora por meio de pesquisas iterativas em dados. Você vai querer mudar sua consulta repetidamente, a qualquer momento, e ter tempos de resposta muito rápidos para que você não fique esperando para sempre por cada iteração.

A colmeia LLAP foi projetada para sofisticação.

A colmeia LLAP tem muitos recursos sofisticados que podem tornar um pouco mais difícil para os desenvolvedores começarem e usarem efetivamente. Na Colmeia LLAP, por vezes, uma consulta demora mais tempo a percorrer o planeamento e a rampa de execução. No entanto, a Colmeia foi concebida para ser muito tolerante a falhas. Se um fragmento de uma consulta de longa duração falhar, a Colmeia volta a atribuí-la e tenta novamente. A colmeia coloca em cache os ficheiros de dados, bem como os resultados da consulta, com algoritmos sofisticados, o que significa que os dados solicitados com maior frequência ficam em cache com LLAP. O LLAP da colmeia suporta a federação de consultas, permitindo que as consultas sejam executadas através de múltiplos componentes e bases de dados. Portanto, a Hive LLAP compensa qualquer “arranque lento” em casos de utilização EDW, pois é muito mais robusta e tem um melhor desempenho, a longo prazo.

Por causa desta sofisticação e flexibilidade, a Hive LLAP é mais adequada para os casos de utilização de data warehouse empresarial, ou EDW. Com um EDW, você está suportando relatórios e dashboards de Business Intelligence, data marts dependentes, outras aplicações empresariais, sistemas externos e muito mais. Estas cargas de trabalho estão frequentemente a ter em conta múltiplas dimensões e, como resultado, os EDWs têm frequentemente de processar requisitos SQL mais complexos do que os data marts, com uma maior necessidade de tipos de dados complexos, mais consultas programadas e orquestração de consultas para povoar data marts ou gerar extractos de dados regulares.

A capacidade da colmeia para lidar de forma mais robusta com consultas mais longas e complexas, em conjuntos de dados em grande escala, torna-a frequentemente a melhor escolha para estes tipos de aplicações. Em consultas ad-hoc de ação rápida, os tempos de inicialização da colméia LLAP podem diminuir em comparação com a Impala, mas com consultas mais longas, este custo de inicialização é uma parte relativamente inconseqüente do tempo total de execução. A Colmeia LLAP torna-se uma melhor escolha para a EDW também devido à sua tolerância a falhas (quem quer que uma consulta falhe se estiver à espera do resultado durante muito tempo?) e um melhor desempenho em consultas mais complexas.

Utilizar Impala e Colmeia LLAP

Impala Colmeia LLAP
Data mart Enterprise data warehouse
  • Bom escolha para interactivo e ad-análise hoc, especialmente com auto-serviço de alta concorrência
  • Bom escolha para consultas de longa duração que exijam transformações pesadas ou múltiplas uniões
  • Bom escolha para interativo e…análise hoc usando características não disponíveis na Impala
  • Bom escolha para ferramentas de Business Intelligence que permitem aos utilizadores mudar rapidamente as consultas
  • Bom escolha para Dashboards que são prédefinido e não personalizável pelo visualizador
  • Uses Parquet como o formato de arquivo preferido
  • Uses ORC como o formato de arquivo preferido
  • Faz melhor com o JSON do que o Impala faz

As massivas séries de dados combinam com o crescimento dos casos de uso, escolher o Data Warehouse SQL Engine correto para obter resultados em tempo hábil faz toda a diferença.

Junte-se a nós para Corrida para Resultados! Data Warehouse – Impala vs. Hive LLAP, um debate animado entre especialistas, no dia 20 de outubro de 2020, 10:00h, horário do Pacífico Americano, 13:00h, horário do Leste Americano, completo com exemplos de casos de uso do cliente, e seguido de um ao vivo q&a.

David Dichmann
David Dichmann

Director Product Marketing

Deixe uma resposta

O seu endereço de email não será publicado.