Big data em real time

Preview:

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.

Citation preview

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