NoSQL

1,505 views
1,364 views

Published on

Apresentação realizada no WCF 2012 - Faccamp

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • NoSQL

    1. 1. NoSQLA apresentação já vai começar....
    2. 2. NoSQLUma “nova” visão sobre a persistência de dados Eder Ignatowicz
    3. 3. Eder Ignatowicz... /ederig @ederign
    4. 4. NoSQL@ederign http://jogano10.com
    5. 5. NoSQL Abaixo ao Banco de Dados Relacional@ederign http://jogano10.com
    6. 6. NoSQL Abaixo ao Banco de Dados Relacional como bala de PRATA!@ederign http://jogano10.com
    7. 7. Falando sério....@ederign http://jogano10.com
    8. 8. No SQL Not Only SQL@ederign http://jogano10.com
    9. 9. No SQL Not Only SQL@ederign http://jogano10.com
    10. 10. No SQL Not Only SQL Uma nova escola@ederign http://jogano10.com
    11. 11. Mas professor? Qual o problema com o Banco de Dados Relacional?@ederign http://jogano10.com
    12. 12. Bancos de Dados Relacionais@ederign http://jogano10.com
    13. 13. Bancos de Dados Relacionais Solução madura@ederign http://jogano10.com
    14. 14. Bancos de Dados Relacionais A melhor solução para 90,02%* dos teus problemas de persistência@ederign * Instituto Eder de Estatística http://jogano10.com
    15. 15. Bancos de Dados Relacionais@ederign http://jogano10.com
    16. 16. @ederign http://jogano10.com
    17. 17. Sistemas Distribuídos@ederign http://jogano10.com
    18. 18. Sistemas Distribuídos Componentes computacionais localizados em regiões físicas distintas que trocam mensagens@ederign http://jogano10.com
    19. 19. Sistemas Distribuídos Possuem três características desejadas:@ederign http://jogano10.com
    20. 20. Sistemas Distribuídos Possuem três características desejadas: Consistência: validade, precisão e integridade da informação compartilhada entre diversos nós@ederign http://jogano10.com
    21. 21. Sistemas Distribuídos Possuem três características desejadas: Disponibilidade: garantia que todas as requisições recebam uma resposta adequada, ou seja, quando uma falha ocorrer, o repositório deverá manter-se em funcionamento;@ederign http://jogano10.com
    22. 22. Sistemas Distribuídos Possuem três características desejadas: Tolerância a particionamentos: se ocorrer uma falha de rede que divida os nós em dois grupos que não conversam mais entre si, o repositório deve possibilitar acesso e processamento nos dois subgrupos.@ederign http://jogano10.com
    23. 23. Teorema CAP É impossível obter as três características ao mesmo tempo@ederign http://jogano10.com
    24. 24. Teorema CAP Trade-off@ederign http://jogano10.com
    25. 25. Teorema CAP CA sem o P: Sistemas que provêem transações distribuídas, somente podem garantir este serviço se não ocorrer particionamento do servidores;@ederign http://jogano10.com
    26. 26. Teorema CAP CP sem A: No caso de um particionamento, as transações serão bloqueadas até a recuperação do sistema com objetivo de evitar eventuais conflitos de dados (o que provocaria uma inconsistência);@ederign http://jogano10.com
    27. 27. Teorema CAP AP sem C: É aceitado que parte dos nós eventualmente estejam em determinado momento em um estado inconsistente.@ederign http://jogano10.com
    28. 28. Mas professor? E o Banco Relacional com isto?@ederign http://jogano10.com
    29. 29. Bancos Relacionais@ederign http://jogano10.com
    30. 30. Bancos Relacionais Facilitaram a vida dos desenvolvedores...@ederign http://jogano10.com
    31. 31. Bancos Relacionais Facilitaram a vida dos desenvolvedores... SGBD é responsável pela verificação e garantias de integridade dos dados,controle de concorrência, recuperação de falhas e segurança para os SGBDs@ederign http://jogano10.com
    32. 32. Bancos Relacionais ACID(Atomicity, Consistency, Isolation, Durability) @ederign http://jogano10.com
    33. 33. Bancos Relacionais ACID Atomicity Transação deve ser executada por completo ou não ser executada@ederign http://jogano10.com
    34. 34. Bancos Relacionais ACID ConsistencyToda transação deve garantir a integridade do banco de dados@ederign http://jogano10.com
    35. 35. Bancos Relacionais ACID Isolation Mesmo que as ações de diversas transações sejam executadas de forma intercalada, o resultado dessas execuções deve ser idêntico@ederign http://jogano10.com
    36. 36. Bancos Relacionais ACID Durability SGBD relacional deve assegurar que o efeito de transações persista, mesmo que o sistema falhe.@ederign http://jogano10.com
    37. 37. Bancos Relacionais Ou em Sistemas Distribuídos... Durability trata de garantir que dados que foram “comitados” sejam persistentes em uma única máquina e que esses dados sejam replicados em um determinado número de máquinas ou em diferentes centros de dados.@ederign http://jogano10.com
    38. 38. Bancos Relacionais Consistência Absoluta Isto implica em detrimento da tolerância a particionamentos em favor da consistência e disponibilidade (CA sem o P)@ederign http://jogano10.com
    39. 39. Teorema CAP É impossível obter as três características ao mesmo tempo@ederign http://jogano10.com
    40. 40. Mas professor? O que acontece se eu não tenho tolerância a particionamentos?@ederign http://jogano10.com
    41. 41. Escalabilidade Vertical@ederign http://jogano10.com
    42. 42. Ah professor, ai que estão 90,02% dos sistemas@ederign http://jogano10.com
    43. 43. Mas...@ederign http://jogano10.com
    44. 44. Evolução da Internet@ederign http://jogano10.com
    45. 45. Era dos Petabytes@ederign http://jogano10.com
    46. 46. @ederign http://jogano10.com
    47. 47. 20 PETABYTES/ DIA@ederign http://jogano10.com
    48. 48. Escalabilidade Horizontal é Pré-Requisito@ederign http://jogano10.com
    49. 49. Teorema CAP Preciso ter tolerância a particionamentos@ederign http://jogano10.com
    50. 50. Teorema CAP Preciso exercitar o tradeoff de maneiras diferentes@ederign http://jogano10.com
    51. 51. Bancos Relacionais Outros problemas... Como unir tabelas (join) em um sistema distribuído?@ederign http://jogano10.com
    52. 52. Bancos Relacionais Capacidade de lidar com diferenças sintáticas, estruturais e semânticas dos dados Todos os dados necessitam serem convertidos em tabelas. Este modelo convertido é por vezes complexo e ineficiente.@ederign http://jogano10.com
    53. 53. Bancos Relacionais SQL só é eficiente para dados estruturados@ederign http://jogano10.com
    54. 54. @ederign http://jogano10.com
    55. 55. Novo Paragidma BASE(Basically Available, Soft state, Eventual consistency) @ederign http://jogano10.com
    56. 56. Novo Paragidma BASE Eventual consistency@ederign http://jogano10.com
    57. 57. Novo Paragidma BASE Em um sistema distribuído é fato que nãopodemos conseguir consistência absoluta em sistemas distribuídos escaláveis@ederign http://jogano10.com
    58. 58. Estrutura de dados@ederign http://jogano10.com
    59. 59. Desnormalização@ederign http://jogano10.com
    60. 60. Membros da Família@ederign http://jogano10.com
    61. 61. No SQL Key-value stores@ederign http://jogano10.com
    62. 62. No SQL Key-value stores@ederign http://jogano10.com
    63. 63. (@ederign http://jogano10.com
    64. 64. RESTful Web Services REpresentational State Transfer (REST) Baseia-se e utiliza os métodos HTTP Interface Uniforme e Padrão@ederign http://jogano10.com
    65. 65. @ederign http://jogano10.com
    66. 66. )@ederign http://jogano10.com
    67. 67. @ederign http://jogano10.com
    68. 68. @ederign http://jogano10.com
    69. 69. No SQL BigTable Clones (Column Family)@ederign http://jogano10.com
    70. 70. No SQL BigTable Clones (Column Family)@ederign http://jogano10.com
    71. 71. No SQL BigTable Clones (Column Family)@ederign http://jogano10.com
    72. 72. No SQL Document Databases@ederign http://jogano10.com
    73. 73. No SQL Document Databases@ederign http://jogano10.com
    74. 74. No SQL Document Databases@ederign http://jogano10.com
    75. 75. No SQL Document Databases@ederign http://jogano10.com
    76. 76. No SQL Document Databases@ederign http://jogano10.com
    77. 77. No SQL Graph Databases (Social)@ederign http://jogano10.com
    78. 78. No SQL Graph Databases (Social)@ederign http://jogano10.com
    79. 79. No SQL Graph Databases (Social)@ederign http://jogano10.com
    80. 80. No SQL Visão Geral@ederign http://jogano10.com
    81. 81. @ederign http://jogano10.com
    82. 82. @ederign http://jogano10.com
    83. 83. @ederign http://jogano10.com
    84. 84. @ederign http://jogano10.com
    85. 85. @ederign http://jogano10.com
    86. 86. Duvidas?@ederign http://jogano10.com

    ×