SlideShare uma empresa Scribd logo
MongoDB
"Livre por necessidade... Linux por opção."
$Whoami
▪ SA Tecnologia
▪ Gerente de Projetos
▪ Administrador de Servidores Linux | Windows
▪ Graduado em Analise e Desenvolvimento de Sistemas
▪ Programador em Shell, Nodejs e Java
▪ Teste de invasão em redes, Sistemas e Aplicações
Mongo ?
humongous
MongoDB
“Gigantesco”
Empresas que utilizam Mongodb
Mongodb Drivers
Pesquisa
http://db-engines.com/en/ranking
Modelo Relacional
Modelo Não Relacional
Modelo Mongoose
Insert Mysql
insert into usuario(nome,email) values (‘teste’,’teste@mail.com’);
Insert into postagem (titulo,conteudo) values (‘Testando’,’Teste de Postagem’);
Insert into comentário (postagem_id,usuario_id,conteudo) values (1,1,’Testando conteudo’);
Insert MongoDB
db.postagem.insert({
titulo: 'Teste de Titulo',
conteudo: 'Testando postagem'
});
db.usuario.insert({
nome: 'Teste',
email: 'teste@teste.com.br'
});
db.comentario.insert({
postagem_id: ObjectId("56e02b9e8cef82547073c15b"),
usuario_id: ObjectId("56e02beb8cef82547073c15c"),
conteudo: 'Teste de comentario'
})
Select Modelo Relacional
Select * from comentário;
Select * from usuário;
Select * from postagem;
Select MongoDB
db.postagem.find();
{
“_id”: ObjectId(“56e02beb8cef82547073c15c”)
“nome”: “teste”
“email”: “ teste@teste.com.br ”
}
db.postagem.find();
{
“_id”: ObjectId(“56e02b9e8cef82547073c15b”)
“titulo”: “Teste de Titulo”
“conteudo”: “Testando postagem”
}
db.comentario.find();
{
“_id”: ObjectId(“56e02c488cef82547073c15d”),
“postagem_id”: ObjectId("56e02b9e8cef82547073c15b"),
“usuario_id”: ObjectId("56e02beb8cef82547073c15c"),
“conteúdo”: “Teste de comentário”
}
Update Modelo Relacional
update postagem set titulo=‘abc’,conteudo=‘testeabc’ where id = 1
update usuario set nome=‘abc’,email=‘abc@teste.com.br where id = 1
update comentario set conteudo=‘testeabccomentario’ where id =1
Update MongoDB
db.postagem.update({
_id: ObjectId("56e02b9e8cef82547073c15b")},
{$set: {nome: 'abc',conteudo:'testabc'}}
});
db.comentario.update({
_id: ObjectId(“56e02c488cef82547073c15d”)},
{$set: {conteudo: 'testeabccomentario'}}
});
db.usuario.update({
_id: ObjectId("56e02beb8cef82547073c15c")},
{$set: {nome: 'abc',email:'abc@teste.com.br'}}
});
Delete Modelo Relacional
delete from comentario where id = 1
delete from usuario where id = 1
delete from postagem where id = 1
Delete MongoDB
db.postagem.remove({
_id: ObjectId("56e02b9e8cef82547073c15b")
});
db.comentario.remove({
_id: ObjectId(“56e02c488cef82547073c15d”)
});
db.usuario.remove({
_id: ObjectId("56e02beb8cef82547073c15c")
});
Inner Join Modelo Relacional
select * from comentario
inner join postagem
inner join usuario
on comentario.usuario_id = usuario.id and postagem.id =
comentario.postagem_id;
MongoDb (Ref)
var userResult,comentResult;
var getUsuario = function(user){
userResult = db.usuario.findOne({_id: user});
}
var getPostagem = function(coment){
comentResult = db.postagem.findOne({_id: coment});
}
var lista = db.comentario.findOne();
getUsuario(lista.usuario_id);
getPostagem(lista.postagem_id)
userResult
comentResult
Algo errado, não acha ?
Novo Modelo (Mongodb)
Novo Modelo (Mongodb)
db.postagem.insert({
titulo: 'Testando',
conteudo: 'Testandoabc',
comentarios: [{
usuario:
{
"_id": ObjectId("56de20e60fefe7553c045891"),
"pontuacao": "795",
"email": "Lelia_Harber@lori.us",
"nome": "Boyd Walsh III"
},
conteudo: 'Texto‘
}]
})
Novo Modelo (Mongodb)
db.postagem.find();
{
"_id": ObjectId("56e1b58e2dd078b5732d4693"),
"titulo": "Testando",
"conteudo": "Testandoabc",
"comentarios": [ {
"usuario": { "_id": ObjectId("56de20e60fefe7553c045891"),
"pontuacao": "795", "email": "Lelia_Harber@lori.us",
"nome": "Boyd Walsh III“
},
"conteudo": "Texto“
} ]
}
Vantagens
▪ Consultas simples
▪ Sharding
▪ GridFS
▪ ReplicaSet
▪ Escalável horizontalmente
▪ Suporta Grande Quantidade de Dados
▪ Open Source
▪ Treinamento Gratuito https://university.mongodb.com/
▪ Suporte Enterprise
Em todos Projetos ?
Desvantagens
▪ Alto uso de Memoria RAM
▪ Índices devem caber na memória RAM
▪ Cada Shard requer mínimo 3 Servidores (eles devem ter o mesmo perfil)
▪ ReplicaSet (Limite 12 nós)
▪ Falta de Transações
▪ Versão 32 Bits tem limite de dados (Documento de 16mb Tamanho)
▪ Poucas Ferramentas para Administração
Teste de Performance
Mongodb X Mysql
Duvidas ?
▪ Rede de investidores
▪ Sua ideia = Sua Startup
▪ Nossa ideia = Nossa Startup
/contatos
https://www.facebook.com/higor.diego.5
github: https://github.com/higordiego
email: higordiego@satecnologia.com.br
Obrigado

Mais conteúdo relacionado

PDF
Programação Web com jQuery
PDF
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
PDF
Java script aula 07 - j-query
PPTX
Persistência com JPA e Hibernate
PDF
Bloco 5.1 - Manipulação do DOM
PDF
Java script aula 09 - JQuery
KEY
JQuery Alagoinhas Dev Day - UNEB
PDF
Introdução ao JQuery e AJAX
Programação Web com jQuery
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
Java script aula 07 - j-query
Persistência com JPA e Hibernate
Bloco 5.1 - Manipulação do DOM
Java script aula 09 - JQuery
JQuery Alagoinhas Dev Day - UNEB
Introdução ao JQuery e AJAX

Mais procurados (9)

PPTX
Windows Azure 5/8 - Recursos adicionais do Windows Azure
PDF
Aumentando a produtividade com Android Libs
PDF
Wicket 2008
PPSX
Aula 05/06 (Service)
PPTX
jQuery - Visão Geral
PDF
Java script - funções
PDF
Java script aula 05 - funções
PPTX
#5 CRUD no MongoDB
PDF
Java script aula 10 - angularjs
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Aumentando a produtividade com Android Libs
Wicket 2008
Aula 05/06 (Service)
jQuery - Visão Geral
Java script - funções
Java script aula 05 - funções
#5 CRUD no MongoDB
Java script aula 10 - angularjs
Anúncio

Destaque (11)

PDF
MongoDB in Simple and Easy Steps
PDF
Introducing with MongoDB
PPTX
MongoDB basics & Introduction
PPTX
The three aaS's of MongoDB in Windows Azure
PPTX
Mongo db basic installation
PDF
Mongo db manual
PDF
Mongo db program_installation_guide
PDF
Building a REST API with Node.js and MongoDB
PPTX
Tuning Linux for MongoDB
PPTX
Securing Your Deployment with MongoDB and Red Hat's Identity Management in Re...
PDF
Mongo DB
MongoDB in Simple and Easy Steps
Introducing with MongoDB
MongoDB basics & Introduction
The three aaS's of MongoDB in Windows Azure
Mongo db basic installation
Mongo db manual
Mongo db program_installation_guide
Building a REST API with Node.js and MongoDB
Tuning Linux for MongoDB
Securing Your Deployment with MongoDB and Red Hat's Identity Management in Re...
Mongo DB
Anúncio

Semelhante a MondoDB (20)

PPT
Introdução ao MongoDB
PDF
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
PDF
Introdução ao MongoDB em 30 slides
PPTX
Introdução no sql mongodb java
PPTX
Spring Data com MongoDB
ODP
MongoDB - Tudo o que você precisa saber - FISL16
ODP
MongoDB - Tudo que você precisa saber - FGSL 2014
KEY
Python e MongoDB - Ensol
PPTX
MongoDB + PHP
PDF
Mini-Curso de MongoDB
ODP
MongoDB - Tudo o que você precisa saber
PDF
MongoDB outras alternativas de persistência
PDF
Mude seu jeito de pensar com MongoDB
PDF
MongoDB: um banco de dados orientado a documento
PDF
Mongodb workshop cinlug
ODP
MongoDB Schema Design - Latinoware 2014
PDF
Mongo db slides
KEY
MongoDB - Apresentação
PDF
Curso mongo db com php
KEY
Django e MongoDB - Python Brasil 7
Introdução ao MongoDB
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
Introdução ao MongoDB em 30 slides
Introdução no sql mongodb java
Spring Data com MongoDB
MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo que você precisa saber - FGSL 2014
Python e MongoDB - Ensol
MongoDB + PHP
Mini-Curso de MongoDB
MongoDB - Tudo o que você precisa saber
MongoDB outras alternativas de persistência
Mude seu jeito de pensar com MongoDB
MongoDB: um banco de dados orientado a documento
Mongodb workshop cinlug
MongoDB Schema Design - Latinoware 2014
Mongo db slides
MongoDB - Apresentação
Curso mongo db com php
Django e MongoDB - Python Brasil 7

Último (20)

PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula sobre banco de dados com firebase db
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Curso de Java 9 - (Threads) Multitarefas.pptx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Émile Durkheim slide elaborado muito bom
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula 18 - Manipulacao De Arquivos python
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula sobre banco de dados com firebase db
Apple Pippin Uma breve introdução. - David Glotz
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...

MondoDB