Desde o anúncio da tecnologia Google Dremel, a comunidade Hadoop vem tentando construir funcionalidade similar no Hadoop. O primeiro projeto nessa linha foi o OpenDremel, que atualmente é parte do Apache Drill, e que por sua vez tornou-se um projeto na Apache Incubator no ano passado. Também no ano passado, a Cloudera apresentou o Impala, que atualmente está em beta e é parte da distribuição Hadoop da Cloudera: CDH 4.1.
The new contender in this space is the Stinger Initiative, introduced by Hortonworks last week into Apache's incubation process, being aimed to:
O novo competidor nesse espaço é o Stinger Initative, incluído pela Hortonworks no processo de incubação da Apache. O Stinger tem por objetivo:
Possibilitar que o tempo de resposta do Hive seja adequado para casos de uso com interatividade humana (exemplo: consultas que demoram entre 5 a 30 segundos), como exploração de Big Data, visualização e relatórios parametrizados. Isso sem a necessidade de recorrer a mais uma ferramenta para instalar, manter e aprender a utilizar. Isso pode ser de grande valia para a comunidade de usuários com habilidades e investimentos no Hive.
A Hortonworks pretende alcançar esse objetivo, através das seguintes iniciativas:
- Melhorando a compatibilidade do Hive com SQL, incluindo suporte aos tipos SQL que estão faltando no Hive, e suporte a subconsultas na cláusula "where";
- Otimizando o plano de execução do Hive;
- Suportando o novo formato colunar do Hadoop chamado ORCFile (similar ao Dremel Drill e ao Trevini da Cloudera);
- Introdução do novo framework de execução Tez, baseado no YARN.
O framework Tez (palavra hindi que significa "velocidade") atualmente em processo de votação para incubação na Apache:
[É um] framework altamente customizável, de propósito geral e que simplifica a criação de tarefas de processamento de dados através de cargas de trabalho no Hadoop que sejam tanto de pequena escala (baixa latência) quanto de grande escala (alta vazão). O Tez generaliza o paradigma MapReduce para um framework mais poderoso, ao fornecer a habilidade de executar um DAG (gráfico acíclico dirigido) complexo de tarefas para um único job. Dessa forma, projetos do ecossistema Apache Hadoop, como Apache Hive, Apache Pig e Cascading, podem atender aos requisitos de tempo de resposta para interatividade humana e de altíssima vazão, na escala de petabytes (claramente, o MapReduce foi fundamental para atingir esse objetivo).
As três implementações do Hadoop para consultas em tempo real (Drill, Impala e agora o Stinger) já são open source, ou terão seu código aberto em breve. Poderão, assim, contar com o apoio e feedback da comunidade, para resolver problemas importantes na área de consultas em tempo real com Hadoop.