Não perca o Workshop “Observabilidade Empresarial: Importância e Benefícios do Insight Imediato” Inscreva-se já!

Entendendo as camadas de arquitetura de uma solução de big data

Visão geral

Parte 2 desta série de “Arquitetura e padrões de big data” descreve uma abordagem de dimensões para lidar com a viabilidade de uma solução de big data. Se você já explorou sua situação usando as perguntas e dicas no artigo anterior e decidiu que é hora de criar uma solução de big data (ou atualizar uma solução existente), a próxima etapa é identificar os componentes necessários para definir uma solução para o projeto.

Camadas lógicas de uma solução de big data

Camadas lógicas são uma maneira de organizar componentes. As camadas simplesmente proporcionam uma maneira de organizar componentes que realizam funções específicas. As camadas são meramente lógicas; elas não implicam que as funções que apoiam cada camada são executadas em máquinas separadas ou em processos separados. Uma solução de big data exige geralmente estas camadas lógicas:

  1. Fontes de big data
  2. Camada de tratamento e armazenamento de dados
  3. Camada de análise
  4. Camada de consumo

  5. Fontes de big data: Pense em termos de todos os dados disponíveis para análise, vindos de todos os canais. Peça aos cientistas de dados da sua organização que esclareçam quais dados são necessários para realizar o tipo de análise necessária. Os dados terão formatos e origens diferentes:

    • Formato — Estruturado, semiestruturado ou não estruturado.
    • Velocidade e volume — A velocidade em que os dados chegam e a taxa em que são entregues variam de acordo com a fonte de dados.
    • Ponto de coleta — O ponto em que os dados são coletados, diretamente ou através de provedores de dados, em tempo real ou em modo em lote. Os dados podem vir de uma fonte primária, como condições climáticas, ou de uma fonte secundária, como um canal de clima patrocinado pela mídia.
    • Localização da fonte de dados — As fontes de dados podem estar dentro da empresa ou podem ser externas. Identifique os dados para os quais seu acesso é limitado, pois o acesso aos dados afeta o escopo de dados disponíveis para análise.
  6. Camada de tratamento e armazenamento de dados: Essa camada é responsável por adquirir dados das fontes e, se necessário, convertê-los para um formato adequado à maneira como os dados devem ser analisados. Por exemplo, pode ser necessário converter uma imagem para armazená-la em um armazenamento Hadoop Distributed File System (HDFS) ou um armazém de dados Relational Database Management System (RDBMS) para processamento posterior. Regulamentos de conformidade e políticas de governança ditam o armazenamento apropriado para diferentes tipos de dados.
  7. Camada de análise: A camada de análise lê os dados digeridos pela camada de tratamento e armazenamento de dados. Em alguns casos, a camada de análise acessa os dados diretamente na fonte. É necessário um planejamento cuidadoso para projetar a camada de análise. É necessário tomar decisões em relação a como gerenciar tarefas para:

    • Produzir a analítica desejada
    • Obter insights a partir dos dados
    • Localizar as entidades necessárias
    • Localizar as fontes de dados que fornecem dados para essas entidades
    • Entender quais algoritmos e ferramentas são necessários para realizar a analítica.
  8. Camada de consumo: Essa camada consome a saída fornecida pela camada de análise. Os consumidores podem ser aplicativos de visualização, seres humanos, processos de negócios ou serviços. Pode ser difícil visualizar a saída da camada de análise. Às vezes é útil ver o que os concorrentes em mercados semelhantes estão fazendo.

Cada camada inclui vários tipos de componentes, como ilustrado abaixo.

Componentes por camada lógica e vertical

Tabela de Componentes por camada lógica e vertical

Fontes de big data

