Bigdata gameverse

61
Big Data e Sistemas de Recomendação 12/09/2013 Joel Pinho Lucas 1 Saturday, September 14, 13

Transcript of Bigdata gameverse

Page 1: Bigdata gameverse

Big Data e Sistemas de Recomendação

12/09/2013

Joel Pinho Lucas

1

Saturday, September 14, 13

Page 2: Bigdata gameverse

Agenda

• Who am I?

• O que é Big Data?

• Introdução ao NoSQL

• Big Data no mercado de trabalho

• Visão geral de MongoDB e Hadoop

• Sistemas de Recomendação

• Gameverse

• Como entrar no mundo e mercado de Big Data?

2

Saturday, September 14, 13

Page 3: Bigdata gameverse

Who am I?

3

Saturday, September 14, 13

Page 4: Bigdata gameverse

Lean Start-up vs. Pesquisa/Ciência?

vs

Scientific Thinking

4

Saturday, September 14, 13

Page 5: Bigdata gameverse

Big Data

• “Termo usado para descrever o crescimento, a disponibilidade e o uso exponencial de informações estruturadas e não estruturadas”. SAS - Business Analytics software

5

Saturday, September 14, 13

Page 6: Bigdata gameverse

Big Data - Aplicações

✓ Medicina

✓ Mercado Financeiro

✓ Detecção de Fraude

✓ Análise de Sentimento

✓ Marketing

✓ Sistemas de Recomendação

6

Saturday, September 14, 13

Page 7: Bigdata gameverse

Big Data - Volume

A quantidade de informação no mundo dobra a cada 20 meses (Breese, et. al. - 2010)

"The New York Times" tem mais conteúdo do que um inglês médio teria acesso em toda sua vida no início do século XVII

O volume de informação no mundo ocuparia o equivalente a 295 trilhões de megabytes (University of Southern California - 2011)

7

Saturday, September 14, 13

Page 8: Bigdata gameverse

Big Data - Variedade

8

Saturday, September 14, 13

Page 9: Bigdata gameverse

Big Data - Velocidade

• Análise de dados:

✓ Processamento em “batch”

✓ Processamento em tempo real

9

Saturday, September 14, 13

Page 10: Bigdata gameverse

Big Data - 3Vs

10

Fonte: http://www.datasciencecentral.com

Saturday, September 14, 13

Page 11: Bigdata gameverse

Big Data - Etapas

11

Coleta

Processamento

Análise / Buscas

Visualização

