Entendendo o InfoSphere BigInsights

Uma introdução para arquitetos de software e líderes técnicos

Talvez você já tenha ouvido falar sobre o InfoSphere® BigInsights, a plataforma de software da IBM® para armazenamento e análise de “big data”, e pode estar se perguntando qual o motivo de tanto alarde. Este artigo fornece uma introdução ao BigInsights e explica a função do produto, sua utilização e possível complementação a outros softwares.

Cynthia Saracco, Senior Solutions Architect, IBM China

Cynthia Saracco photoCynthia M. Saracco é arquiteta de soluções senior no Laboratório da IBM no Vale do Silício e especialista em tecnologias emergentes e gerenciamento de informações. Ela tem 25 anos de experiência no segmento de mercado de software, escreveu três livros e mais de 70 documentos técnicos e detém sete patentes.


nível de autor Profissional do
        developerWorks

24/Out/2011

Visão geral da arquitetura

O InfoSphere BigInsights 1.2 é uma plataforma de software projetada para ajudar as empresas a descobrirem e analisarem insights de negócios ocultos em grandes volumes de dados dos mais diferentes—dados frequentemente ignorados ou descartados por serem pouco práticos ou difíceis de processar usando meios tradicionais. Entre os exemplos desses dados estão registros de log, fluxos de cliques, dados de mídia social, feeds de notícias, saída de sensor eletrônico e até mesmo alguns dados transacionais. Para ajudar as empresas a gerarem valor a partir desses dados de uma maneira eficiente, o BigInsights incorpora vários projetos de software livre (incluindo o Apache™ Hadoop™) e várias tecnologias desenvolvidas pela IBM.

Figura 1 ilustra a plataforma para big data da IBM, que inclui software para processamento de dados de fluxo e de dados persistentes. O BigInsights suporta o último e o InfoSphere Streams o primeiro. Os dois podem ser implementados ao mesmo tempo para oferecer suporte a análises em tempo real e em lote de várias formas de dados brutos. Também podem ser implementados individualmente para atender aos objetivos específicos de aplicativo. O restante deste artigo se concentra no BigInsights. Para obter mais informações sobre o InfoSphere Streams, consulte a seção Recursos .

Figura 1. Plataforma e visão da IBM para big data
Plataforma e visão da IBM para big data

A IBM desenvolveu o BigInsights para ajudar as empresas a processarem e analisarem o crescente volume, diversidade e velocidade de dados de interesse de muitas corporações.Considere que os analistas de segmento de mercado esperam um rápido aumento da quantidade de dados digitais nos próximos anos. Certamente, a empresa International Data Corporation prevê até 2020 um crescimento de até 44 vezes o volume comparado com os níveis de 2009, e a maioria dos dados estará em formatos não estruturados ou semiestruturados. Como resultado, muitos profissionais de TI antecipam novos desafios no processamento de dados. Frequentemente, eles usam o termo "Big Data" (ou "big data") para se referir a esse problema.

No entanto, muitas empresas reconhecem que a análise de grandes volumes de dados brutos pode revelar padrões e insights importantes a suas organizações. As áreas de aplicação podem envolver muitos domínios, incluindo retenção do cliente, atendimento ao cliente, inteligência de mercado, planejamento e operações de negócio, pesquisa científica, segurança e outras áreas. Essas aplicações podem exigir a análise do aplicativo, do sistema ou de dados de log do sensor, sentimento do consumidor ou público expresso por meio de diversos locais eletrônicos, dados com muito texto, incluindo documentos, e-mails e mensagens, além de outras fontes de dados variadas. Infelizmente, o esforço envolvido na coleta, processo, análise e gerenciamento desses dados pode parecer assustador.

Para simplificar a exploração de grandes volumes de dados diversos, o BigInsights fornece tecnologias integradas de análise e explora clusters de hardware sem compartilhamento. Ele distribui de forma clara os dados armazenados em arquivos por discos anexados a vários nós em um cluster, direcionando subtarefas de aplicativos para processadores próximos aos subconjuntos de destino de seus dados. Essa abordagem minimiza o tráfego de rede e melhora o desempenho de tempo de execução. Para tolerância a falhas, o BigInsights replica automaticamente cada parte de seus dados em vários discos, com base em parâmetros especificados por um administrador. Essa replicação permite que o BigInsights se recupere automaticamente de uma falha de disco ou de nó redirecionando o trabalho para outro lugar.