Esta camada inclui todas as fontes de dados necessárias para proporcionar o insight necessário para solucionar o problema de negócios. Os dados são estruturados, semiestruturados e não estruturados e vêm de várias fontes:

  • Sistemas corporativos legados — São aplicativos corporativos que geram a analítica e insights necessários para os negócios:

    • Sistemas de gerenciamento de relacionamento com o cliente
    • Operações de faturamento
    • Aplicativos de mainframe
    • Planejamento de recursos corporativos
    • Aplicativos da web

    Aplicativos da web e outras fontes de dados aumentam os dados de propriedade da empresa. Esses aplicativos podem expor os dados usando protocolos e mecanismos personalizados.

  • Sistemas de gerenciamento de dados (DMS) — Os sistemas de gerenciamento de dados armazenam dados legais, processos, políticas e vários outros tipos de documentos:

    • Planilhas Microsoft® Excel®
    • Documentos Microsoft Word

    Esses documentos podem ser convertidos em dados estruturados que podem ser usados para analítica. É possível expor os dados de documento como entidades de domínio, ou a camada de tratamento e armazenamento pode transformá-los em entidades de domínio.

  • Armazenamentos de dados — Armazenamentos de dados incluem armazéns de dados corporativos e bancos de dados operacionais e transacionais. Esses dados são geralmente estruturados e podem ser consumidos diretamente ou transformados facilmente, de acordo com o necessário. Esses dados podem ou não ser armazenados no sistema de arquivos distribuído, dependendo do contexto da situação.
  • Dispositivos inteligentes — Dispositivos inteligentes podem capturar, processar e comunicar informações na maioria dos protocolos e formatos mais usados. Por exemplo, smartphones, medidores e dispositivos de assistência médica. É possível usar esses dispositivos para realizar vários tipos de análise. Na maior parte, os dispositivos inteligentes realizam analítica em tempo real, mas também é possível analisar as informações provenientes desses dispositivos em lote.
  • Provedores de dados agregados — Esses provedores detém a propriedade dos dados ou os adquirem, e depois os expõem em formatos sofisticados, nas frequências necessárias e através de filtros específicos. Volumes enormes de dados chegam, em diversos formatos, produzidos em diferentes velocidades se disponibilizados por vários provedores de dados, sensores e empresas existentes.
  • Outras fontes de dados — Um grande conjunto de dados vem de fontes automatizadas:

    • Informações geográficas:

      • Mapas
      • Detalhes regionais
      • Detalhes de localização
      • Detalhes de mineração
    • Conteúdo gerado por seres humanos:

      • Mídia social
      • Email
      • Blogs
      • Informações online
    • Dados de sensor:

      • Ambiente: clima, umidade, iluminação
      • Eletricidade: corrente, potencial energético, etc.
      • Instrumentos de navegação
      • Radiação ionizante, partículas subatômicas, etc.
      • Proximidade, presença e assim por diante
      • Posição, ângulo, deslocamento, distância, velocidade, aceleração
      • Acústica, vibração sonora, etc.
      • Automotivo, transporte, etc.
      • Térmico, calor, temperatura
      • óptico, luz, formação de imagens, fóton
      • Químico
      • Pressão
      • Fluxo, fluido, velocidade
      • Força, nível de densidade, etc.
      • Outros dados de fornecedores de sensores

Camada de tratamento e armazenamento de dados

Como as características dos dados que chegam podem variar, os componentes na camada de tratamento e armazenamento de dados devem ser capazes de ler os dados em várias frequências, formatos, tamanhos e canais de comunicação:

  • Aquisição de dados — Adquire dados de várias fontes e os envia ao componente de digestão de dados ou armazena em locais específicos. Esse componente precisa ser inteligente o suficiente para decidir se deve armazenar os dados recebidos e onde armazená-los. Deve poder determinar se é necessário tratar os dados antes de armazená-los ou se é possível enviar os dados diretamente para a camada de análise de negócios.
  • Compilação de dados — Responsável por tratar dos dados no formato necessário para atingir o objetivo da análise. Esse componente pode ter lógica transformacional simples ou algoritmos estatísticos completos para converter os dados de origem. O mecanismo de análise determina os formatos específicos de dados que são necessários. O maior desafio é acomodar formatos de dados não estruturados, como imagens, áudio, vídeo e outros formatos binários.
  • Armazenamento de dados distribuídos — Responsável por armazenar os dados das fontes. Frequentemente há várias opções de armazenamento de dados disponíveis nessa camada, como distributed file storage (DFS), nuvem, fontes de dados estruturados, NoSQL, etc.

