big data em real time
DESCRIPTION
Apresentacao para a Campus Party 2014. Nela apresento a técnicas de Big Data em tempo real, junto com os novos sistemas de processamento de stream, como kineses e storm. Também falo sobre os novos algoritmos que devem substituir o map reduce no caso de processamento de streams. ---------------------------- Presentation at 2014 Campus Party São Paulo. This presentation I present some new techniques for real time processing, and how we can construct algorithms fitted for streams of data.TRANSCRIPT
Pesquisa Cientifica (LHC, Genética, Metereologia, Medicina ...)Mercado FinanceiroCultura (livros,revistas, jornais, filmes)IndustriaGoverno
LHC: PB de dados anuaisNYSE: 2‐3 TB por diaFacebook: 500 TB por dia!!!
processamentobaixa do custo de processamentodescoberta de novos métodos de paralelismo
armazenamentobaixa do custo do GB armazenadonovos formatos de bancos de dados
o famigerado mapreduce
como ele funciona?
Mapval listInformation : List[A]val f : A => B
val map : List[B] = {for ( information <- listInformation)yield f(information)}
Reduceval listInformation : List[A]val f : (A,A) => A
// //f(acumulado, novo elemento)//val map : List[B] = {val acumulado = Nilfor ( information <- listInformation)acumulado = f(acumulado,information)}
EMBARASSING PARALLEL
lógica de controle únicaacesso de arquivosrecuperação de falhascontrole de dependencia
separável
paralelizavelthreadsmáquinas
extensivel
despadronizado
"dado a quantidade de veículos, quanto tempo devodeixar o farol?"
acontecimentos nas açõesinfluência das outras açõesnoticias políticas
impossivel pré‐calcular!condições do momento influênciam o momento!
analisar com facilidade dados em tempo real
construir sistema mesmas liberdades mapreduce e hadoop?
1. Como: Desacomplamento2. O atual: Storm/Kinesis3. A ciência: Métodos online
Servidor/Cliente
cliente conhece o servidorservidor conhece o clientea mensagem é enviada especificamente
acomplamento do programadificuldade de escalabilidade
Servidor/Observador
observador se coloca numa lista de 'escuta'servidor ignora a existencia de clientesquando resultado é atingido, servidor envia para todos escritos na listadesacoplamento das partes permite que o número de trabalhadoresmude
Tolerancia a errosControle de carga
1. Como: Desacomplamento2. O atual: Storm/Kinesis3. A ciência: Métodos online
Streams de dados
Batch: banco de dados que permita receber todos esses dadostempo real: forma de envio que aguente um fluxo constante demensagens de diversos tamanhos
agnosticidade de linguagemcontrole de falhascontrole de en trega
1. Como: Desacomplamento2. O atual: Storm/Kinesis3. A ciência: Métodos online
como calcular?
"para minha loja, quero saber qual a taxa de vendade cada produto"
Produto Hora de vendaGame of Thrones 11:24:12PS4 11:26:22Wii U ano passadoLivro de romance X 11:23:12Livro de romance X 11:23:33
de pontos
6 Milhões de arcos5 pontos por minuto
4.5
BILHÕES
tempo real leva a necessidade de novos modelos
online: não há a necessidade de memorizar todos estados anteriores
EMA( ; �) = EMA( ; �)� + (1 + �)x t x t+1 x t
de pontos
6 Milhões de arcos2 por arco
12
milhões