SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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

Semelhante a MongoDB com Java - GUOB 2018

MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014Fernando Boaglio
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Rogerio Fontes
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANOsmar Petry
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Fernando Rizzato
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbfabio perrella
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2Flávio Lisboa
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBJhonathan de Souza Soares
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dadoscris.finholdt
 
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...tdc-globalcode
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 

Semelhante a MongoDB com Java - GUOB 2018 (20)

#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014
 
Spring data
Spring dataSpring data
Spring data
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEAN
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodb
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dados
 
mongodb.pdf
mongodb.pdfmongodb.pdf
mongodb.pdf
 
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 

Mais de Fernando Boaglio

O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway Fernando Boaglio
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Fernando Boaglio
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhorFernando Boaglio
 
Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Fernando Boaglio
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para JavaFernando Boaglio
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018Fernando Boaglio
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Fernando Boaglio
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil Fernando Boaglio
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar? Fernando Boaglio
 
Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora Fernando Boaglio
 
Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Fernando Boaglio
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootFernando Boaglio
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaFernando Boaglio
 

Mais de Fernando Boaglio (20)

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

MongoDB com Java - GUOB 2018