Camada de análise

É a camada na qual se extrai insight de negócios dos dados:

  • Identificação de entidade de camada de análise — Responsável por identificar e preencher as entidades contextuais. É uma tarefa complexa, que exige processos eficientes de alto desempenho. Para complementar esse componente de identificação de entidade, o componente de compilação de dados deve tratar os dados no formato necessário. Será preciso que entidades contextuais realizem a análise para os mecanismos de análise.
  • Mecanismo de análise — Usa outros componentes (especificamente identificação de entidade, gerenciamento de modelo e algoritmos analíticos) para processar e realizar a análise. O mecanismo de análise pode ter vários fluxos de trabalho, algoritmos e ferramentas que apoiam o processamento paralelo.
  • Gerenciamento de modelo — Responsável por manter vários modelos estatísticos para verificar e validar esses modelos por meio de treinamento contínuo para aumentar sua precisão. Em seguida, o componente de gerenciamento de modelo promove esses modelos, que podem ser usados pelos componentes de identificação de entidade ou mecanismo de análise.

Camada de consumo

Esta camada consome o insight de negócios derivado dos aplicativos de analítica. O resultado da análise é consumido por vários usuários dentro da organização e por entidades externas, como clientes, fornecedores e parceiros. É possível usar esse insight para direcionar ofertas de produtos a clientes. Por exemplo, com o insight de negócios obtido na análise, uma empresa pode usar dados de preferência do cliente e reconhecimento de localização para fazer ofertas personalizadas aos clientes enquanto eles caminham pelas prateleiras ou passam pela loja.

Também é possível, para detectar fraudes, usar o insight para interceptar transações em tempo real e correlacioná-las com a visualização criada usando os dados já armazenados na empresa. É possível notificar a um cliente sobre uma possível fraude durante a transação fraudulenta, para que as medidas cabíveis sejam tomadas imediatamente.

Além disso, é possível acionar processos de negócios com base na análise feita na camada de tratamento de dados. É possível iniciar etapas automatizadas — por exemplo, é possível acionar automaticamente o processo de criar uma nova ordem caso o cliente aceite uma oferta, ou é possível acionar o processo de bloquear o uso de um cartão de crédito caso o cliente tenha informado sobre uma fraude.

O resultado da análise também pode ser consumido por um mecanismo de recomendação, que pode associar os clientes com os produtos de que gostam. O mecanismo de recomendação analisa informações disponíveis e fornece recomendações personalizadas e em tempo real.

