96
Desmistificando NoSQL e Novas Tecnologias de Bancos de Dados Fabíola S. F. Pereira Algar Telecom Set 2015

Desmistificando NoSQL e Novas Tecnologias de Bancos de Dados

Embed Size (px)

Citation preview

Desmistificando NoSQL e Novas Tecnologias de

Bancos de Dados

Fabíola  S.  F.  Pereira  Algar  Telecom    

Set  2015  

Problema: “Crawling” Twitter

t  

Problema: “Crawling” Twitter

t  

Problema: “Crawling” Twitter

t  

Problema: “Crawling” Twitter

t  

Problema: “Crawling” Twitter

t  

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

Problema: “Crawling” Twitter

t  

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

230M de usuári os e 700M de arestas

Problema: “Crawling” Twitter

230M de usuári os e 700M de arestas

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

Problema: “Crawling” Twitter

230M de usuári os e 700M de arestas

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

Problema: “Crawling” Twitter

230M de usuári os e 700M de arestas

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

u1,  u2,  12/04,  13/06  u1,  u3,  01/01,  02/01  u4,  u5,  09/11,  25/12  …  

Problema: “Crawling” Twitter

230M de usuári os e 700M de arestas

Como obter o momento em que as arestas aparecem e desaparecem na rede ?

u1,  u2,  12/04,  13/06  u1,  u3,  01/01,  02/01  u4,  u5,  09/11,  25/12  …  

Problema: Futebol

Problema: Futebol

Como processar eventos em tempo rea l ?

Problema: Futebol

Como processar eventos em tempo rea l ?

Dados não são armazenados !

Problema: E-commerce

Como você constru iri a um s i tema e -commerce sem j o ins e sem norma l i zação?

Problema: E-commerce

Como você constru iri a um s i tema e -commerce sem j o ins e sem norma l i zação?

Esca láve l

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQL Exemplos e mais exemplos Referências legais

Ascenção Relacional

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Persistência

Integração SQL

Transações Relatórios

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Bancos orientados a objetos

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Dominância Relacional

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Billing  

Inventário   Catálogo  

Relatórios  

Mecanismo de Integração

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Dominância Relacional

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Grande Tráfego de Dados

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

SQL  SQL  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

NoSQL

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Definição de NoSQL

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Características de NoSQL

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Não-relacional Open-source

cluster-friendly

século XXI - Web

schema-less

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQL Exemplos e mais exemplos Referências legais

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento

Grafo

Key-value

Column- family

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento

schema-less Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    

hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento Key-value

Aggregate-oriented

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Aggregate = documento Aggregate = value

Documento

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Documento Key-value

Aggregate-oriented

Column-family Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    

hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Grafo

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Grafo

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Grafo Column-family

Documento

Key-value

Grafo Column-family

Documento

Key-value

Aggregate

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQL Exemplos e mais exemplos Referências legais

SQL = ACID

NoSQL = BASE

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Grafo ACID

Column-family

Documento

Key-value

Aggregate

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Consistência

Disponibilidade

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Teorema CAP

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Teorema CAP

Consistency

Availability Partition tolerance

Escolha 2

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Availability Consistency

Partition tolerance

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Consistência

Disponibilidade

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Consistência

Tempo de Resposta

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Shopping

Shopping Shopping

Shopping

Shopping Shopping

Shopping Shopping

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQL Exemplos e mais exemplos Referências legais

Definição de NoSQL

Definição de NoSQL

Desenvolvimento fácil

Dados em larga escala

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Billing  

Inventário   Catálogo  

Relatórios  

Mecanismo de Integração

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Billing  

Inventário   Catálogo  

Relatórios  

Bancos de aplicações

WS, ESB, …

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

NoSQL?

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Persistência Poliglota

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

Copied  from:  Introduc<on  to  NoSQL.  Mar<n  Fowler's  talk  from  the  GOTO  Aarhus  Conference  2012.    hOps://www.youtube.com/watch?v=qI_g07C_Q5I  

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQl Exemplos e mais exemplos Referências legais

Problema: “Crawling” Twitter

t  

Como obter o momento em as arestas aparecem e desaparecem na rede ?

230M de usuári os e 700M de arestas

Problema: “Crawling” Twitter

230M de usuári os e 700M de arestas

u1,  u2,  12/04,  13/06  u1,  u3,  01/01,  02/01  u4,  u5,  09/11,  25/12  …  

Como obter o momento em as arestas aparecem e desaparecem na rede ?

Problema: “Crawling” Twitter

u1,  u2,  12/04,  13/06  u1,  u3,  01/01,  02/01  u4,  u5,  09/11,  25/12  …  

Volume de

dados Map Reduce

Problema: Futebol

Como processar eventos em tempo rea l ?

Dados não são armazenados !

Problema: Futebol

Como processar eventos em tempo rea l ?

Dados não são armazenados !

Problema: Recomendação

Como fazer recomendações a part i r do h is tórico do usuári o , de sua rede soc ia l , de suas ava l i ações , … ?

Problema: Recomendação

Como fazer recomendações a part i r do h is tórico do usuári o , de sua rede soc ia l , de suas ava l i ações , … ?

Comp lex idade do re lac ionamento entre os dados

Problema: Recomendação

Como fazer recomendações a part i r do h is tórico do usuári o , de sua rede soc ia l , de suas ava l i ações , … ?

Comp lex idade do re lac ionamento entre os dados

Problema: Recomendação

Problema: E-commerce

Como você constru iri a um s i tema e -commerce sem j o ins e sem norma l i zação?

Esca láve l

Problema: E-commerce

ü  Usar agregação e aninhamento ao invés de jo ins

ü  Duplicar dados ao invés de normalização ü  Consistência eventual

Esca láve l

Problema: E-commerce

Esca láve l

História Modelo de Dados Consistência e NoSQL Usando Bancos NoSQl Exemplos e mais exemplos Referências legais

Desmistificando NoSQL e Novas Tecnologias de

Bancos de Dados

Fabíola  S.  F.  Pereira  Algar  Telecom    

Set  2015