Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

MongoDB com Java - GUOB 2018

87 Aufrufe

Veröffentlicht am

MongoDB com Java - GUOB 2018

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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!

×