O BigInsights não substitui um sistema de gerenciamento de banco de dados (DBMS) relacional ou um armazém de dados tradicional. Ele não é otimizado para consultas interativas em estruturas de dados tabulares e aplicações de processamento analítico on-line (OLAP) ou processamento de transações on-line (OLTP). Ao invés disso, é uma plataforma que pode aumentar sua infraestrutura de análise existente, permitindo que você filtre grandes volumes de dados brutos e combine os resultados com dados estruturados armazenados em seu DBMS ou armazém, se quiser. Os possíveis cenários de integração serão discutidos posteriormente.

Edições Basic e Enterprise

Você deve estar se perguntando sobre as tecnologias que compõem a plataforma BigInsights. Diversas tecnologias IBM e de software livre fazem parte do BigInsights, que está disponível em duas edições: Basic e Enterprise. Como mostra a Figura 2, ambas as edições incluem o Apache Hadoop e outro software de código aberto, que serão explicados com mais detalhes posteriormente.

Figura 2. InfoSphere BigInsights 1.2 edições Basic e Enterprise
InfoSphere BigInsights 1.2 edições Basic e Enterprise

A Basic Edition está disponível para download gratuito e pode gerenciar até 10 terabyte de dados. Por isso, é adequada para projetos piloto e trabalho de exploração. A Enterprise Edition possui uma taxa e não apresenta restrições de licença com relação à quantidade de dados que podem ser gerenciados. Ela inclui todos os recursos da Basic Edition e oferece recursos adicionais de análise, administração e integração de software. Dessa forma, a Enterprise Edition é adequada para aplicativos de produção.

Tecnologias de software livre

Talvez você já esteja familiarizado com determinados projetos de software livre, portanto explore-os primeiro. Os projetos de software livre incluídos no BigInsights 1.2 edições Basic e Enterprise são:

  • Apache Hadoop (incluindo o Hadoop Distributed File System (HDFS), estrutura MapReduce e utilitários comuns), uma estrutura de software para aplicativos com uso intenso de dados que explora ambientes distribuídos de computação
  • Pig, uma linguagem de programação de alto nível e ambiente de tempo de execução para Hadoop
  • Jaql, uma linguagem de consulta de alto nível com base em JavaScript Object Notation (JSON), que também suporta SQL.
  • Hive, uma infraestrutura de armazenamento de dados projetada para suportar consultas em lote e análise de arquivos gerenciados pelo Hadoop
  • HBase, um ambiente de armazenamento de dados orientado por colunas projetado para suportar tabelas grandes e preenchidas de modo esparso no Hadoop
  • Flume, um recurso para coleta e carregamento de dados no Hadoop
  • Lucene, tecnologia de pesquisa e indexação de texto
  • Avro, tecnologia de serialização de dados
  • ZooKeeper, um serviço de coordenação para aplicativos distribuídos
  • Oozie, tecnologia de orquestração de fluxo de trabalho/trabalho

Esses projetos estão bem documentados em sites acessíveis ao público. Consulte a seção Recursos para obter links para materiais de introdução sobre o Hadoop e projetos relacionados.

Tecnologias IBM

Além dos softwares livres, o BigInsights inclui diversas tecnologias desenvolvidas pela IBM para ajudá-lo a obter o máximo de produtividade rapidamente. Entre os exemplos estão um mecanismo de análise de texto e uma ferramenta de desenvolvimento de suporte, uma ferramenta de exploração de dados para analistas de negócios, integração de software corporativo e diversos aprimoramentos de plataforma para simplificar a administração e ajudar a melhorar o desempenho do tempo de execução. Veja com mais detalhes.

Análise com base em texto e conjunto de ferramentas

