3. MongoDB - o que é ?
• Banco de dados baseado em documentos
• classificado como NoSQL
• Sem schemas
• Sem transações
• Escalável
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. 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. MongoDB – quem usa ?
http://www.mongodb.com/who-uses-mongodb
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
25. Desvantagens do MongoDB
- sintaxe JavaScript não é trivial
- usar MongoDB pensando relacional
- uso errado de índices
- serviço do servidor é pesado
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. 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. 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