17
EMPOWERING OPERATIONS Processamento distribuído de grandes blocos de dados 1 1111439 - Rui Magalhães PESTI

Processamento distribuido de grandes blocos de dados

Embed Size (px)

Citation preview

Page 1: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONS

EMPOWERING OPERATIONS

Processamentodistribuído de grandesblocos de dados

1

1111439 - Rui Magalhães

PESTI

Page 2: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONS2Agenda

1 Contexto

2 Caso de estudo

3 Problema

4 Solução

5 Pesquisa

6 Metodologia de Pesquisa

7 Tecnologias e Ferramentas

8 Trabalho Realizado

9 Resultados

10 Trabalho Futuro

Page 3: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSContexto 3

Fonte: http://www.i-scoop.eu/internet-of-things/

Page 4: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSContexto 4

■ Dados

▪ Imagens

▪ Texto

▪ Registos de sensores

■ Informação

▪ Propósito

▪ Significado

▪ Forma

■ Conhecimento

▪ Prever comportamentos

▪ Detetar padrões

▪ Gerar novos factos

Processo de Mineração de dadosFonte: http://blogs.splunk.com/2011/06/09/splunk-bdnt/

Page 5: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSContexto 5

Armazenamento e análise de dados (Business Inteligence)

Análise em tempo real

■ Escutar por alterações em valores especificos

■ Auscultar operações e agir em conformidade

Análise de dados históricos

■ Recolha indiscriminada de toda a informação para mais tarde consultar

▪ Data Silos

Page 6: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSCaso de estudo 6

Critical Manufacturing

Analise em tempo real

■ Centenas de medições efetuadas na montagem de um chip

■ Capacidade de ingestão

■ Detetar antecipadamente um chip defeituoso

■ Poupar tempo e recursos

Analise de histórico

■ Dados de sensores recolhidos por dispositivos médicos têm de ser armazenados durante 10 anos

■ Encontrar um padrão, isolar lotes de fabrico e prevenir falhas catastróficas.

Page 7: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSProblema 7

Modelo Relacional

Tecnologia de 1970

Projetada para dados estruturados em forma tabelar

Fiável

Modelo de consistência rigida permite fazer bem mas não rápido

Problemas de Big Data

A recolha de dados sem capacidade para a sua análise é inútil (Data Swamp)

Muitas organizações deparam-se actualmente com este problema

Page 8: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSSolução 8

Tecnologias NoSQL

Altamente escaláveis (scale-out)

De natureza distribuída

Trabalha com dados não estruturados

Permite relaxar a consistência em favor de um aumento de desempenho

Constrangimentos dos sistemas distribuídos

Teorema CAP

ACID vs BASE

■ Consistência eventual

Page 9: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSSolução 9

Pretende-se implementar uma base de dados NoSQL capaz de suportar:

Sistema de base de dados distribuído, escalável horizontalmente de forma económica, e tolerante a

falhas

Importação automática de dados de um sistema de base de dados relacional para um cluster NoSQL

Linguagem familiar para consulta, em tempo útil, de grandes volumes de dados

Visualização de dados armazenados num sistema NoSQL a partir de ferramentas externas

Sistema de instalação automática e de fácil configuração com componente de monitorização

Page 10: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSPesquisa 10

Fonte: http://blog.cloudera.com/blog/2012/07/the-

hadoop-ecosystem-visualized-in-datameer/

Page 11: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSMetodologia de Pesquisa 11

Critérios

Preço

Suporte

Tipo

key-value

document oriented

column store

Benchmarking

Casos práticos de implementação

Page 12: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSTecnologias e Ferramentas 12

Hadoop Ecosystem

Framework Hadoop

■ MapReduce 2.0 (YARN)

■ HDFS

Hive

■ CBO

■ DAG

■ Tez

HBASE

Spark

Sqoop

Squirel SQL client

Distribuições

■ HortonWorks(HDP)

■ Cloudera(CDH)

CassandraDB

MongoDB

SQL2Mongo

Page 13: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSTrabalho Realizado 13

Instalação e configuração

Cluster Hadoop com Hive

HDP

■ Ambari, Tez

CDH

■ Hue, Impala, Spark, Hbase

Cluster CassandraDB

Cluster MongoDB

Page 14: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSTrabalho Realizado 14

Testes e optimizações

Avaliação do tipo de importação (Append/Update)

Importação de dois DataSets com sqoop e sql2mongo

Estudo da eficiência dos algoritmos de compressão

■ Monitorização de cargas de Disco, RAM, CPU e rede

Avaliação dos comandos SQL básicos suportados

Avaliação dos tempos de resposta de queries

■ MapReduce, Tez, DAG, Hot containers, CBO, Vectorização, ORC, Spark, ReplicaSets

Page 15: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSResultados 15

Sistema de base de dados distribuído, escalável horizontalmente de forma económica, e tolerante a falhas

Hadoop, YARN, HDFS

Importação automática de dados de um sistema de base de dados relacional para um cluster NoSQL

Sqoop

Linguagem familiar para consulta, em tempo útil, de grandes volumes de dados

Hive, TEZ, CBO, DAG

Visualização de dados armazenados num sistema NoSQL a partir de ferramentas externas

SQuirelL

Sistema de instalação automática e de fácil configuração com componente de monitorização

Hortonworks, Ambari, Cloudera, Hue

Page 16: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONSTrabalho Futuro 16

Testar Apache Drill e Apache Phoenix

Testar solução num cluster de maior dimensão

Considerar soluções na nuvem

Automatizar importação de Sqoop

Page 17: Processamento distribuido de grandes blocos de dados

EMPOWERING

OPERATIONS

EMPOWERING OPERATIONSQuestões? 17