Bigdata na pratica: Resolvendo problemas de performance com hadoop
-
Upload
tdc-globalcode -
Category
Education
-
view
594 -
download
2
Transcript of Bigdata na pratica: Resolvendo problemas de performance com hadoop
Big Data na prtica
Resolvendo problemas de performance com Hadoop
Marco Reishttp://marcoreis.net@masreis
Agenda
Modelo tradicional de desenvolvimento
Desafios e oportunidades do big data
HadoopHDFS
MapReduce
Ecossistema
Arquitetura de solues com Hadoop
Quem
Marco ReisArquitetura de software
Java EE
Sistemas de busca
Big data
A histria
Estamos sempre envolvidos em projetos de sistemasAbordagem tradicional de desenvolvimento
Big data para grandes projetos
Big data para inteligncia artificial
No para mim
O modelo tradicional
Linguagem de alto nvel (Java/.NET/Ruby)
Banco de dados relacionais
PadronizaoPadres de projeto de software
SQL ANSI
Servidor de aplicao
Maturidade (dcadas de evoluo)
Um dia...
O sistema escalaVerso web
Verso mobile
E descobrimos as limitaes
ProcessamentoMais processamento = mais hardware
Input/OutputIO de alta performance caro
Tempo de resposta inaceitvelRelatrios semanais
Custo (Hardware e software)Adquirir mais mquinas?
Chega o big data
Implementao mais conhecida: Hadoop
Complementao do modelo tradicionalNo substituio
Pode ser integrado com outras ferramentasDriver para banco de dados relacional
API Java
RESTful web services
Big data
Um termo novo para um problema antigo
Processamento de grande volume de dados
Alternativa ao modelo tradicionalEscala (terabytes / petabytes / exabytes)
Velocidade (rede social, logs, integrao)
Complexidade (dados estruturados, semi-estruturados e no estruturados)
No existe uma definio formal para Big Data
Quem precisa de Big Data?
A demanda j existe e talvez voc no tenha percebidoProcessamento em lote
Relatrios
ETL
Melhoria de performance
Podemos oferecer novas funcionalidades para o cliente
Ou simplesmente por curiosidade!
Usos avanados
NLP (Natural Language Processing)
Mobilidade urbana
IoT (Internet of Things)50 bilhes de dispositivos (sensores) conectados em 2025
Data as a Service e Big Data as a Service
Fonte: Smart Steps (Telefonica)
Eliminao dos limites
Facilidade para criar contextosOs modelos no precisam estar definidos a priori
Criao de modelos por demanda
Armazene tudo
Depois descubra como extrair valor
Questes ticas e legais
Big data no sobre nmeros.
Big data sobre pessoas!!!Privacidade
Crticas
Comparaes
Hadoop
Software para computao distribuda de alta performanceTolerncia a falhas / Redundncia
Cluster / processamento paralelo
Hardware de baixo custo (processador e disco)Diferente de hardware de baixa qualidade
Implementao mais popular para big data
Linearmente escalvel
Hadoop = HDFS + MapReduce
HDFS: Sistema de arquivos distribudo de alta performance
MapReduce: modelo de programao distribuda
Moving Computation is Cheaper than Moving Data
Hadoop bom para...
Processamento em loteS isso j resolve muitos problemas
Armazenamento
Data warehouse (queries e reports)
Reduo de custos
Usos imediatos do Hadoop
Consolidao / agregao de dados
Armazenamento
Anlise: log / estatstica
ETL
Georreferenciamento
O Hadoop resolve tudo?
Alguns desafios do Hadoop
Processamento de baixa latncia ou busca de registros individuaisUse um banco NoSQL (HBase)
Data warehouseUse o Hive
Processamento com datasets pequenosO custo de implementao alto
Sua aplicao precisa mesmo ser completamente transacional e em tempo real?
Tecnicamente falando
Especializar os servios de dadosSGBDR - servios em tempo real (transacionais)
Hadoop - servios assncronos
Evitar concorrncia entre os serviosAlguns sistemas acessam o SGBDR
Outros acessam o Hadoop
Ecossistema Hadoop
Projetos paralelos e complementares
Para cada problema, uma soluoProblemas especficos demandam ferramentas especficas
Ferramentas
Juntar todas essas peas um exerccio de criatividade
Sqoop
Importao e exportao de dados entre Hadoop e bancos relacionais
Exemplo: scripts rodando com frequncia determinada10 minutos
1 hora
12 horas
HBase
Banco de dados NoSQLBaixa latncia
Orientado a colunaSuporta bilhes de colunas
A modelagem no trivial (multidimensional)Chave, famlia da coluna, qualificador e valor
No substituto do banco relacional
Hive
Data warehouse
Consultas usando padro SQL (HiveQL)
Sumarizao simplificada
Pig
Plataforma para anlise de dados com linguagem de alto nvel
Produz uma sequncia de programas MapReduce
Oozie
Workflow para processamento Hadoop
Indica a ordem em que os jobs devem rodar
Suporta diversas aes:Copiar arquivos para o HDFS
Iniciar os jobs MapReduce
Importar/exportar dados com o Sqoop
Cenrio 1: processamento em lote
Importar os dados (Sqoop/HDFS)
Processar os dados com MapReduce
Exportar o resultado processado (reduzido) para o banco relacional
Consequncia: alvio do servidor de aplicao e banco de dados, sem mudar o cdigo da aplicao
Cenrio 2: alternar fontes de dados
Problema: lentido em um mdulo do sistema
Exportar dados do relacional
Alterar uma parte no transacional da aplicao para acessar os dados do HBase
Vantagem: baixa latncia, a aplicao fica mais rpida
Desvantagem: aumenta complexidade
Cenrio 3: ETL
Importao de dados de vrias fontes (relacional/HDFS/HBase/Hive)
Transformao (enriquecimento) dos dadosMapReduce ou Pig
Carregar os dados no destino
Cenrio 4: data warehouse
til quando consideramos grandes data sets
A latncia aceitvel
Disponvel para usurios especializados
Concluindo
Outras ferramentas fazem a mesma coisa
No existe uma soluo perfeita para os problemasMuitas combinaes diferentes
Podemos integrar o Hadoop com uma aplicao j existente
Marco Reishttp://marcoreis.net@masreis