processamento distribuido de grandes blocos de dados
TRANSCRIPT
EMPOWERING
OPERATIONS
EMPOWERING OPERATIONS
Processamentodistribuído de grandesblocos de dados
1
1111439 - Rui Magalhães
PESTI
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
EMPOWERING
OPERATIONSContexto 3
Fonte: http://www.i-scoop.eu/internet-of-things/
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/
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
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.
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
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
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
EMPOWERING
OPERATIONSPesquisa 10
Fonte: http://blog.cloudera.com/blog/2012/07/the-
hadoop-ecosystem-visualized-in-datameer/
EMPOWERING
OPERATIONSMetodologia de Pesquisa 11
Critérios
Preço
Suporte
Tipo
key-value
document oriented
column store
Benchmarking
Casos práticos de implementação
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
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
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
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
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
EMPOWERING
OPERATIONS
EMPOWERING OPERATIONSQuestões? 17