A camada de consumo também permite que os usuários internos entendam, localizem e realizem federação de dados dentro e fora da empresa. Para consumidores internos, a capacidade de criar relatórios e painéis para usuários de negócios permite que as partes interessadas tomem decisões comunicadas e criem estratégias apropriadas. Para melhorar a eficácia operacional, é possível gerar alertas de negócios em tempo real a partir dos dados e monitorar os principais indicadores de desempenho operacionais:

  • Interceptor transacional — Este componente intercepta transações em alto volume em tempo real e converte-as em um formato adequado, que a camada de análise possa entender prontamente para realizar análise em tempo real nos dados recebidos. O interceptor de transação deve poder integrar-se com várias fontes e lidar com dados delas, tais como sensores, medidores inteligentes, microfones, câmeras, dispositivos de GPS, caixas eletrônicos e scanners. Vários tipos de adaptadores e APIs podem ser usados para conectar as fontes de dados. Também estão disponíveis vários aceleradores para simplificar o desenvolvimento, como otimização em tempo real e analítica de fluxo, analítica de vídeo, aceleradores para o setor financeiro, seguros, varejo, telecomunicações e transporte público, analítica de mídia social e analítica de sentimento.
  • Processos de gerenciamento de processos de negócios — O insight da camada de análise pode ser consumido por processos de Business Process Execution Language (BPEL), APIs ou outros processos de negócios, para gerar mais valor através da automação das funções para aplicativos de TI, pessoas e processos em todo o fluxo de dados.
  • Monitoramento em tempo real — É possível gerar alertas em tempo real usando os dados provenientes da camada de análise. Os alertas podem ser enviados para clientes interessados e dispositivos como smartphones e tablets. É possível definir os principais indicadores de desempenho e monitorar sua eficácia operacional com o insight de dados gerado a partir dos componentes de analítica. Dados em tempo real podem ser disponibilizados para usuários de negócios de várias fontes na forma de painéis para monitorar o funcionamento do sistema ou para medir a eficácia de uma campanha.
  • Mecanismo de relatório — A capacidade de produzir relatórios semelhantes a relatórios tradicionais de Business Intelligence é essencial. Usuários podem criar relatórios ad hoc, relatórios planejados ou autoconsulta e análise com base no insight proveniente da camada de análise.
  • Mecanismo de recomendação — Com base no resultado da análise da camada de análise, mecanismos de recomendação podem oferecer recomendações personalizadas e relevantes em tempo real para compradores, o que aumenta as taxas de conversão e o valor médio de cada pedido em uma transação de e-commerce. Em tempo real, o mecanismo processa informações disponíveis e responde dinamicamente a cada usuário, com base nas atividades em tempo real do usuário, nas informações sobre os clientes registrados armazenadas em sistemas de CRM e nos perfis sociais para clientes não registrados.
  • Visualização e descoberta — É possível navegar pelos dados em varias fontes dentro e fora da empresa. O conteúdo e o formato dos dados podem variar, e é possível combinar todos os dados (estruturados, semiestruturados e não estruturados) para visualização e fornecê-los aos usuários. Essa capacidade permite que organizações combinem seu conteúdo corporativo tradicional (contido em sistemas de gerenciamento de conteúdo corporativo e armazéns de dados) com novo conteúdo social (tweets e posts em blogs, por exemplo) em uma única interface com o usuário.

Camadas verticais

As camadas verticais lidam com aspectos que afetam todos os componentes das camadas lógicas (fontes de big data, tratamento e armazenamento de dados, análise e consumo):

  • Integração de informações
  • Governança de big data
  • Gerenciamento de sistemas
  • Qualidade de serviço

Integração de informações

Aplicativos de big data adquirem dados de várias origens, fornecedores e fontes, que são armazenados em sistemas como HDFS, NoSQL e MongoDB. Essa camada vertical é usada por vários componentes (aquisição de dados, compilação de dado, gerenciamento de modelo e interceptor de transação, por exemplo) e é responsável por conectar várias fontes de dados. Para integrar informações de fontes de dados com características diferentes (protocolos e conectividade, por exemplo), é necessário conectores e adaptadores de qualidade. Estão disponíveis aceleradores para conectar às fontes mais conhecidas e usadas. Isso inclui adaptadores de mídias sociais e de dados climáticos. Essa camada também pode ser usada por componentes para armazenar informações em armazenamentos de big data e para recuperar informações desses armazenamentos para processamento. A maioria dos armazenamentos de big data possui serviços e APIs para armazenar e recuperar as informações.

Governança de big data

Governança de dados é a definição de diretrizes que ajudam as empresas a tomar as decisões certas sobre os dados. A governança de big data ajuda a lidar com as complexidades, o volume e a variedade de dados dentro da empresa ou oriundos de fontes externas. São necessários diretrizes e processos sólidos para monitorar, estruturar, armazenar e proteger os dados desde o momento em que entram na empresa, são processados, armazenados, analisados e removidos ou arquivados.

