SlideShare uma empresa Scribd logo
MongoDB com Java
Fernando Boaglio
Agosto de 2018
@boaglio
Quem é Fernando Boaglio?
MongoDB - o que é ?
• Banco de dados baseado em documentos
• classifcado como NoSQL
• Sem schemas
• Sem transações *
• Escalável
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
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
MongoDB – quem usa ?
http://www.mongodb.com/who-uses-mongodb
MongoDB no mercado
https://db-engines.com/en/ranking
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
MongoDB - o que é um documento?
• Representação da informação em formato JSON
• Linguagem usada é JavaScript
Exemplo NoSQL vs relacional
NOVO SISTEMA: JUGs do Brasil por região
Fonte: http://www.dfjug.org/jugs-brasil/
Exemplo NoSQL vs relacional
28 JUGs do Brasil por região
Fonte: http://www.dfjug.org/jugs-brasil/
Exemplo NoSQL e relacional
Por onde começamos ?
Exemplo relacional
Maneira tradicional ...
4 tabelas: JUG, LOCAL, REGION e LOCAL_REGION
4 registros para cadastrar 1 JUG
Exemplo relacional
Listar JUGs do Sudeste
Exemplo NoSQL - MongoDB
Listar JUGs do Sudeste
Exemplo NoSQL - MongoDB
1 collection : jug
1 registro (documento) para cadastrar 1 JUG
Schema Design
Pense primeiro no sistema e depois na base !
Não existe certo ou errado !
Desvantagens do MongoDB
- sintaxe JavaScript não é trivial
- usar MongoDB pensando relacional
- uso errado de índices
- serviço do servidor é pesado
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
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
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
Java + JSON + MongoDB
- Driver Java oficial
- JNoSQL Diana
- Morphia
- Spring Data
https://github.com/boaglio/mongodb-java-examples
Aceito sugestões!!!
Driver Java Oficial
JNoSQL Diana
Morphia
Spring Data
Bonus: PostgreSQL
Suporte nativo ao JSON desde a versão 9.2 (2012)
E para finalizar...
https://www.meetup.com/topics/java/
Participe dos Meetups!

Mais conteúdo relacionado

PDF
MongoDB com Java - SouJava
PDF
Nao perca tempo com bancos de dados relacionais, use mongo db
PPTX
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
PPTX
Apresentação MongoDB
PDF
Secot banco de dados no sql de código aberto
PDF
Mais um comparativo MongoDB - Fernando Boaglio - abril.2014
PPTX
NoSQL no Azure - Azure Tech Nights - 2017
PPTX
Curso de Node.js e MongoDB - 04
MongoDB com Java - SouJava
Nao perca tempo com bancos de dados relacionais, use mongo db
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
Apresentação MongoDB
Secot banco de dados no sql de código aberto
Mais um comparativo MongoDB - Fernando Boaglio - abril.2014
NoSQL no Azure - Azure Tech Nights - 2017
Curso de Node.js e MongoDB - 04

Semelhante a MongoDB com Java - GUOB 2018 (20)

PPTX
#1 Introdução ao MongoDB
PDF
MongoDB e OpenShift - JUDCon2014
PDF
Mongodb praquer-usar-uaijugcloudday2014
PDF
PDF
NoSQL, MongoDB e MEAN
KEY
Django e MongoDB - Python Brasil 7
KEY
Utilizando NoSQL no desenvolvimento de soluções inteligentes
PDF
Bancos de dados NoSQL
PDF
Node.JS - Workshop do básico ao avançado
PDF
No sql e as vantagens na utilização do mongodb
PDF
NoSQL com Zend Framework 2
PDF
NoSql e NewSql
PDF
Palestra nosql
PPTX
Big data da teoria à prática
PPTX
Introdução ao NoSQL e modelagem de dados com MongoDB
PDF
Cobo, Cristiane Brandão. Especialização Banco de Dados
PDF
mongodb.pdf
PDF
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
PPT
Mongo Db - PHP Day Workshop
PPTX
Desenvolvimento de aplicações PHP com MongoDB
#1 Introdução ao MongoDB
MongoDB e OpenShift - JUDCon2014
Mongodb praquer-usar-uaijugcloudday2014
NoSQL, MongoDB e MEAN
Django e MongoDB - Python Brasil 7
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Bancos de dados NoSQL
Node.JS - Workshop do básico ao avançado
No sql e as vantagens na utilização do mongodb
NoSQL com Zend Framework 2
NoSql e NewSql
Palestra nosql
Big data da teoria à prática
Introdução ao NoSQL e modelagem de dados com MongoDB
Cobo, Cristiane Brandão. Especialização Banco de Dados
mongodb.pdf
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
Mongo Db - PHP Day Workshop
Desenvolvimento de aplicações PHP com MongoDB
Anúncio

Mais de Fernando Boaglio (20)

PPTX
Rinha de Back-end 2023
PPTX
Java Meetup SP
PDF
Testando jwebserver
PDF
Novidades Spring 2021
PDF
O seu negocio precisa de API Gateway
PDF
Retrospectiva Java 2019
PDF
Java Meetup SP- pesquisa 2019
PDF
3 dicas para ser um profissional melhor
PDF
Jenkins, de onde veio e para onde vai
PDF
Java Meetup SP intro
PDF
6 mitos de projetos open source para Java
PDF
Java Meetup SP intro
PDF
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
PDF
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
PDF
Katalon,o Selenium fácil
PDF
SAP Hybris e SAP HANA - o que dá para usar?
PDF
Jenkins por dentro e por fora
PDF
Análise de qualidade de código com Sonar - Fernando Boaglio
PDF
Aumente sua produtividade com Spring Boot
PDF
Jenkins - livre-se da parte chata do Java
Rinha de Back-end 2023
Java Meetup SP
Testando jwebserver
Novidades Spring 2021
O seu negocio precisa de API Gateway
Retrospectiva Java 2019
Java Meetup SP- pesquisa 2019
3 dicas para ser um profissional melhor
Jenkins, de onde veio e para onde vai
Java Meetup SP intro
6 mitos de projetos open source para Java
Java Meetup SP intro
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Katalon,o Selenium fácil
SAP Hybris e SAP HANA - o que dá para usar?
Jenkins por dentro e por fora
Análise de qualidade de código com Sonar - Fernando Boaglio
Aumente sua produtividade com Spring Boot
Jenkins - livre-se da parte chata do Java
Anúncio

Último (7)

PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Dos requisitos ao código: como criar código rastreável em PHP
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
apresentacao introducao computacao ead.pdf
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Dos requisitos ao código: como criar código rastreável em PHP
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
apresentacao introducao computacao ead.pdf
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional

MongoDB com Java - GUOB 2018