introdução ao mongodb

29
Introdução ao Mongodb José Inoue

Upload: jmci

Post on 25-May-2015

569 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Introdução  ao MONGODB

Introdução ao Mongodb

José Inoue

Page 2: Introdução  ao MONGODB

About Me

Page 3: Introdução  ao MONGODB

Roteiro

1. Dados

2. Informação

3. Modelo Relacional

4. NoSQL

5. Modelo Relacional versus NoSQL

6. MongoDB

Page 4: Introdução  ao MONGODB

Dados

Pedro 1984 Sant’Anna

045-2368 Cinza Bento Martins

ITA3577 Iznájar 78 Gol

Page 5: Introdução  ao MONGODB

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

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

Tipos:

Key/Values ;

Wide Columns Store;

Document Store;

Graph Store;

Column Oriented Store;

Page 8: Introdução  ao MONGODB

Key/Value:

Page 9: Introdução  ao MONGODB

Wide Columns Store:

Page 10: Introdução  ao MONGODB

Document Store:

Page 11: Introdução  ao MONGODB

Graph Store:

Page 12: Introdução  ao MONGODB

Column Oriented Store:

Page 13: Introdução  ao MONGODB

Quem usa?

Page 14: Introdução  ao MONGODB

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

Escalabili...

Page 16: Introdução  ao MONGODB

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

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

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

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

Orientado a documentos;

Atualizações in – place;

Map/Reduce;

Auto-sharding;

Schema free;

Suporte.

Page 21: Introdução  ao MONGODB

Diferenças:

Modelo Relacional

MongoDB

Database Database

Table Collection

Row Document

Column Attribute

Page 22: Introdução  ao MONGODB

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

Inserindo:

db.myColl.insert({name: “Joe", age: 20});

db.myColl.insert({name: “Kristen", age: 22});

Page 24: Introdução  ao MONGODB

Consultando:

db.myColl.find();

Page 25: Introdução  ao MONGODB

Alterando:

myColl.update( { _id: X }, { _id: X, name: "Joe", age: 20 }

Page 26: Introdução  ao MONGODB

Excluindo:

db.myColl.remove({name:“Joe”});

Page 27: Introdução  ao MONGODB
Page 28: Introdução  ao MONGODB

Questions???

Page 29: Introdução  ao MONGODB

Contato

@joseinoue

[email protected]