{

Saturday, September 14, 13

Page 12: Bigdata gameverse

Big Data - Áreas

✓Banco de Dados

✓Text-Mining

✓Infra-Estrutura / DevOps

✓Aprendizado de Máquina (Machine Learning)

✓Estatística

✓Data Analytics

✓Visualização

12

Saturday, September 14, 13

Page 13: Bigdata gameverse

NoSQL• “Termo genérico para uma classe definida de banco de dados

não-relacionais que rompe uma longa história de banco de dados relacionais com propriedades ACID” - (Wikipedia, 2013)

13

? ? ? ?

Saturday, September 14, 13

Page 14: Bigdata gameverse

NoSQL

14

Escalabilidade Vertical vs. Escalabilidade Horizontal

Saturday, September 14, 13

Page 15: Bigdata gameverse

NoSQL

vs.

Quando a Consistencial Eventual é tolerável?

Saturday, September 14, 13

Page 16: Bigdata gameverse

NoSQL - Teorema CAP

• “Estabelece que é impossível para um sistema distribuído garantir simultaneamente disponibilidade, consistência e tolerância a falhas” (Wikipedia, 2013)

16

Saturday, September 14, 13

Page 17: Bigdata gameverse

NoSQL

17

ACID

Atomicidade -Consistência -Isolamento -

Durabilidade -

BASE

- Basicamente Disponível(Basically Available)- Estado Suave- Consistência Eventual

vs.

RDBMS NoSQL

Saturday, September 14, 13

Page 18: Bigdata gameverse

NoSQL

✓Indicado para aplicações com grandes volumes de dados

✓Não possui esquema (schema) rigoroso como RDBMS

✓Não exige a integridade dos dados

✓Não indicado para transações sensíveis

18

Saturday, September 14, 13

Page 19: Bigdata gameverse

Big Data/NoSQL no Mercado

• “80% das informações que a companhia possui estão completamente desestruturadas” (Jeff Jones, IBM - 2011)

• “Computadores ficam mais rápidos e empresas, mais burras” (Jeff Jones, IBM - 2011)

19

Saturday, September 14, 13

Page 20: Bigdata gameverse

Big Data/NoSQL no Mercado

• “A falta de profissionais de TI no Brasil será de 800 mil postos em 2014” (FGV - Fundação Getúlio Vargas)

20

• “Até 2015 serão criados 4.4 milhões de empregos para suportar as iniciativas de Big Data (1.9 milhões nos EUA)” (Gartner, Inc. - 2012)

Saturday, September 14, 13

Page 21: Bigdata gameverse

Big Data/NoSQL no Mercado

21

NoSQL SQL

Saturday, September 14, 13

Page 22: Bigdata gameverse

Big Data/NoSQL no Mercado

22

Saturday, September 14, 13

Page 23: Bigdata gameverse

Big Data/NoSQL no Mercado

23

Saturday, September 14, 13

Page 24: Bigdata gameverse

Big Data/NoSQL no Mercado

24

Saturday, September 14, 13

Page 25: Bigdata gameverse

Big Data/NoSQL no Mercado

25

Saturday, September 14, 13

Page 26: Bigdata gameverse

Sistemas de Recomendação

• Cenário em E-Commerce:

✓A “explosão da informação” resultou em uma enorme quantidade de produtos ao alcance do usuário

✓Dificuldade na escolha para compra de produtos

✓Falta de personalização

✓Email / SPAM

26

Saturday, September 14, 13

Page 27: Bigdata gameverse

Sistemas de Recomendação

• “Combina várias técnicas computacionais para selecionar itens personalizados com base nos interesses dos usuários e conforme o contexto no qual estão inseridos” (Wikipedia)

• Modelo de aprendizagem focado no perfil de usuário (predictive analytics) e não num sumário geral dos dados (BI)

27

“Se tenho 3 milhões de clientes na Web, tenho de ter 3 milhões de lojas on-line” Jeff Bezos, CEO - Amazon.com

Saturday, September 14, 13

Page 28: Bigdata gameverse

Sistemas de Recomendação

✓Métodos baseados em Conteúdo:

✓Filtragem Colaborativa:

‣ Baseada em Usuário

‣ Baseada em Item

28

Saturday, September 14, 13

Page 29: Bigdata gameverse

Sistemas de Recomendação

Figura: Recomendação baseada em Conteúdo (Gmail.com)

29

Saturday, September 14, 13

Page 30: Bigdata gameverse

Sistemas de Recomendação

Figura: Exemplo de Falso Positivo (Gmail.com, 2010)

30

Saturday, September 14, 13

Page 31: Bigdata gameverse

Sistemas de Recomendação

Figura: Recomendação baseada em Item - Filtragem Colaborativa (Amazon.com,)

31

Saturday, September 14, 13

Page 32: Bigdata gameverse

Sistemas de Recomendação

Figura: Recomendação baseada em Usuário - Filtragem Colaborativa (Netflix.com)32

Saturday, September 14, 13

Page 33: Bigdata gameverse

Tecnologias - MongoDB

• Banco de dados Orientado a Documento

• Trabalha com o formato BSON (Binary JSON)

• Schema-free

• Escalabilidade horizontal facilitada

• Linguagem rica para consulta

33

Saturday, September 14, 13

Page 34: Bigdata gameverse

Tecnologias - MongoDB

34

Clientes - Cases

Saturday, September 14, 13

Page 35: Bigdata gameverse

Tecnologias - MongoDB

• Características:

✓Esquema Flexível

✓Escalabilidade Horizontal

✓Suporte nativo a Replicação

✓Consistência Eventual

35

Saturday, September 14, 13

Page 36: Bigdata gameverse

36

Tecnologias - MongoDB

RDBMS MongoDB

Base de Dados Base de Dados

Tabela Coleção

Registro Documento

Atributo Chave-valor

Índice Índice

Join Embedded doc

Chave Estrangeira Referencia

Saturday, September 14, 13

Page 37: Bigdata gameverse

Tecnologias - MongoDB

post- title- content- status- create_time- update_time- author_name

Comment[ ] - content - status - create_time - author_name - email - url

Tags[ ]

userusernamepasswordsaltemailprofile

Relacional NoSQL37

vs.

Saturday, September 14, 13

Page 38: Bigdata gameverse

Tecnologias - MongoDB

• Características:

✓Esquema Flexível

✓Escalabilidade Horizontal

✓Suporte nativo a Replicação

✓Consistência Eventual

38

Saturday, September 14, 13

Page 39: Bigdata gameverse

Tecnologias - MongoDB

39

Sharding (Escalabilidade Horizontal)

1) Definir os servidores: host

2) Disparar o início de cada “shard”: sh.addShard(host)

3) Escolher uma “shard key”

4) Habilitar sharding na collection: sh.shardCollection("pessoas", {nome:1})

✓ Deploy:

Saturday, September 14, 13

Page 40: Bigdata gameverse

Tecnologias - MongoDB

• Características:

✓Esquema ou Esquema Flexível

✓Escalabilidade Horizontal

✓Suporte nativo a Replicação

✓Consistência Eventual

40

Saturday, September 14, 13

Page 41: Bigdata gameverse

Tecnologias - MongoDB

41

Suporte a Alta Disponibilidade - Replicação

1) Iniciar o “replica set”: rs.initiate()

2) Definir os servidores: host

3) Disparar cada réplica: rs.add(host)

✓ Deploy:

Saturday, September 14, 13

Page 42: Bigdata gameverse

• Framework baseado em MapReduce mantido em código aberto pela Apache

• Foi concebido a partir dos papers de MapReduce e GoogleFS (GFS) do Google

• Usado em pesquisa (e produção) no Yahoo, Facebook e Microsoft Bing

• Promove escalabilidade horizontal em “hardware de comodity”

42

Tecnologias - Hadoop

Saturday, September 14, 13

Page 43: Bigdata gameverse

Tecnologias - Hadoop

Fonte: S. Fries, B. Boden - Fast Access to Complex Data Saturday, September 14, 13

Page 44: Bigdata gameverse

Tecnologias - Hadoop

44

Clientes - Cases

Saturday, September 14, 13

Page 45: Bigdata gameverse

Gameverse

45

Saturday, September 14, 13

Page 46: Bigdata gameverse

Gameverse

46

Saturday, September 14, 13

Page 47: Bigdata gameverse

Gameverse - Desafios

• Pontencial para crescimento exponencial de usuários

• Falsos Positivos x Falsos Negativos

• Domínio de games para recomendação

• 128,000 games na AppStore

• Dados fornecidos/captados do iTunes47

Saturday, September 14, 13

Page 48: Bigdata gameverse

Gameverse - Desafios

• Dispersão de dados (sparsity): usuários conseguem avaliar (rating) em média1% dos itens disponíveis

• Escalabilidade

• Ovelha Negra

• Primeiro Rating (early-rater)

48

Saturday, September 14, 13

Page 49: Bigdata gameverse

Gameverse -Implementação

Saturday, September 14, 13

Page 50: Bigdata gameverse

Gameverse -Implementação

50

Saturday, September 14, 13

Page 51: Bigdata gameverse

51

“É complexo definir similaridade, mas…

você sabe quando você a vê.” (Dr. E. Keogh)

Saturday, September 14, 13

Page 52: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Cursos online

✓Blogs

✓“Hands On”

✓Eventos

52

Saturday, September 14, 13

Page 53: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Coursera (http://www.coursera.org):

• Introduction to Data Science

• Recommender Systems

• Machine Learning

✓MongoDB University: https://education.mongodb.com/

✓Amazon EMR Training: http://aws.amazon.com/elasticmapreduce/training/

53

Saturday, September 14, 13

Page 54: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Cursos online

✓Blogs

✓“Hands On”

✓Eventos

54

Saturday, September 14, 13

Page 55: Bigdata gameverse

✓Gigaom: http://gigaom.com/channel/data/

✓Netflix Tech Blog: http://techblog.netflix.com/

✓GroupLens - University of Minnesota, EUA: http://www.grouplens.org/

55

Como entrar no mundo de Big Data?

Saturday, September 14, 13

Page 56: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Cursos online

✓Blogs

✓“Hands On”

✓Eventos

56

Saturday, September 14, 13

Page 57: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Weka Machine Learning: http://www.cs.waikato.ac.nz/ml/weka/

✓Amazon Public datasets: http://aws.amazon.com/publicdatasets/

✓GroupLens Public Data Sets: http://www.grouplens.org/

✓Tableau: http://www.tableausoftware.com

57

Saturday, September 14, 13

Page 58: Bigdata gameverse

58

Como entrar no mundo de Big Data?

Saturday, September 14, 13

Page 59: Bigdata gameverse

Como entrar no mundo de Big Data?

✓Cursos online

✓Blogs

✓“Hands On”

✓Eventos

59

Saturday, September 14, 13

Page 60: Bigdata gameverse

✓KDnuggets: www.kdnuggets.com

✓Meetup.com:

‣ São Paulo Hadoop Users Group

‣ São Paulo MongoDB User Group

60

Como entrar no mundo de Big Data?

Saturday, September 14, 13

Page 61: Bigdata gameverse

Perguntas - Contato

‣ Linkedin: http://br.linkedin.com/in/joelplucas/

‣ Email: [email protected]

‣ Oportunidades na Mobjoy: [email protected]

61

Saturday, September 14, 13