Como já foi mencionado, o BigInsights foi projetado para ajudar as empresas a analisar uma grande variedade de dados, incluindo dados pouco ou muito estruturados. Vários tipos de dados de texto se enquadram nessa categoria. Certamente, documentos financeiros, jurídicos, de marketing, e-mails, blogs, relatórios de notícias, press release e sites de mídia social contêm dados baseados em texto que precisam ser processados e avaliados por empresas.

Por esse motivo, o BigInsights Enterprise Edition inclui um mecanismo de processamento de texto e biblioteca de anotações que permitem que os desenvolvedores consultem e identifiquem os itens de interesse em documentos e mensagens. Entre os exemplos de entidades de negócio que o BigInsights pode extrair de dados baseados em texto estão pessoas, endereços de e-mail, endereços, números de telefone, URLs, joint ventures, alianças e outros.

Além disso, os programadores podem usar o plug-in baseado em Eclipse para desenvolver suas próprias bibliotecas de funções de análise de texto para o BigInsights. Como mostra a Figura 3, o plug-in inclui um desenvolvedor de expressões, uma tecnologia de descoberta de padrão, um ambiente de teste e um explorador de resultados para promover uma criação ágil de protótipos e refinamento de funções complexas de análise de texto personalizadas para requisitos de aplicativos específicos.

Figura 3. O BigInsights inclui um plug-in do Eclipse para criação de novas funções de análise de texto (ou anotadores)
O BigInsights inclui um plug-in do Eclipse para criação de novas funções de análise de texto (ou anotadores)

Nessa figura, a caixa central exibe a sintaxe para a criação de um anotador "SSN" para identificar os números de seguridade social dos EUA. A definição do anotador pede três números de dígito único, um hífen, dois números de dígito único, um hífen e quatro números de dígito único. Embora esse exemplo seja extremamente simples, ele ilustra o conceito básico de como definir um anotador. Evidentemente, os programadores podem usar essa ferramenta para desenvolver anotadores complexos e de qualidade de produção, incluindo aqueles baseados em anotadores criados anteriormente.

Consultando a figura novamente, você verá que o painel à esquerda indica que três exemplos de documento foram importados no projeto para teste. O painel inferior ilustra o resultado de uma execução de teste usando esses documentos como dados. Os resultados mostram as entidades "SSN" identificadas pelo anotador, o contexto no qual cada SSN apareceu no documento (ou seja, o texto imediatamente à esquerda e à direita do número identificado de seguridade social) e o nome do documento de origem. Após a conclusão do anotador (ou de um conjunto de anotadores), um desenvolvedor pode exportar o código resultante na forma de um Annotation Operator Graph (AOG) para ser usado por aplicativos do BigInsights.

Descoberta e exploração de dados no formato de planilhas

Para ajudar os analistas de negócios e as pessoas que não são programadores a trabalhar com "big data", o BigInsights Enterprise Edition fornece uma ferramenta de análise de dados no formato de planilhas. Iniciado por meio de um navegador da Web, o BigSheets permite que os analistas de negócios criem coleções de dados para exploração. Para criar uma coleção, um analista especifica as fontes de dados desejadas, o que pode incluir os sistemas de arquivos distribuídos do BigInsights, um sistema de arquivo local ou a saída de um rastreador da Web. O BigSheets fornece suporte integrado para formatos de dados populares, como dados JSON, valores separados por vírgula (CSV), valore separados por guias (TSV), dados delimitados por caracteres, além de outros. Os programadores podem criar plug-ins para processar formatos de dados adicionais e executar funções customizadas se desejarem.

Quando um analista executa a definição da coleção, o BigSheets gera trabalhos de MapReduce em segundo plano para recuperar e processar os dados necessários. Os analistas também podem revisar e manipular os dados da coleção usando funções e macros integradas. Esse trabalho é feito por meio de uma interface tradicional no formato de planilha, como mostra a Figura 4 , que retrata uma fórmula simples definida pelo usuário para preenchimento de uma nova coluna com valores derivados de outras colunas na coleção.

Figura 4. O BigInsights Enterprise inclui uma ferramenta de análise com base em planilha
O BigInsights Enterprise inclui uma ferramenta de análise com base em planilha

