Big data em real time

Post on 24-May-2015

421 views 5 download

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 of Big data em real time

Big Data em tempo real

Caio Gomes / @caiocgomes

0

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

obrigado!!Caio Gomes

Diretor de Inovação e Big Data

caio.gomes@apontador.com

@caiocgomes