O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

MongoDB com Java - GUOB 2018

91 visualizações

Publicada em

MongoDB com Java - GUOB 2018

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

MongoDB com Java - GUOB 2018

  1. 1. MongoDB com Java Fernando Boaglio Agosto de 2018 @boaglio
  2. 2. Quem é Fernando Boaglio?
  3. 3. MongoDB - o que é ? • Banco de dados baseado em documentos • classifcado 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 - versão community + Enterprise (auth, in-memory,compass) + MongoDB Atlas (nuvem) 2018 – Release 4 – suporte a transações
  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. MongoDB - o que é um documento? • Representação da informação em formato JSON • Linguagem usada é JavaScript
  10. 10. Exemplo NoSQL vs relacional NOVO SISTEMA: JUGs do Brasil por região Fonte: http://www.dfjug.org/jugs-brasil/
  11. 11. Exemplo NoSQL vs relacional 28 JUGs do Brasil por região Fonte: http://www.dfjug.org/jugs-brasil/
  12. 12. Exemplo NoSQL e relacional Por onde começamos ?
  13. 13. Exemplo relacional Maneira tradicional ... 4 tabelas: JUG, LOCAL, REGION e LOCAL_REGION 4 registros para cadastrar 1 JUG
  14. 14. Exemplo relacional Listar JUGs do Sudeste
  15. 15. Exemplo NoSQL - MongoDB Listar JUGs do Sudeste
  16. 16. Exemplo NoSQL - MongoDB 1 collection : jug 1 registro (documento) para cadastrar 1 JUG
  17. 17. Schema Design Pense primeiro no sistema e depois na base ! Não existe certo ou errado !
  18. 18. Desvantagens do MongoDB - sintaxe JavaScript não é trivial - usar MongoDB pensando relacional - uso errado de índices - serviço do servidor é pesado
  19. 19. 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
  20. 20. 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
  21. 21. Dicas para iniciantes - Use a ferramenta Robomongo - https://robomongo.org - Pense bem no schema design - Treinamentos gratuitos: https://university.mongodb.com/courses/catalog M101: Java , NodeJS , .Net, Python
  22. 22. Java + JSON + MongoDB - Driver Java oficial - JNoSQL Diana - Morphia - Spring Data https://github.com/boaglio/mongodb-java-examples Aceito sugestões!!!
  23. 23. Driver Java Oficial
  24. 24. JNoSQL Diana
  25. 25. Morphia
  26. 26. Spring Data
  27. 27. Bonus: PostgreSQL Suporte nativo ao JSON desde a versão 9.2 (2012)
  28. 28. E para finalizar... https://www.meetup.com/topics/java/ Participe dos Meetups!

×