Por fim, os analistas podem usar recursos gráficos no BigSheets para visualizar parte ou todo o conteúdo de suas coleções, se desejado. Além disso, eles podem exportar os dados da coleção em um dos diversos formatos populares e usá-los em outros aplicativos. HTML, CSV e JSON são alguns dos formatos de exportação suportados.

Ferramentas de instalação e administração integradas

Para ajudar as empresas a começarem rapidamente, as edições Basic e Enterprise do BigInsights fornecem uma ferramenta baseada na Web que instala e configura todos os softwares suportados da IBM ou não, selecionados por um administrador. Os detalhes sobre o andamento de uma instalação do BigInsights são informados em tempo real, e um mecanismo de "verificação de funcionamento" interno verifica e informa automaticamente sobre o sucesso da instalação.

Por sua vez, as pessoas que trabalham com ofertas individuais de software livre precisariam fazer o download, configurar e testar de forma iterativa cada projeto de software que desejassem usar. Além disso, seria necessário conhecer qualquer pré-requisito de software e incompatibilidades que possam existir entre os projetos desejados.

Após a instalação do BigInsights, os administradores de empresa podem, a qualquer momento, trabalhar com um console de gerenciamento baseado na Web para inspecionar o status de seus ambientes do BigInsights. Por meio desse console, eles podem iniciar e interromper nós, investigar o status de trabalhos do MapReduce, revisar registros de log, avaliar a integridade geral do sistema, iniciar e parar componentes opcionais, navegar no sistema de arquivos distribuído e muito mais. Figura 5 ilustra uma parte do painel principal do console da Web.

Figura 5. Uma parte do console da Web do BigInsights Enterprise
Uma parte do console da Web do BigInsights Enterprise

Integração de software corporativo

Muitas organizações estão preocupadas com a introdução de outra plataforma de gerenciamento de informações em sua infraestrutura de TI existente. Normalmente, os arquitetos de TI se preocupam com a integração de informações gerenciadas por um novo sistema com outros dados importantes que já existem em suas empresas.

Para solucionar essa questão, o BigInsights Enterprise Edition fornece aos desenvolvedores de Jaql uma conectividade JDBC com Netezza e DB2, de modo que eles possam transferir dados dessas fontes de uma maneira que explore os recursos nativos de processamento paralelo dessas plataformas. Um suporte como esse é útil para desenvolvedores do BigInsights que desejam unir dados de referência armazenados em um DBMS relacional com dados gerenciados pelo BigInsights. Para acessar outras fontes de dados relacionais, o BigInsights fornece um conector JDBC genérico.

Além disso, as edições Basic e Enterprise do BigInsights fornecem amostras de funções definidas pelo usuário (UDFs) do DB2 que permitem aos programadores de DB2 iniciar consultas de Jaql no BigInsights, juntar o resultado com dados do DB2 e apresentar os resultados aos usuários e aplicativos do DB2. Essas UDFs podem ser registradas com um servidor DB2 9.7 para as plataformas Linux, Unix e Windows.

Figura 6 ilustra os DBMS e a conectividade de armazém de dados fornecida pelo BigInsights 1.2.

Figura 6. DBMS e conectividade de armazém de dados para BigInsights 1.2
DBMS e conectividade de armazém de dados para BigInsights 1.2

Aprimoramento de plataforma e recursos de desempenho

Embora o BigInsights use tecnologias de software livre que oferecem um ótimo desempenho no tempo de execução e altos níveis de escalabilidade, a Enterprise Edition também emprega softwares específicos da IBM para aprimorar ainda mais a administração e o desempenho.

Por exemplo, o BigInsights oferece um mecanismo de planejamento de trabalho opcional para ajuste de alocação de recursos entre trabalhos de longa e curta execução. Os administradores podem usar uma configuração de propriedade para alocar o máximo de recursos para pequenas tarefas para ajudar a acelerar a conclusão. Essa opção de agendamento de trabalho está disponível além das abordagens primeiro a entrar, primeiro a sair (FIFO) e agendamento "justo" do Hadoop.

