As empresas consideram o suporte à mobilidade e o aumento da produtividade para profissionais trabalhando remotamente como prioridade máxima em uma nova categoria de aplicação, de acordo com uma pesquisa recente realizada pela consultoria norte-americana CIMI Corp. Isso significa que a maioria das empresas que adotaram ou estão adotando o Hadoop provavelmente terão que integrar o framework a aplicativos móveis.

O processo de integração do Hadoop e aplicativos móveis pode ser dividido em 3 segmentos:

  • Reconhecer as limitações inerentes ao Hadoop no uso mobile
  • Criar frameworks realistas de aplicação Hadoop
  • Suporte e resolução de problemas (troubleshooting) do Hadoop em aplicativos móveis


O Hadoop é uma implementação aberta do modelo MapReduce, desenvolvido para lidar com grandes bases de dados distribuídas. Como tem sido associado à nuvem e à implementação de nuvem, a maioria das pessoas ignora o fato de que contempla atributos que não se alinham com as necessidades da empresa em geral, e a aplicações móveis em particular.


Algumas dessas características incluem:

– O valor do Hadoop é ótimo para bancos de dados que são de 10 a 1.000 vezes maiores do que os bancos de dados típicos usados por aplicativos móveis. Para muitos outros, no entanto, o Hadoop pode ser um exagero

– O Hadoop inclui configuração significativa e sobrecarga de processamento. Uma tarefa no Hadoop pode levar vários minutos, mesmo se a quantidade de dados correlacionados for modesta

– O Hadoop não é particularmente bom no suporte a estruturas de dados que possuem um contexto multi-dimensional. Por exemplo, um registro que define o valor de variáveis para uma determinada geografia, e em seguida faz o link verticalmente para definir o valor ao longo do tempo requer uma representação mais complexa de relações de dados do que o simples chave-valor usado no Hadoop

– O Hadoop não ajuda muito para problemas que precisem ser vistos de forma iterativa – como várias etapas sequenciais dependentes.

Como os pontos acima mencionados indicam, aplicativos móveis geralmente não devem ser concebidos como uma nova aplicação Hadoop. Adaptar o Hadoop para atender às necessidades de aplicativos móveis implica explorar os aplicativos Hadoop existentes através de conexões móveis.

Usando aplicativos Hadoop existentes


A maneira mais óbvia de se adaptar dados Hadoop a aplicativos móveis é criar um banco de dados front-end que é derivado do Hadoop, mas é apresentado de forma tradicional. Pense em aplicativos móveis no Hadoop como um Hadoop sendo executado de forma programada, que em seguida cria outro banco de dados – com um deles usando um sistema de gerenciamento de banco de dados relacional, por exemplo – que um aplicativo móvel pode consultar. Este modelo normalmente não requer alterações à forma como o Hadoop é usado porque a maioria dos usos atuais do framework estão em modo batch (de lote). O resultado é uma base de dados menor e uma organização de informações adequada aos requisitos de tempo de resposta do celular.

Smartphone communication conceptFazer o Hadoop funcionar para aplicativos móveis é uma tarefa para arquitetos de software e banco de dados aliados a um profissional da área de negócios. Não apenas os dados no Hadoop precisam ser pré-digeridos para se ajustar em um formato mais responsivo – talvez usando agregação, chaves múltiplas etc. – mas fontes de dados fora de aplicações Hadoop também devem ser examinadas para verificar se outras informações devem ser adicionadas para melhorar a usabilidade mobile. Isso envolve um trabalho de bastidores, a partir necessidades dos usuários móveis para as capacidades do Hadoop e conteúdo da informação. Os arquitetos devem preencher as lacunas com outras fontes para obter uma representação eficiente e completa das necessidades dos usuários de dispositivos móveis.

Aqueles que usam o Hadoop para aplicações em tempo real e desejam disponibilizar os dados para uma ampla gama de usuários, provavelmente sabe que sem alguma sobreposição Hadoop, é difícil torná-lo parte integrante de qualquer operação de TI. A fim de maximizar a quantidade de informação a partir do Hadoop, os usuários que contemplam o uso do framework para aplicativos móveis devem reestruturar o uso do Hadoop como um projeto Hive

Hive é um projeto Apache que automatiza o processo de conversão de queries a partir de fontes SQL tradicionais em algo com que o Hadoop possa trabalhar. O sistema de data warehouse cria índices adicionais e fornece ferramentas para acesso em tempo real ao Hadoop. O Hive não é um substituto completo para uma hierarquia de banco de dados eficaz construída para inserir resumos ou abstrações em tempo real entre o Hadoop e os usuários. Pense no Hive como uma ferramenta para estruturação de um repositório centrado no Hadoop ou no warehouse, mas não uma solução completa para problemas envolvendo dispositivos móveis em tempo real.

Concentre-se nos pontos fortes dos aplicativos Hadoop


Outra sugestão para conectar o Hadoop a aplicativos móveis é pensar em engenharia reversa como parte integrante do projeto. Comece perguntando: “No que o Hadoop é excepcionalmente bom?” A resposta é que o Hadoop é excepcionalmente bom em tarefas agendadas que são executadas diariamente, e destinam-se a dados não estruturados ou semi-estruturados, cuja informação pode ser representada como uma série de bancos de dados tradicionais que são efetivamente abstrações dos dados brutos.

Para usuários que realmente precisam do Hadoop, essa combinação de forças já deve ter sido a base para o projeto. Onde Hadoop não é a fundação, é recomendável rever a estrutura do projeto e fazer acomodações, mesmo sem a necessidade de suportar aplicativos móveis.

Há casos em que as recomendações acima mencionadas não irão funcionar. O poder do Hadoop reside na sua capacidade de executar uma série de tarefas difíceis em tipos específicos de dados em determinados níveis de volume e distribuição. Quando quaisquer desses atributos não estão presentes, o Hadoop pode não ajudar muito, dado o esforço necessário para implementá-lo e sustentá-lo.

Outro ponto de vista em nível corporativo sobre este tema pode ser acessado no link da CIOReview (em inglês). 

Fonte: TechTarget