YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Portuguese, Brazilian subtitles

← Flexible Schema - Data Wranging with MongoDB

Get Embed Code
4 Languages

Showing Revision 9 created 06/20/2016 by Udacity Robot.

  1. Como tantas vezes acontece com nossos dados, algumas entradas
  2. ou documentos terão campos que outros não. Em
  3. qualquer projeto, um modelo de dados geralmente passa por várias iterações.
  4. O MongoDB foi desenvolvido para solucionar ambos os problemas fornecendo
  5. um esquema flexível que lida bem com documentos individuais,
  6. cujos campos variam, e também
  7. com o esquema para nossa coleção inteira que precisa de mudanças. Vamos
  8. observar os dados de caixa de informações pessoais como exemplo.
  9. Para quase todas as pessoas faz sentido
  10. incluir campos para datas de nascimentos e falecimento. Talvez nacionalidade e
  11. até profissão, mas nem todos terão ocupação, e
  12. nem todos estarão associados a um partido político. E mesmo
  13. que estejamos falando de pessoas que não sejam famosas,
  14. algumas terão cônjuges. Algumas terão mais de
  15. um. E outras, não. Algumas terão filhos e outras,
  16. não. Vamos deixar de lado a pergunta sobre qual é o
  17. modelo de dados certo para dados pessoais. No MongoDB, podemos
  18. representar cada pessoa usando os campos que são apropriados para ela,
  19. mesmo se os documentos de alguma pessoa contiverem campos que outros não.
  20. O sistema de indexação e o sistema de execução de consulta do MongoDB levam isso em consideração.
  21. Portanto, podemos consultar uma coleção de pessoas para pessoas com
  22. dois ou mais filhos, e isso funcionará conforme esperado, recuperando
  23. apenas dados de pessoas que têm duas ou mais entradas no
  24. array que sirvam como valor para o campo filhos,
  25. ignorando documentos com menos entradas, bem como documentos que não
  26. tenham um campo filhos. Isso significa que
  27. é fácil desenvolver seu esquema à medida que surgem novas necessidades
  28. ou mais dados se tornam disponíveis. Basta começar
  29. adicionando documentos a uma coleção que tenha novos campos que agora
  30. você quer rastrear ou mudando como modela os campos
  31. existentes. Por exemplo, vamos analisar
  32. a página dbpedia, que descreve os conjuntos de dados que estão disponíveis.
  33. Se eu rolar esta página para baixo, e, eu já
  34. fiz isso aqui, temos um exemplo para dados de cidade.
  35. Até aqui analisamos dados de automóveis, pessoas
  36. e, agora, cidade, neste conjunto de dados de caixa de informações. Estou
  37. mostrando este exemplo para ilustrar que o esquema
  38. para caixas de informações de cidade evoluiu. Podemos ver isso
  39. neste exemplo antigo de Innsbruck. E comparando-o
  40. com o novo exemplo de Innsbruck, se você observar estes
  41. dados, há alguns pontos em que
  42. os dados foram alterados. Não há prefeito listado aqui
  43. como há aqui e, enquanto não há fuso horário
  44. listado no formulário antigo de dados,
  45. o fuso horário central e o horário
  46. de verão estão listados aqui. Pequenas diferenças, mas
  47. são o tipo de mudanças sutis que esperaríamos
  48. ver em um esquema que está evoluindo.