Além das considerações normais sobre governança de dados, a governança para big data inclui outros fatores:

  • Gerenciar grandes volumes de dados em diversos formatos.
  • Treinar e gerenciar continuamente os modelos estatísticos necessários para pré-processar dados não estruturados e analítica. Lembre-se que essa etapa é importante ao lidar com dados não estruturados.
  • Definir política e regulamentos de conformidade para retenção e uso de dados externos.
  • Definir as políticas de arquivamento e remoção de dados.
  • Criar a política sobre a maneira como os dados podem ser replicados em vários sistemas.
  • Definir políticas de criptografia de dados.

Camada de qualidade de serviço

Esta camada é responsável por definir qualidade de dados, políticas relacionadas à privacidade e segurança, frequência de dados, tamanho de busca e filtros de dados:

  • Qualidade de dados

    • Identificação integral de todos os elementos de dados necessários
    • Fornecimento dos dados dentro de um período de tempo aceitável
    • Verificação precisa para ver se os dados respeitam as regras de precisão
    • Aderência a uma linguagem comum (elementos de dados atendem aos requisitos expressos em linguagem de negócios simples)
    • Verificação consistente de que os dados de vários sistemas respeitam as regras de consistência
    • Conformidade técnica para cumprir a especificação de dados e as diretrizes de arquitetura de informações
  • Políticas sobre privacidade e segurança

    Políticas são necessárias para proteger dados sensíveis. Dados adquiridos de agências e provedores externos podem incluir informações sensíveis (como o contato de um usuário do Facebook ou informações de precificação de produto). Dados podem vir de diferentes regiões e países e devem ser tratados de acordo com sua origem. É necessário tomar decisões sobre mascaramento de dados e seu armazenamento. Considere as políticas de acesso de dados a seguir:

    • Disponibilidade de dados
    • Grau de gravidade de dados
    • Autenticidade de dados
    • Compartilhamento e publicação de dados
    • Armazenamento e retenção de dados, incluindo perguntas como: é possível armazenar os dados externos? Se sim, por quanto tempo? Que tipo de dados pode ser armazenado?
    • Restrições de fornecedores de dados (políticas, técnicas, regionais)
    • Termos de uso de mídias sociais (consulte Recursos)
  • Frequência de dados

    Com que frequência estão disponíveis os dados novos? É sob demanda, contínuo ou offline?

  • Tamanho da busca

    Este atributo ajuda a definir o tamanho dos dados que é possível buscar e consumir por busca.

  • Filtros

    Filtros padrão removem dados indesejados e ruído e deixam apenas os dados necessários para análise.

Gerenciamento de sistemas

Gerenciamento de sistema é essencial para big data porque envolve muitos sistemas entre clusters e limites da empresa. O monitoramento do funcionamento geral do ecossistema inclui:

  • Gerenciar os logs de sistemas, máquinas virtuais, aplicativos e outros dispositivos
  • Correlacionar os vários logs e ajudar a investigar e monitorar a situação
  • Monitorar alertas e notificações em tempo real
  • Usar um painel em tempo real que mostra vários parâmetros
  • Fazer referência a relatórios e análises detalhados sobre o sistema
  • Definir e cumprir os contratos de nível de serviço
  • Gerenciar armazenamento e capacidade
  • Arquivar e gerenciar recuperação de arquivos
  • Realizar recuperação de sistema, gerenciamento de cluster e gerenciamento de rede
  • Gerenciamento de política

Resumo

Para desenvolvedores, camadas são uma maneira de categorizar funções que devem ser realizadas por uma solução de big data e sugerem uma organização para o código que deve lidar com essas funções. No entanto, para usuários de negócios que querem obter insight de big data, é útil pensar em termos de requisitos e escopo de big data. Padrões atômicos, que lidam com os mecanismos para acessar, processar, armazenar e consumir big data, são uma maneira de usuários de negócios lidarem com requisitos e escopo. No próximo artigo, apresentamos padrões atômicos para essa finalidade.

Aviso

O conteúdo aqui presente foi traduzido da página IBM Developer US. Caso haja qualquer divergência de texto e/ou versões, consulte o conteúdo original.