NoSQL Onde Vivem e Como se Alimentam ?

931 views

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
931
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
23
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

NoSQL Onde Vivem e Como se Alimentam ?

  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

×