BT

Apache Drill: Big Data interativo

por Marcelo Costa em 31 Out 2012 |

O Apache Drill é um sistema distribuído para análise interativa de Big Data baseado no Google Dremel (o Dremel está disponível como serviço  Google IaaS BigQuery desde 2006). O objetivo do Drill é processar eficientemente grandes conjuntos de dados, escalar para milhares de servidores e processar petabyes de dados e bilhões de registros em segundos. O projeto foi aceito para incubação na Apache Software Foundation em agosto de 2012, e está sendo reprojetado para o máximo de flexibilidade quanto às linguagens de consultas suportadas.

O Drill não é uma tentativa de substituir as estruturas de processamento em lotes de Big Data existentes, como o Hadoop MapReduce. Também não pretende substituir mecanismos de processamento em stream, como S4 ou Storm. O novo projeto da Apache procura preencher um vazio existente - no processamento em tempo real e interativo de grandes conjuntos de dados.

Arquitetura

O Drill é composto por três principais elementos:

● Uma camada de linguagem de consulta, com um analisador, um planejador de execução e um mecanismo de execução de baixa latência para uso do planejador. É usada uma linguagem de consulta própria, chamada DrQL;

● Um agregador de dados para armazenamento;

● Uma camada de fonte de dados escalável.

Segundo os desenvolvedores, a ideia é que o projeto passe a armazenar seus dados no Hadoop, sendo oferecido suporte ao seu sistema de arquivos, e também no HBase. Além disso, o Drill deve suportar os formatos de dados do Hadoop. A imagem abaixo (retirada do wiki do projeto), descreve o fluxo de dados a ser utilizado pelo Drill, com base na arquitetura do Dremel.

Fluxo de Dados do Apache Drill

De forma semelhante ao Dremel, a implementação do Drill é baseada no processamento de dados agrupados em estrutura de árvore, enquanto que no Dremel a informação é baseada em buffers de protocolo. A equipe do Drill planeja estender seu modelo de dados, adicionando implementações baseadas em esquemas, por exemplo o Apache Avro, além de outros modelos de dados como JSON e BSON.

Contexto e futuro

Um dos objetivos do Drill é complementar o Map-Reduce, adicionando novas funcionalidades de computação em tempo real. Os tipos de cálculos necessários para essa tarefa podem produzir tabelas simples, adequadas ao tipo de análises exploratórias, que são o forte do Drill.

Atualmente, sistemas como o Hadoop compilam suas tarefas utilizando linguagens de alto nível (ex.: HiveQL e Pig Latin) em tarefas MapReduce. Uma vez que o Drill esteja disponível, esses sistemas podem fazer uso do novo projeto como mecanismo de execução básico, de baixa latência, permitindo consultas interativas em bilhões de registros.

Mais sobre o Drill pode ser visto na página do projeto, que possui um wiki - ou no site da MapR, empresa responsável por administrar o projeto.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT