NoSQL	

Onde vivem e	

Como se alimentam?
AlvaroViebrantz
"A DBA walks into a NoSQL bar,
but turns and leaves because he c...
Alvaro Viebrantz
Analista de TI - Sefaz-MT
!
Blog = ?
!
alvarowolfx@gmail.com
!
@alvinhuuu
Afinal o que é NoSQL ?	

Pensamentos iniciais.
NoSQL - OndeVivem e
Como se Alimentam
“Finalmente estou livre (de schema) !!...
Afinal o que é NoSQL ?	

Pensamentos iniciais.
NoSQL - OndeVivem e
Como se Alimentam
“Mas que diabos é isso que está queren...
O que é NoSQL então ?
• Surgiu por conta da nova leva de aplicações que surgiram com
a Web 2.0.
• Modelos de dados diferen...
Trade offs
• NoSQL
• BASE
• Consistencia Eventual
• Modelo flexível ( Schemaless )
• Escalabilidade Horizontal
• Disponibil...
Primeiras Especies Encontradas
NoSQL - OndeVivem e
Como se Alimentam
!
‣ Onde foi encontrado ?
‣ Amazon
‣ Familia
‣ Orientado a Chave-Valor
‣ Aplicações
‣ Session
‣ Carrinho de compras
‣ Cata...
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
http://www.nosql-database.org/
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
BigTable GraphKeyValue Store Document
http://www.nosql-...
RelacionamentosModelos Agregados
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
BigTable GraphKeyValue...
Familia Key-Value Store
• Basicamente armazena qualquer coisa a partir de uma chave.
• Completamente sem Schema (Schemales...
Familia Key-Value Store
• Basicamente armazena qualquer coisa a partir de uma chave.
• Completamente sem Schema (Schemales...
Redis	

Especie rara de Key-Value
• Servidor de Estruturas de Dados
• Listas, Filas, Conjuntos, etc…
• Chaves podem ter te...
Redis	

Especie rara de Key-Value
• Servidor de Estruturas de Dados
• Listas, Filas, Conjuntos, etc…
• Chaves podem ter te...
Não tenha medo de usar
• Empresa brasileira
• Boo-Box
• Empresa de publicidade em mídias sociais
NoSQL - OndeVivem e
Como ...
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou hora...
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou hora...
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou hora...
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou hora...
• Key-Value com um pouco mais de estrutura
• Valor armazenado utiliza formatos como XML, JSON, BSON
• Estrutura de documen...
• Key-Value com um pouco mais de estrutura
• Valor armazenado utiliza formatos como XML, JSON, BSON
• Estrutura de documen...
Familia Document Store
NoSQL - OndeVivem e
Como se Alimentam
Aplicações
• Agregados de dados, Desnormalização e Compatibilidade de
Modelos
NoSQL - OndeVivem e
Como se Alimentam
Produt...
Aplicações
• Agregados de dados, Desnormalização e Compatibilidade de
Modelos
NoSQL - OndeVivem e
Como se Alimentam
Produt...
Case Brasileiro - globo.com
• Utilizando MongoDB ao invés de MySQL em alguns projetos.
• Porque ?
• Performance
• Administ...
Case Brasileiro - globo.com
• Utilizando MongoDB ao invés de MySQL em alguns projetos.
• Porque ?
• Performance
• Administ...
Outras Aplicações
• Logs de vários tipos
• Real-time Analytics
• Log de dados temporais
• Visitas, Crash, Busca, etc
NoSQL...
Outras Aplicações
• Logs de vários tipos
• Real-time Analytics
• Log de dados temporais
• Visitas, Crash, Busca, etc
NoSQL...
Familia Column Store	

Clones do BigTable
• Bilhões de linhas x Milhões de colunas
• Orientado a coluna x Orientado a linh...
Familia Graph Store	

Foco em relacionamentos
• Mas os banco relacionais não são feitos de relacionamentos ?
• Custoso
• I...
Familia Graph Store	

Foco em relacionamentos
• Mas os banco relacionais não são feitos de relacionamentos ?
• Custoso
• I...
Familia Graph Store	

Funcionamento
• Armazenamento de nós e seus arestas.
• Teoria dos Grafos
• Nós e arestas podem possu...
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se Alimentam
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se Alimentam
Paulo
João
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se A...
Familia Graph Store	

Aplicação (continuação)
• Recomendações em geral
• Produtos baseados em compras passadas
NoSQL - Ond...
Alvaro
Familia Graph Store	

Aplicação (continuação)
• Recomendações em geral
• Produtos baseados em compras passadas
NoSQ...
Big Players
NoSQL - OndeVivem e
Como se Alimentam
Analise de Impacto
Logistica
Detecção de Fraude
Gerenciamento de Data Ce...
Ecossistema Poliglota
• Escolher a melhor ferramenta para o trabalho.
• Nenhuma ferramenta deve resolver todos os problema...
Ecossistema Poliglota
• Escolher a melhor ferramenta para o trabalho.
• Nenhuma ferramenta deve resolver todos os problema...
Persistencia Poliglota
• Resolve problemas específicos
• Torna possível novas formas de obtenção de dados e de valor
no que...
NoSQL - OndeVivem e
Como se Alimentam
Perguntas e Respostas
That`s all folks
NoSQL - OndeVivem e
Como se Alimentam
Perguntas e Respostas
Upcoming SlideShare
Loading in...5
×

NoSQL Onde Vivem e Como se Alimentam ? (Evento yoLab s03e01 03/2014)

461

Published on

Apresentação sobre diferentes modelos de dados de bancos NoSQL e como as grande empresas utilizam esses produtos para resolver seus problemas.

Published in: Data & Analytics
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
461
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

NoSQL Onde Vivem e Como se Alimentam ? (Evento yoLab s03e01 03/2014)

  1. 1. NoSQL Onde vivem e Como se alimentam? AlvaroViebrantz "A DBA walks into a NoSQL bar, but turns and leaves because he could't find a Table." Webtonull
  2. 2. Alvaro Viebrantz Analista de TI - Sefaz-MT ! Blog = ? ! alvarowolfx@gmail.com ! @alvinhuuu
  3. 3. Afinal o que é NoSQL ? Pensamentos iniciais. NoSQL - OndeVivem e Como se Alimentam “Finalmente estou livre (de schema) !!!”
 Desenvolvedor que não curte ficar modelando tabelas. “É melhor que qualquer banco relacional !!! ”
 Desenvolvedor utilizando pela primeira vez MongoDB.
  4. 4. Afinal o que é NoSQL ? Pensamentos iniciais. NoSQL - OndeVivem e Como se Alimentam “Mas que diabos é isso que está querendo acabar com meu emprego ?” DBA em sua zona de conforto. “NoSQL resolvem todos os problemas do mundo.” Eu, quando comecei a estudar NoSQL.
  5. 5. O que é NoSQL então ? • Surgiu por conta da nova leva de aplicações que surgiram com a Web 2.0. • Modelos de dados diferenciado. • Grande quantidade de dados. • Distribuição de dados. • Escalabilidade. NoSQL - OndeVivem e Como se Alimentam Not Only SQL
  6. 6. Trade offs • NoSQL • BASE • Consistencia Eventual • Modelo flexível ( Schemaless ) • Escalabilidade Horizontal • Disponibilidade NoSQL - OndeVivem e Como se Alimentam • SQL • ACID = Transações • Consistência Forte • Modelo rigido (Schema) • Escalabilidade Vertical X
  7. 7. Primeiras Especies Encontradas NoSQL - OndeVivem e Como se Alimentam
  8. 8. ! ‣ Onde foi encontrado ? ‣ Amazon ‣ Familia ‣ Orientado a Chave-Valor ‣ Aplicações ‣ Session ‣ Carrinho de compras ‣ Catalogo de Produtos ‣ Descendente ‣ Riak DynamoDB Primeiras Especies Encontradas NoSQL - OndeVivem e Como se Alimentam BigTable ‣ Onde foi encontrado ? ‣ Google ‣ Familia ‣ Orientado a Colunas ‣ Aplicações ‣ Analytics ‣ Email ‣ Maps ‣ Descendente ‣ HBase BigTable
  9. 9. Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam http://www.nosql-database.org/
  10. 10. Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam BigTable GraphKeyValue Store Document http://www.nosql-database.org/
  11. 11. RelacionamentosModelos Agregados Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam BigTable GraphKeyValue Store Document http://www.nosql-database.org/
  12. 12. Familia Key-Value Store • Basicamente armazena qualquer coisa a partir de uma chave. • Completamente sem Schema (Schemaless) • Operações básicas • Get, Set, Delete • Outras operações especificas por implementação NoSQL - OndeVivem e Como se Alimentam
  13. 13. Familia Key-Value Store • Basicamente armazena qualquer coisa a partir de uma chave. • Completamente sem Schema (Schemaless) • Operações básicas • Get, Set, Delete • Outras operações especificas por implementação NoSQL - OndeVivem e Como se Alimentam ValueKey eventos.meta. yolab.s03e01
  14. 14. Redis Especie rara de Key-Value • Servidor de Estruturas de Dados • Listas, Filas, Conjuntos, etc… • Chaves podem ter tempo de expiração. • Chaves podem ser consultadas com wildcard. NoSQL - OndeVivem e Como se Alimentam
  15. 15. Redis Especie rara de Key-Value • Servidor de Estruturas de Dados • Listas, Filas, Conjuntos, etc… • Chaves podem ter tempo de expiração. • Chaves podem ser consultadas com wildcard. NoSQL - OndeVivem e Como se Alimentam Aplicações Empresas Controle de Sessão Instagram Cache StackOverflow, Twitter e Instagram Filas de Processamento Github e Várias libs Contagem de Notificações Tumblr e Instagram
  16. 16. Não tenha medo de usar • Empresa brasileira • Boo-Box • Empresa de publicidade em mídias sociais NoSQL - OndeVivem e Como se Alimentam http://www.slideshare.net/f_mafra/usando-redis-para-otimizar-o- sistema-boobox Aplicações Armazenamento de sessões de usuários Cache de produtos de terceiros Busca em catálogos de produtos de terceiros Validação de visualizações e clicks de produtos
  17. 17. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay
  18. 18. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay
  19. 19. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay pages:{pageURLHash}:{userSession} 1h
  20. 20. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay pages:{pageURLHash}:{userSession} 1h pages:{pageURLHash}:* Quantidade de usuários na ultima hora.
  21. 21. • Key-Value com um pouco mais de estrutura • Valor armazenado utiliza formatos como XML, JSON, BSON • Estrutura de documentos flexíveis. • Consultas por campos dos documentos. • Inserção de documentos e atualização de campos Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  22. 22. • Key-Value com um pouco mais de estrutura • Valor armazenado utiliza formatos como XML, JSON, BSON • Estrutura de documentos flexíveis. • Consultas por campos dos documentos. • Inserção de documentos e atualização de campos Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  23. 23. Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  24. 24. Aplicações • Agregados de dados, Desnormalização e Compatibilidade de Modelos NoSQL - OndeVivem e Como se Alimentam Produto id titulo valor Usuario id nome Endereco id descricao cidade_id usuario_id n1 Pedido id endereco_id usuario_id Item id produto_id pedido_id qtde valor n 1 n 1 n 1 n 1
  25. 25. Aplicações • Agregados de dados, Desnormalização e Compatibilidade de Modelos NoSQL - OndeVivem e Como se Alimentam Produto id titulo valor Usuario id nome Endereco id descricao cidade_id usuario_id n1
  26. 26. Case Brasileiro - globo.com • Utilizando MongoDB ao invés de MySQL em alguns projetos. • Porque ? • Performance • Administração simples e transparente • Principalmente modelo de dados NoSQL - OndeVivem e Como se Alimentam http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/
  27. 27. Case Brasileiro - globo.com • Utilizando MongoDB ao invés de MySQL em alguns projetos. • Porque ? • Performance • Administração simples e transparente • Principalmente modelo de dados NoSQL - OndeVivem e Como se Alimentam Catalogo de videos Receitas (Duh!) http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/ Mural
  28. 28. Outras Aplicações • Logs de vários tipos • Real-time Analytics • Log de dados temporais • Visitas, Crash, Busca, etc NoSQL - OndeVivem e Como se Alimentam
  29. 29. Outras Aplicações • Logs de vários tipos • Real-time Analytics • Log de dados temporais • Visitas, Crash, Busca, etc NoSQL - OndeVivem e Como se Alimentam Real-time Analytics para Apps moveis Logs de buscas Metadados Logs de atividades 
 (Login, pagamentos,etc) Alimentam o sistema de
 detecção de fraudes
  30. 30. Familia Column Store Clones do BigTable • Bilhões de linhas x Milhões de colunas • Orientado a coluna x Orientado a linhas • Dados esparsos • Quantidade massiva de dados NoSQL - OndeVivem e Como se Alimentam Facebook Pai Twitter Contar coisas (Botão de Tweet) Netflix Distribuição por Região e Disponibilidade Facebook Messages Twitter Analytics Netflix Consistencia e Distribuição
  31. 31. Familia Graph Store Foco em relacionamentos • Mas os banco relacionais não são feitos de relacionamentos ? • Custoso • Inserções comprometidas • Buscas Complexas • “Poucos dados” mas muitas ligações NoSQL - OndeVivem e Como se Alimentam
  32. 32. Familia Graph Store Foco em relacionamentos • Mas os banco relacionais não são feitos de relacionamentos ? • Custoso • Inserções comprometidas • Buscas Complexas • “Poucos dados” mas muitas ligações NoSQL - OndeVivem e Como se Alimentam
  33. 33. Familia Graph Store Funcionamento • Armazenamento de nós e seus arestas. • Teoria dos Grafos • Nós e arestas podem possuir atributos NoSQL - OndeVivem e Como se Alimentam Qual o Menor Caminho entre Cuiabá e Brasilia ?
  34. 34. Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam
  35. 35. Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam
  36. 36. Paulo João Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam João e Paulo são amigos ?
  37. 37. Familia Graph Store Aplicação (continuação) • Recomendações em geral • Produtos baseados em compras passadas NoSQL - OndeVivem e Como se Alimentam
  38. 38. Alvaro Familia Graph Store Aplicação (continuação) • Recomendações em geral • Produtos baseados em compras passadas NoSQL - OndeVivem e Como se Alimentam Alvaro gostaria de um produto que seus amigos também compraram ?
  39. 39. Big Players NoSQL - OndeVivem e Como se Alimentam Analise de Impacto Logistica Detecção de Fraude Gerenciamento de Data Center Recomendação de Seguidores FlockDB
  40. 40. Ecossistema Poliglota • Escolher a melhor ferramenta para o trabalho. • Nenhuma ferramenta deve resolver todos os problemas. NoSQL - OndeVivem e Como se Alimentam
  41. 41. Ecossistema Poliglota • Escolher a melhor ferramenta para o trabalho. • Nenhuma ferramenta deve resolver todos os problemas. NoSQL - OndeVivem e Como se Alimentam X SQL NoSQL
  42. 42. Persistencia Poliglota • Resolve problemas específicos • Torna possível novas formas de obtenção de dados e de valor no que o usuário produz. NoSQL - OndeVivem e Como se Alimentam Redis User Session MongoDB Catalogo Produtos RDBMS Financeiro Neo4J Recomen dações Dynamo Carrinho RDBMS Relatórios RDBMS Financeiro Cassandra Log
 Atividades
  43. 43. NoSQL - OndeVivem e Como se Alimentam Perguntas e Respostas
  44. 44. That`s all folks NoSQL - OndeVivem e Como se Alimentam Perguntas e Respostas
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×