Além disso, o BigInsights fornece segurança aprimorada suportando a autenticação LDAP para seu console da Web. O suporte para LDAP e proxy reverso ajuda os administradores a restringirem o acesso aos usuários com a autorização apropriada.

Entre os aprimoramentos de desempenho estão o processamento eficiente de dados compactados com base em texto por meio da tecnologia de compactação baseada em IBM LZO. O BigInsights também inclui técnicas adaptativas de tempo de execução para trabalhos de Jaql que podem ajudar a aprimorar o desempenho de tempo de execução de aplicativos de destino. Quando a tecnologia adaptativa MapReduce da IBM é ativada (por meio de uma configuração de propriedade ou de uma opção de Jaql), as tarefas de mapa se comunicam por meio do ZooKeeper para entender o estado global do trabalho. Quando isso faz sentido, as tarefas de mapa podem assumir dinamicamente trabalhos adicionais, o que pode aprimorar o desempenho de tempo de execução de todo o trabalho.

Como o BigInsights se adapta a uma arquitetura de dados corporativos

Trabalhar com big data está se tornando uma parte integral da estratégia de dados corporativos em muitas empresas. Certamente, diversas organizações querem implementar uma plataforma de software como o BigInsights de modo que possam gerenciar big data desde o momento que ele entra na empresa. Depois de armazenar os dados brutos no BigInsights, as empresas podem manipular, analisar e resumir os dados para obter novos insights, além de alimentar os sistemas de recebimento de dados. Dessa maneira, os dados (brutos) originais e as formas modificadas podem ser acessados para outros processamentos.

Uma possível abordagem de implementação envolve o uso do BigInsights como uma fonte para um armazém de dados. O BigInsights pode filtrar grandes volumes de dados sem estruturação ou com estruturação parcial, capturando as informações relevantes que podem aumentar os dados corporativos existentes em um armazém. Figura 7 ilustra um cenário como esse, que oferece às empresas a capacidade de ampliar sua cobertura analítica sem criar um fardo para seus sistemas atuais. No armazém, as ferramentas de produção de consultas/relatórios e de inteligência de negócios podem trabalhar com as partes extraídas, agregadas e transformadas de dados brutos armazenadas no BigInsights.

Figura 7. Usando o BigInsights para filtrar e resumir big data para o armazém
Usando o BigInsights para filtrar e resumir big data para o armazém

Outra possível abordagem de implementação envolve o uso do BigInsights como um archive de leitura para um armazém de dados. Com essa abordagem, ilustrada na Figura 8, os dados acessados frequentemente podem ser mantidos no armazém, enquanto as informações “frias” ou desatualizadas podem ser transferidos para o BigInsights. Isso permite que as empresas administrem o tamanho de suas plataformas de gerenciamento de dados existentes enquanto atendem às necessidades bem estabelecidas de seus aplicativos atuais. A transferência de dados raramente consultados para o BigInsights permite que os dados permaneçam acessíveis a aplicativos que possam precisar deles ocasionalmente ou de forma imprevisível.

Figura 8. BigInsights servindo como um archive para consulta para um armazém de dados
BigInsights servindo como um archive para consulta para um armazém de dados

Resumo

Para a IBM, é importante ajudar as empresas a gerenciar, analisar e se beneficiar do big data. Neste artigo, você conheceu o InfoSphere BigInsights, a plataforma de software da IBM para armazenamento e análise desses dados. Com base em tecnologias de software livre e desenvolvidas pela IBM, o BigInsights está disponível em duas edições: uma gratuita, Basic Edition, adequada para projetos de exploração, e a Enterprise Edition, adequada para aplicativos de produção.

O big data ainda está no início, mas já é uma boa ideia começar a aproveitá-lo em um contexto que faça sentido para seus negócios. Os analistas e os primeiros usuários geralmente concordam que a capitalização sobre o big data é uma importante iniciativa de gerenciamento de informações. Se você estiver pronto para começar, consulte a seção Recursos para obter links para materiais de treinamento e softwares gratuitos.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=767081
ArticleTitle=Entendendo o InfoSphere BigInsights
publish-date=10242011