Introdução ao MONGODB
-
Upload
jmci -
Category
Technology
-
view
569 -
download
1
description
Transcript of Introdução ao MONGODB
![Page 1: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/1.jpg)
Introdução ao Mongodb
José Inoue
![Page 2: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/2.jpg)
About Me
![Page 3: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/3.jpg)
Roteiro
1. Dados
2. Informação
3. Modelo Relacional
4. NoSQL
5. Modelo Relacional versus NoSQL
6. MongoDB
![Page 4: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/4.jpg)
Dados
Pedro 1984 Sant’Anna
045-2368 Cinza Bento Martins
ITA3577 Iznájar 78 Gol
![Page 5: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/5.jpg)
Informação
Nome: Pedro Sobrenome: IznájarAno: 1984 Peso: 78 kgConta Corrente: 045-2368Endereço: Bento Martins, 1025Escola: Sant’AnnaCarro: GolPlaca: ITA3577Cor: Cinza
![Page 6: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/6.jpg)
O que é?O termo NoSQL foi usado pela primeira vez em
1998.Retornando a ser utilizado em 2009 por Johan
Oskarsson, da Last.fm.Sistemas de armazenamento diferentes dos
tradicionais bancos de dados relacionais.Performance superior.Alta escalabilidade.Agrupamento de registros.Schema-free.
![Page 7: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/7.jpg)
Tipos:
Key/Values ;
Wide Columns Store;
Document Store;
Graph Store;
Column Oriented Store;
![Page 8: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/8.jpg)
Key/Value:
![Page 9: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/9.jpg)
Wide Columns Store:
![Page 10: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/10.jpg)
Document Store:
![Page 11: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/11.jpg)
Graph Store:
![Page 12: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/12.jpg)
Column Oriented Store:
![Page 13: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/13.jpg)
Quem usa?
![Page 14: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/14.jpg)
Por que usar?
Acesso rápido por chave-valor ;
Esquema flexível e tipos de dados flexíveis;
Suporte para sistemas distribuídos;
Performance em escrita massiva;
Sincronização de dados online e offline.
![Page 15: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/15.jpg)
Escalabili...
![Page 16: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/16.jpg)
Modelo Relacional versus NoSQL
Modelo Relacional
codigo cidade populacao pais
001 Dusseldorf 582200 Alemanha
002 Rio de Janeiro 6325000 Brasil
003 Tel Aviv 392000 Israel
004 Tóquio 12700000 Japão
![Page 17: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/17.jpg)
Modelo Relacional versus NoSQL
NoSQLcodigo: 001 codigo:002cidade: Dusseldorf cidade: Rio de Janeiropopulacao: 582200 populacao: 6325000pais: Alemanha pais: Brasil
codigo: 003 codigo:004cidade: Tel Aviv cidade: Tóquiopopulacao: 392000 populacao: 12700000pais: Israel pais: Japão
![Page 18: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/18.jpg)
Modelo Relacional versus NoSQL
Relacional NoSQL
Escalonamento Possível, mas complexo devido à forma estrutura.
Principal vantagem por sua forma flexível e sem esquema definido.
Consistência Ponto Forte. Estrutura rígida garantem a consistência da informação.
Eventual, mas garante sempre o acesso ao último valor atualizado.
Disponibilidade Pode não suportar uma demanda muito grande de informações ao banco
Fator fundamental. Alto grau de distribuição propicia maior número e solicitações
![Page 19: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/19.jpg)
Desenvolvido pela 10gen; Iniciado em Outubro de 2007;
Primeira versão pública 2009;
Versão 1.8.0;
Licença GNU Affero GPL;
![Page 20: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/20.jpg)
Orientado a documentos;
Atualizações in – place;
Map/Reduce;
Auto-sharding;
Schema free;
Suporte.
![Page 21: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/21.jpg)
Diferenças:
Modelo Relacional
MongoDB
Database Database
Table Collection
Row Document
Column Attribute
![Page 22: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/22.jpg)
JSON (Java Script Object Notation):
{ “Cidade" : [ { "nome": “Dusseldorf", “pais":
“Alemanha” }, { "nome": “Rio de Janeiro", “pais":
“Brasil” }, { "nome": “Tel Aviv", “pais": “Israel” }
] }
![Page 23: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/23.jpg)
Inserindo:
db.myColl.insert({name: “Joe", age: 20});
db.myColl.insert({name: “Kristen", age: 22});
![Page 24: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/24.jpg)
Consultando:
db.myColl.find();
![Page 25: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/25.jpg)
Alterando:
myColl.update( { _id: X }, { _id: X, name: "Joe", age: 20 }
![Page 26: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/26.jpg)
Excluindo:
db.myColl.remove({name:“Joe”});
![Page 27: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/27.jpg)
![Page 28: Introdução ao MONGODB](https://reader035.fdocumentos.tips/reader035/viewer/2022062307/5562536ad8b42aa52d8b521e/html5/thumbnails/28.jpg)
Questions???