Arquitetura para 
solução Big Data 
OpenSource 
Felipe Renz 
TDC 2014 – Porto Alegre 
fjrenz@gmail.com 
@feliperenz
CAMADAS DA SOLUÇÃO 
Fonte de Dados 
Ingestão 
Infraestrutura do Hadoop 
Armazenamento do Hadoop 
Plataforma de Gestão do Hadoop 
Segurança 
Visualização 
Monitoramento
CAMADA DE FONTE DE DADOS 
Dados Estruturados : 
Banco de dados Relacionais (MySQL, PostgreSQL)… 
Dados Não-Estruturados: 
Imagens, textos, vídeos, sensores, redes sociais…
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA INGESTÃO 
A camada de Ingestão é extremante importante, ela possui a obrigação de limpar os 
ruídos das informações e entregar os dados para a camada de armazenamento.
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA INFRAESTRUTURA DO HADOOP 
• Recursos de Hardware 
• Suporta a camada de Armazenamento 
• Infraestrutura física robusta, barata e confiável para garantir a 
operação e escalabilidade da arquitetura de dados. 
• Baseado em um modelo de computação distribuída. 
Disponibilização dos Recursos: 
• Serviço de Nuvem Virtualizados 
• Cluster de Maquinas;
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA ARMAZENAMENTO DO HADOOP 
• Tolerância a falhas, 
• Paralelização de algoritmos, 
• Processamento distribuído, 
• Larga escala trabalha com Pb de dados . 
NoSQL. 
• Alta velocidade,
CAMADA ARMAZENAMENTO DO HADOOP 
Hadoop não precisa substituir DW. 
Pode atuar como integrador do DW. 
A partir de diferentes fontes, agregando ao HDFS os dados antes de 
transformar e entregar ao DW.
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA DA PLATAFORMA DE GESTÃO DO HADOOP 
Principais problemas a serem resolvidos: 
Processar gigantescas quantidades de dados de maneira eficiente, 
Custo-benefício apropriado, 
Tempo satisfatório. 
Fornece as ferramentas/ linguagens de consulta para acessar os bancos de dados NoSQL, 
Executa consultas e gerencia as camadas inferiores, por meio das linguagens Pig e Hive.
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA DE SEGURANÇA 
Importante + Preocupante = Privacidade 
• Hábitos de compra de clientes. 
• Dados demográficos de doenças genéticas. 
• Histórico médico de pacientes. 
Performance, Escalabilidade e Funcionalidade 
• Autenticar utilizando protocolos seguros 
como o Kerberos, 
• Permitir a criptografia de arquivos por camadas, 
• Garantir que toda a comunicação entre os servidores distribuídos seja segura,
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA DE VISUALIZAÇÃO 
Grande volume pode levar a sobrecarga de informação, 
Deve ser incorporada numa fase inicial do projeto, 
Trabalha com os dados já consolidados nas camadas anteriores, 
Auxiliar os analistas de dados e cientistas a obter insights, 
Analise tempo real deve utilizar motores e arquitetura orientada a eventos. 
http://gephi.github.io/ 
www.r-project.org
CAMADA DE VISUALIZAÇÃO 
http://matplotlib.org/
ARQUITETURA SOLUÇÃO BIG DATA
CAMADA DE MONITORAMENTO 
Grande número de clusters utilizados na solução de Big Data, 
Garantir que os acordos de nível de serviço estejam sendo atendidos, 
Dever ser capaz de lidar com aglomerado distribuído de servidores, 
Suportar diferentes sistemas operacionais, 
Trabalhar com diferentes tipos de hardware, 
Capaz de se comunicar com os protocolos de alto nível como o XML. 
Além do desempenho e paralelismo deve prover o armazenamento e 
visualização de dados do monitoramento.
ARQUITETURA SOLUÇÃO BIG DATA
ARQUITETURA SOLUÇÃO BIG DATA
YARN – YARN significa "Yet Another Resources Negotiator" Sua responsabilidade é prover a redução da dependência do 
MapReduce e outras ferramentas do Hadoop. Criando uma camada de abstração para adicionar ou retirar componentes, 
exemplo interfaces de programação. 
Sqoop – Tem como responsabilidade fornecer a conectividade para mover dados entre bancos de dados relacionais, bando de 
dados de data warehouses e Hadoop. 
MapReduce – Modelo de programação para sistemas distribuídos, com processamento paralelo, o processamento é divido em 
duas etapas, uma chamada Map, que consiste no mapeamento e validação dos dados e a outra chamada Reduce que recebe os 
dados da fase do Map e para gerar o resultado final. 
HBase – Banco de dados NoSQL orientada a coluna construído sobre o HDFS, o HBase tem como responsabilidade prover um 
acesso rápido para leitura / gravação com grandes volume de dados entre diversas ferramentas. 
Hive- Uma linguagem de alto nível SQL-like usado para executar consultas sobre os dados armazenados no Hadoop, o Hive 
permite que desenvolvedores não familiarizados com a forma de escrever em MapReduce possam escrever consultas de dados 
que são traduzidos em trabalhos de MapReduce no Hadoop. Assim como Pig, Hive foi desenvolvido para ser uma camada de 
abstração, orientada para os analistas de banco de dados familiarizados com as linguagens SQL e Java. 
Pig – Uma abstração sobre a complexidade da programação do MapReduce, a plataforma de desenvolvimento Pig possui 
ambiente de execução e uma linguagem de script (Pig Latin) seu compilador traduz Pig Latin em seqüências de programas 
para o MapReduce. 
Mahout – Biblioteca para aprendizado de máquina e mineração de dados que fornece implementações de MapReduce, para 
algoritmos populares incluindo algoritmos de analise preditiva, testes de regressão, e modelagem estatística do serviço 
distribuída do Hadoop. 
Zookepper – Tem como responsabilidade a coordenação Flume – Tem como finalidade validar, limpar, transformar, reduzir, 
sendo capaz de trabalhar com um grande volume de dados oriundo das mais diversas fontes e move-las para dentro do 
Hadoop da forma mais eficiente possível, além de coordernar outros componentes como, exemplos: o Hbase, Hive, Pig, 
Mahout.

