Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Primeiros passos com Banco de Dados NoSQL e MongoDB

Primeiros passos com Banco de Dados NoSQL e MongoDB

Aprenda os primeiros conceitos de Banco de Dados NoSQL, MongoDB e comece depois do último slide a utilizar o que há de mais novo e moderno em armazenamento e gerenciamento de dados.

8ec5e76c7e812fa175b2e1c7ac4a43d0?s=128

Marcos Vinicius

October 13, 2018
Tweet

Transcript

  1. Banco de Dados NoSQL e MongoDB Primeiros passos

  2. Marcos V. Leal Full stack web developer

  3. • Conceitos • Drivers Disponíveis • Download / Instalação •

    Mongo Shell • Operações no Shell • Aggregation Framework • Operadores • Recomendações Agenda
  4. Conceitos

  5. None
  6. O que é NoSQL?

  7. Porque utilizar NoSQL? • Não se prende a modelagem •

    Quick Start • Performance • Funcionalidades • Escalabilidade
  8. O que é MongoDB?

  9. Banco de Dados

  10. NoSQL = NoREL = Não Relacional

  11. Orientado a Documentos (JSON)

  12. Alta Performance

  13. Escalável

  14. Schema Aberto

  15. Open Source

  16. None
  17. Quem usa?

  18. mongodb.com/who-uses-mongodb

  19. Drivers

  20. None
  21. Modelo de Documento

  22. Nomenclaturas Banco de Dados Relacional MongoDB Índice Índice Tabela Coleção

    Registro Documento Join Documento Incorporado Chave Estrangeira Referência
  23. Download

  24. www.mongodb.com

  25. Mongo Shell

  26. Database

  27. Criando um Banco de Dados

  28. Coleções

  29. Operações

  30. Documentos

  31. Criação

  32. Apenas Um

  33. Múltiplos

  34. Um ou Múltiplos

  35. Atualização

  36. Substituição Primária Resultado

  37. Substituição Orientada

  38. Opção multi: true

  39. Opção upsert: true

  40. RESULTADO: upsert: true

  41. Substituição de Múltiplos

  42. Substituição de Unitária

  43. $set

  44. Atualização === Atualização

  45. Exclusão

  46. Unitária

  47. Múltiplos

  48. None
  49. Leitura & [...]

  50. Apenas Um

  51. Um ou Múltiplos

  52. Projeção

  53. Tem mais...

  54. Operadores

  55. Comparação $eq Corresponde a valores iguais ao especificado $gt Corresponde

    a valores que são maiores do que o especificado $gte Corresponde a valores que são maiores ou iguais ao especificado $in Corresponde a qualquer um dos valores especificados em uma matriz $lt Corresponde a valores que são menores do que o especificado $lte Corresponde a valores que são menores ou iguais ao especificado $ne Corresponde a todos os valores que não são iguais ao especificado $nin Corresponde a nenhum dos valores especificados em uma matriz
  56. Lógicos $and Todos que correspondem à ambas as cláusulas $not

    Documentos que não correspondem à expressão da consulta $nor Todos os que não correspondem à ambas as cláusulas $or Todos os que correspondem à qualquer uma das cláusulas
  57. Elemento $exists Documentos que possuem um campo especificado $type Documentos

    que possuem um campo do tipo especificado
  58. Live Code

  59. None
  60. Incorporação ou Referência

  61. Modelo Relacional

  62. Incorporação

  63. Aggregation Framework

  64. Coleção de Ordens

  65. Coleção de Inventário

  66. Aggregate: $lookup

  67. Resultado $lookup

  68. Equivalência SQL

  69. Melhor Schema? • Gravação eficiente • Leitura eficiente • Melhor

    a atende às necessidades da Aplicação • Pensado para Escalabilidade • Índices utilizados da forma correta • Queries–– • Resultados++
  70. “Dê preferência a Incorporação, se não der, ai referência.”

  71. Replica Set Cópias do mesmo banco de dados em múltiplos

    servidores.
  72. Sharding Coleções divididas para melhorar a performance - bilhões de

    registros.
  73. Recomendações

  74. None
  75. None
  76. “Um novo paradigma exige uma nova forma de pensar.”

  77. Obrigado!

  78. Dúvidas?

  79. Speaker Deck: speakerdeck.com/marcosvleal Facebook: facebook.com/marcos.v.leal.ferreira Twitter: twitter.com/marcosv_leal Medium: medium.com/@marcosv.lealferreira E-mail:

    marcosv.lealferreira@gmail.com Em breve: marcosvleal.com.br
  80. Fim :(