Introdução  ao Mongodb José  Inoue
About Me
Roteiro <ul><li>Dados </li></ul><ul><li>Informação </li></ul><ul><li>Modelo Relacional </li></ul><ul><li>NoSQL </li></ul><...
Dados <ul><li>Pedro   1984   Sant’Anna </li></ul><ul><li>045-2368  Cinza Bento Martins </li></ul><ul><li>ITA3577 Iznájar 7...
Informação <ul><li>Nome: Pedro Sobrenome: Iznájar </li></ul><ul><li>Ano: 1984  Peso: 78 kg </li></ul><ul><li>Conta Corrent...
O que é? <ul><li>O termo NoSQL foi usado pela primeira vez em 1998. </li></ul><ul><li>Retornando a ser utilizado em 2009 p...
Tipos: <ul><li>Key/Values ; </li></ul><ul><li>Wide Columns Store; </li></ul><ul><li>Document Store; </li></ul><ul><li>Grap...
Key/Value:
Wide Columns Store:
Document Store:
Graph Store:
Column Oriented Store:
Quem usa?
Por que usar? <ul><li>Acesso rápido por chave-valor ; </li></ul><ul><li>Esquema flexível e tipos de dados flexíveis; </li>...
Escalabili...
Modelo Relacional versus NoSQL <ul><li>Modelo Relacional </li></ul>Brasil 6325000 Rio de Janeiro 002 12700000 392000 58220...
Modelo Relacional versus NoSQL <ul><li>NoSQL </li></ul><ul><li>codigo: 001 codigo:002 </li></ul><ul><li>cidade: Dusseldorf...
Modelo Relacional versus NoSQL Fator fundamental. Alto grau de distribuição propicia maior número e solicitações Pode não ...
<ul><li>Desenvolvido pela 10gen; </li></ul><ul><li>Iniciado em Outubro de 2007; </li></ul><ul><li>Primeira versão pública ...
<ul><li>Orientado a documentos; </li></ul><ul><li>Atualizações in – place; </li></ul><ul><li>Map/Reduce; </li></ul><ul><li...
<ul><li>Diferenças: </li></ul>Attribute Column Document Row Collection Table Database Database MongoDB Modelo Relacional
<ul><li>JSON ( Java Script Object Notation ): </li></ul><ul><li>{ “Cidade&quot; : [ </li></ul><ul><li>{ &quot;nome&quot;: ...
<ul><li>Inserindo: </li></ul><ul><li>db.myColl.insert({name: “Joe&quot;, age: 20});  </li></ul><ul><li>db.myColl.insert({n...
<ul><li>Consultando: </li></ul><ul><li>db.myColl.find();  </li></ul>
<ul><li>Alterando: </li></ul><ul><li>myColl.update( { _id: X }, { _id: X, name: &quot;Joe&quot;, age: 20 }  </li></ul>
<ul><li>Excluindo: </li></ul><ul><li>db.myColl.remove({name:“Joe”});  </li></ul>
 
Questions???
Contato <ul><li>@joseinoue </li></ul><ul><li>[email_address] </li></ul>
Próximos SlideShares
Carregando em…5
×

Introdução ao MONGODB

834 visualizações

Publicada em

Palestra sobre MongoDB no 6° SENACTECH.
José Inoue.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
834
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao MONGODB

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

×