Arquitetura para solução Big Data – open source

  • 1.
    Arquitetura para soluçãoBig Data OpenSource Felipe Renz TDC 2014 – Porto Alegre fjrenz@gmail.com @feliperenz
  • 2.
    CAMADAS DA SOLUÇÃO Fonte de Dados Ingestão Infraestrutura do Hadoop Armazenamento do Hadoop Plataforma de Gestão do Hadoop Segurança Visualização Monitoramento
  • 3.
    CAMADA DE FONTEDE DADOS Dados Estruturados : Banco de dados Relacionais (MySQL, PostgreSQL)… Dados Não-Estruturados: Imagens, textos, vídeos, sensores, redes sociais…
  • 4.
  • 5.
    CAMADA INGESTÃO Acamada de Ingestão é extremante importante, ela possui a obrigação de limpar os ruídos das informações e entregar os dados para a camada de armazenamento.
  • 6.
  • 7.
    CAMADA INFRAESTRUTURA DOHADOOP • Recursos de Hardware • Suporta a camada de Armazenamento • Infraestrutura física robusta, barata e confiável para garantir a operação e escalabilidade da arquitetura de dados. • Baseado em um modelo de computação distribuída. Disponibilização dos Recursos: • Serviço de Nuvem Virtualizados • Cluster de Maquinas;
  • 8.
  • 9.
    CAMADA ARMAZENAMENTO DOHADOOP • Tolerância a falhas, • Paralelização de algoritmos, • Processamento distribuído, • Larga escala trabalha com Pb de dados . NoSQL. • Alta velocidade,
  • 10.
    CAMADA ARMAZENAMENTO DOHADOOP Hadoop não precisa substituir DW. Pode atuar como integrador do DW. A partir de diferentes fontes, agregando ao HDFS os dados antes de transformar e entregar ao DW.
  • 11.
  • 12.
    CAMADA DA PLATAFORMADE GESTÃO DO HADOOP Principais problemas a serem resolvidos: Processar gigantescas quantidades de dados de maneira eficiente, Custo-benefício apropriado, Tempo satisfatório. Fornece as ferramentas/ linguagens de consulta para acessar os bancos de dados NoSQL, Executa consultas e gerencia as camadas inferiores, por meio das linguagens Pig e Hive.
  • 13.
  • 14.
    CAMADA DE SEGURANÇA Importante + Preocupante = Privacidade • Hábitos de compra de clientes. • Dados demográficos de doenças genéticas. • Histórico médico de pacientes. Performance, Escalabilidade e Funcionalidade • Autenticar utilizando protocolos seguros como o Kerberos, • Permitir a criptografia de arquivos por camadas, • Garantir que toda a comunicação entre os servidores distribuídos seja segura,
  • 15.
  • 16.
    CAMADA DE VISUALIZAÇÃO Grande volume pode levar a sobrecarga de informação, Deve ser incorporada numa fase inicial do projeto, Trabalha com os dados já consolidados nas camadas anteriores, Auxiliar os analistas de dados e cientistas a obter insights, Analise tempo real deve utilizar motores e arquitetura orientada a eventos. http://gephi.github.io/ www.r-project.org
  • 17.
    CAMADA DE VISUALIZAÇÃO http://matplotlib.org/
  • 18.
  • 19.
    CAMADA DE MONITORAMENTO Grande número de clusters utilizados na solução de Big Data, Garantir que os acordos de nível de serviço estejam sendo atendidos, Dever ser capaz de lidar com aglomerado distribuído de servidores, Suportar diferentes sistemas operacionais, Trabalhar com diferentes tipos de hardware, Capaz de se comunicar com os protocolos de alto nível como o XML. Além do desempenho e paralelismo deve prover o armazenamento e visualização de dados do monitoramento.
  • 20.
  • 22.
  • 23.
    YARN – YARNsignifica "Yet Another Resources Negotiator" Sua responsabilidade é prover a redução da dependência do MapReduce e outras ferramentas do Hadoop. Criando uma camada de abstração para adicionar ou retirar componentes, exemplo interfaces de programação. Sqoop – Tem como responsabilidade fornecer a conectividade para mover dados entre bancos de dados relacionais, bando de dados de data warehouses e Hadoop. MapReduce – Modelo de programação para sistemas distribuídos, com processamento paralelo, o processamento é divido em duas etapas, uma chamada Map, que consiste no mapeamento e validação dos dados e a outra chamada Reduce que recebe os dados da fase do Map e para gerar o resultado final. HBase – Banco de dados NoSQL orientada a coluna construído sobre o HDFS, o HBase tem como responsabilidade prover um acesso rápido para leitura / gravação com grandes volume de dados entre diversas ferramentas. Hive- Uma linguagem de alto nível SQL-like usado para executar consultas sobre os dados armazenados no Hadoop, o Hive permite que desenvolvedores não familiarizados com a forma de escrever em MapReduce possam escrever consultas de dados que são traduzidos em trabalhos de MapReduce no Hadoop. Assim como Pig, Hive foi desenvolvido para ser uma camada de abstração, orientada para os analistas de banco de dados familiarizados com as linguagens SQL e Java. Pig – Uma abstração sobre a complexidade da programação do MapReduce, a plataforma de desenvolvimento Pig possui ambiente de execução e uma linguagem de script (Pig Latin) seu compilador traduz Pig Latin em seqüências de programas para o MapReduce. Mahout – Biblioteca para aprendizado de máquina e mineração de dados que fornece implementações de MapReduce, para algoritmos populares incluindo algoritmos de analise preditiva, testes de regressão, e modelagem estatística do serviço distribuída do Hadoop. Zookepper – Tem como responsabilidade a coordenação Flume – Tem como finalidade validar, limpar, transformar, reduzir, sendo capaz de trabalhar com um grande volume de dados oriundo das mais diversas fontes e move-las para dentro do Hadoop da forma mais eficiente possível, além de coordernar outros componentes como, exemplos: o Hbase, Hive, Pig, Mahout.