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.

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

12 Aufrufe

Veröffentlicht am

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

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

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

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

×