Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Nao perca tempo com bancos de dados relacionais, use mongo db

13 visualizaciones

Publicado el

Não perca tempo com bancos de dados relacionais , use MongoDB

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Nao perca tempo com bancos de dados relacionais, use mongo db

  1. 1. Não perca tempo com bancos de dados relacionais use MongoDB! Fernando Boaglio @boaglio Abril de 2019
  2. 2. Quem é Fernando Boaglio?
  3. 3. MongoDB - o que é ? • Banco de dados baseado em documentos • classificado como NoSQL • Sem schemas • Sem transações • Escalável
  4. 4. MongoDB – um pouco de história 1995 - Dwight funda a double click 2005 - vende ( Google compra em 2007) 2007 - Dwight funda a 10gen junto com Eliot 2007 - monta uma solução para concorrer com a nuvem do Google: App Engine chamava ED (Elliot + Dwight) Banco de dados chamava P
  5. 5. MongoDB – um pouco de história 2008 - mudaram de P para MongoDB (Humongous) 2009 - vira open source o/ 2010 - MongoDB vira production ready 2017 - Release 3.4.x - versão community + Enterprise (auth, in-memory,compass) + MongoDB Atlas (nuvem) 2018 – multi-document transactions
  6. 6. MongoDB – quem usa ? http://www.mongodb.com/who-uses-mongodb
  7. 7. MongoDB no mercado https://db-engines.com/en/ranking
  8. 8. Comparando conceitos... Baseado em tabelas Baseado em documentos Tabela Collection Coluna Campo Linha / registro sem limite de tamanho Documento / registro limitados em 16Mb RAC Replica Set Particionamento Sharding Raw Device GridFS
  9. 9. Comparando conceitos...
  10. 10. Comparando conceitos...
  11. 11. MongoDB - o que é um documento? • Representação da informação em formato JSON • Linguagem usada é JavaScript
  12. 12. Exemplo NoSQL vs relacional NOVO SISTEMA: JUGs do Brasil por região Fonte: http://www.dfjug.org/jugs-brasil/
  13. 13. Exemplo NoSQL vs relacional 28 JUGs do Brasil por região Fonte: http://www.dfjug.org/jugs-brasil/
  14. 14. Exemplo NoSQL e relacional Por onde começamos ?
  15. 15. Exemplo relacional Maneira tradicional ... 4 tabelas: JUG, LOCAL, REGION e LOCAL_REGION 4 registros para cadastrar 1 JUG
  16. 16. Exemplo relacional Listar JUGs do Sudeste
  17. 17. Exemplo NoSQL - MongoDB 1 collection : jug 1 registro (documento) para cadastrar 1 JUG
  18. 18. Exemplo NoSQL - MongoDB Listar JUGs do Sudeste
  19. 19. Java + JSON + MongoDB - Driver Java oficial - JNoSQL Diana - Morphia - Spring Data https://github.com/boaglio/mongodb-java-examples
  20. 20. Driver Java Oficial
  21. 21. JNoSQL
  22. 22. Spring Data
  23. 23. Bonus: PostgreSQL Suporte nativo ao JSON desde a versão 9.2 (2012)
  24. 24. Schema Design Pense primeiro no sistema e depois na base ! Não existe certo ou errado !
  25. 25. Desvantagens do MongoDB - sintaxe JavaScript não é trivial - usar MongoDB pensando relacional - uso errado de índices - serviço do servidor é pesado
  26. 26. Vantagens do MongoDB - banco de dados feito para desenvolvedor (quase não precisa de DBA) - JSON em todo lugar - foco na app e nao no banco de dados - velocidade - escalável
  27. 27. Vantagens do MongoDB - comando upsert e update multiple - full text search - busca por í­ndice geospatial - https://github.com/boaglio/mongodb-java-geospatial-springdata-casadocodigo - documento com validade - capped collections (size / rows) - TTL index (expireAfterSeconds)
  28. 28. Para finalizar…. dicas para iniciantes ! - Use a ferramenta Robo 3T (antigo Robomongo) https://robomongo.org - Pense bem no schema design - Treinamentos gratuitos: https://university.mongodb.com/courses/catalog M001: MongoDB Basics M101: Java , NodeJS , .Net, Python

×