NOSQL - Uma real alternativa

1,534 views
1,462 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,534
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

NOSQL - Uma real alternativa

  1. 1. no : sql Not only SQL RENATO MOLINA TOTH Renato Molina Toth www.renatomolina.in
  2. 2. O que é ?
  3. 3. <ul><li>Não é uma nova tecnologia, é uma nova abordagem </li></ul><ul><li>Propõe um modelo alternativo de banco de dados </li></ul><ul><li>Não é um modelo relacional </li></ul><ul><li>Não respeita as propriedades de ACID </li></ul>O que é ?
  4. 4. É um conjunto de propriedades fundamentais que garantem consistência de dados. ACID ?
  5. 5. Atomicidade - Capacidade de uma transação ter todas as suas operações executada ou nenhuma delas. Resumindo “ou vai, ou racha“ A CID – no bom popular
  6. 6. Consistência - Indica que a base de dados está consistente no início da transação e ao seu final, porém durante a transação certas regras podem ser quebradas. Resumindo “antes do pai sair e depois que chegar as coisas têm que estar arrumadas, durante seja lá o que Deus quiser “ A C ID – no bom popular
  7. 7. Isolamento  - Capacidade das operações de uma transação não serem  vistas  pelas outras transações até que esta esteja encerrada. Resumindo  &quot;não mete o bedelho no que estou fazendo “ A C I D – no bom popular
  8. 8. Durabilidade - Indica que depois de uma transação ser executada com sucesso, as alterações efetuadas persistam e não sejam desfeitas. Resumindo &quot;ajoelhou tem que rezar &quot; A CI D – no bom popular
  9. 9. Quebrar as correntes e a ditadura da base de dados relacional , junto com as propriedades ACID ! Proposta!
  10. 10. Cenário real O que realmente é necessário para um sistema funcionar?
  11. 11. Cenário real O que realmente é necessário para um sistema funcionar?
  12. 12. O que um sistema precisa para funcionar ? Teorema de Brewer’s Cenário real
  13. 13. ACID x BASE
  14. 14. BASE Basically Available Soft state Eventual consistency
  15. 15. Usa conceito de BASE Alta perfomance Alta escalabilidade Configurações de particionamento fáceis Abordagem não -relacional
  16. 16. Relacional x não-relacional Aplicação crescendo, parabéns! Mas e agora?
  17. 17. Scale Up Scale out
  18. 18. Scale Up
  19. 19. Problemas – Scale Up Hardware possuem limitações!
  20. 20. Scale out
  21. 21. Problems – Scale out Configuração é complexa!
  22. 22. Filosofia Simple n’ robust ! Se preocupe com sua aplicação! Não precisamos mais do antigo profissional DBA Relacional x não-relacional
  23. 23. <ul><li>Chave/Valor </li></ul><ul><li>Documento </li></ul><ul><li>Tabular </li></ul><ul><li>Grafo </li></ul><ul><li>Outros </li></ul>Tipos de banco de dados não relacionais
  24. 24. <ul><li>Chave/Valor </li></ul><ul><li>Documento </li></ul><ul><li>Tabular </li></ul><ul><li>Grafo </li></ul><ul><li>Outros </li></ul>Tipos de banco de dados não relacionais
  25. 25. Chave / Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave.
  26. 26. Chave / Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave. This is a hash!
  27. 27. Totalmente livre de schemas de banco de dados, deixando a semântica e os tipos de dados a critério do desenvolvedor. Interface para desenvolvimento entretanto simples e patronizadas. Put(chave, valor) Get(chave) Chave / Valor
  28. 28. Redundância e replicação Estudo de caso Chave / Valor
  29. 29. Amazon SimpleDB Chave / Valor - Serviços na cloud
  30. 30. Azure table Storage Redis Riak Genie Chave / Valor - Exemplos
  31. 31. Semelhante ao chave valor, entretanto possui uma estrutura definida por um arquivo de marcação (xml, json, etc) Um dos modelos mais usados no mercado Baseados em Documento
  32. 32. { Type: contact First:Paulo LastName:Souza Email: work: [email_address] home: paulosouza@home.com } Baseados em Documento
  33. 33. CouchBD MongoDB Baseados em Documento
  34. 34. Baseados em Grafo “ Tipicamente, grafos podem ser definidos como uma abstração matemática que podem ser representados através de vértices e arestas, representando caminhos.”
  35. 35. Baseados em Grafo Definem registros em forma de vértices(conteúdo, propriamente dito) e arestas (relacionamento entre os conteúdos) Não necessita de um modelo de armazenamento, como o baseado em documentos.
  36. 36. Baseados em Grafo
  37. 37. Baseados em Grafo Maior complexidade Menor redundância e replicação desnecessária
  38. 38. Complexidade x Armazemento
  39. 39. Mitos sobre o noSQL É realmente escalonável? Não precisamos mais de profissionais com o perfil de DBA? Baixo custo
  40. 40. Desempenho - Benchmarks Dificuldades em encontrar um experimento válido, consiste e com parâmetros válidos. Estudo de caso, Yahoo! Cloud Serving. Levantar dados baseados na latência após receber uma carga de trabalho, através de uma ferramenta feito em java.
  41. 41. Arquitetura da ferramenta
  42. 42. Bancos que foram analisados Sherpa
  43. 43. Desempenho – carga A
  44. 44. Desempenho – carga B
  45. 45. noSQL na prática
  46. 46. Vantagens x desvantagens Procurar a solução ideal para o problema sempre!
  47. 47. Modelo hibrido Todos os sistemas geralmente possuem necessidades cruciais de consistência em algum módulo Pensar em aproveitar de melhor forma as duas abordagens
  48. 48. Conclusão
  49. 49. Questões
  50. 50. Obrigado Renato Molina Toth www.renatomolina.in

×