SlideShare uma empresa Scribd logo
MongoDB e Bancos de Dados
Orientados a Documentos
Fernanda Lembo Vedovello - 61583
Mariana Amery – 71097
NoSQL
● Termo criado por Carlo Strozzi e Eric Evans como
referência a um tipo de armazenamento de dados;
● Not Only SQL (Não apenas, não somente SQL)
● Termos NoREL e Não Relacional também são bastante
utilizado.
● Alternativa ao modelo relacional
Por que usar NoSQL?
● Escalabilidade
● Performance
● Flexibilidade
● Manipulação de quantidade massiva de dados
– Dados que crescem exponencialmente;
– Agregam muitos valores dinamicamente;
– Não precisam de modelagem;
● Facilidade para consultas
Tipos de NoSQL
● Key/Value: DynamoDb, Riak, Azure Table Storage,
Berkeley DB, etc.
● Wide column store: Hadoop, Cassanda, Hypertable,
Amazon SimpleDB, etc.
● Document store: MongoDb, CouchDB, RavenDb, etc.
● Graph store: Neo4J, Infinite Graph, InforGrid,
HyperGraphDB, etc.
Bancos de Dados Orientados a
Documentos
● Conceito de dados e documentos autocontidos e auto
descritivos.
– Isso implica que o documento em si já define como ele
deve ser apresentado e qual é o significado dos dados
armazenados na sua estrutura.
Bancos de Dados Orientados a
Documentos
● Cada entrada no banco de dados corresponde a um
documento, normalmente decompostos por um
identificador e um valor.
– É possível introduzir mais identificadores seguidos de
valores neste valor.
● Dados estruturados de forma encadeada, podendo ser
coleções, tags, metadatas, hierarquias de informações,
etc.
Bancos de Dados Orientados a
Documentos
● Exemplo de documento:
{
“nome” : ”Fernanda”,
“faculdade” :”UNIFESP”,
“contatos” : [{“twitter” : ”@fefa”}, {“email” : ”fernanda.lembo@unifesp.br”}],
“endereço” : {
“CEP” : “04302020”,
“rua” : “Paracatu”,
“numero” : 357,
“cidade” : “São Paulo”,
“estado” : {
“sigla”: 'SP',
“nome” : “São Paulo”
}
}
}
● Bom para aplicações de conteúdo, blogs, análise estatísticas, sistemas de
gerenciamento de documentos, etc.
Bancos de Dados Orientados a
Documentos
● Permite que tenha redundância e inconsistência.
● Contêm todas as informações importantes em um único
documento.
● Livre de esquemas.
● Identificadores Únicos Universais(UUID)
● Consultar os documentos através de métodos avançados
de agrupamento e filtragem: MapReduce
Bancos de Dados Orientados a
Documentos
● Codifica os documentos com XML, JSON, BSON e os
formatos binários mais conhecidos como PDF, DOC, XLS,
etc.
● Suportam anexos e possuem um controle de versão para,
se necessário, restaurar versões mais antigas.
BDOD x BD Relacional
BDOD BD Relacional
Documentos autocontidos. Tabelas.
Sem necessidade de definir um esquema
rígido.
Colunas e chaves rigidamente definida.
Inserção de um novo campo sem afetar outros
documentos.
Modificações posteriores é uma tarefa rígida e
difícil.
Os documentos não precisam armazenar
valores de dados vazios para campos os quais
não possuem um valor.
Registros não podem ser adaptados para
diferentes circunstâncias. Por exemplo, deixar
um campo vazio.
Os dados podem estar repetidos em diversos
documentos.
Única entrada para cada dado sem
possibilidade de repetição.
Universally Unique Identifier (UUID) Chaves primárias
Não suporta junções, mas possibilita criar uma
visualização o qual permite gerar uma relação
arbitrária entre documentos que não está
realmente definida no próprio BD.
Suporta junções usando chaves primárias e
estrangeiras
BDs orientados a documentos
mais utilizados
MongoDB
● Início em 2007, com primeira versão em 2009
● Código aberto
● Escrito em C++
● Multiplataforma
● Utiliza JSON com esquema dinâmico, ou seja, não existe
schema fixo
● Dados ficam armazenados de forma mais parecida com o
mundo real
● Collections são como as tabelas em BD relacional e os
documentos são como os registros
MongoDB
MongoDB - Comandos
● Create
MongoDB - Comandos
● Delete
MongoDB - Comandos
● Insert
MongoDB - Comandos
● Update
MongoDB - Comandos
● Select
MongoDB x CouchDB
MongoDB CouchDB
Escrito em Erlang Escrito em C++
Ponto forte: mantém algumas propriedades
amigáveis de SQL (query, index)
Ponto forte: consistência e facilidade de uso
Licença: AGPL Licença: Apache
Replicação: Master-slave Replicação: bidirecional
Referencias
● http://pt.slideshare.net/canderson/mongodb-27304932?rel
ated=1
● http://pt.slideshare.net/alexmartinsbezerra/no-sql-orienta
do-a-documento
● http://www.ibm.com/developerworks/br/library/os-couchdb/
● http://stackoverflow.com/questions/3375494/nosql-mongo
db-vs-couchdb

Mais conteúdo relacionado

Mais procurados

Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
Fhabiana Thieli Machado
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
Fabrício Lopes Sanchez
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Leinylson Fontinele
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Leinylson Fontinele
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
Leinylson Fontinele
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
info_cimol
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
Rademaker Siena
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Leinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Leinylson Fontinele
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
Rangel Javier
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Natanael Simões
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Leinylson Fontinele
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
Emília Alves Nogueira
 
Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018
Elaine Cecília Gatto
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Leinylson Fontinele
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
Rodrigo Bueno Santa Maria, BS, MBA
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
Rafael Albani
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tkVictor Marcelino
 

Mais procurados (20)

Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018Programação em Banco de Dados - Aula 23/08/2018
Programação em Banco de Dados - Aula 23/08/2018
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 

Destaque

NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
Rodrigo Hjort
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
Alex Martins
 
noSQL com CouchDb e PHP
noSQL com CouchDb e PHPnoSQL com CouchDb e PHP
noSQL com CouchDb e PHP
Theoziran Lima
 
Aplicações no Contexto de Big Data
Aplicações no Contexto de Big DataAplicações no Contexto de Big Data
Aplicações no Contexto de Big Data
Alvaro Viebrantz
 
CouchDB Presentation
CouchDB PresentationCouchDB Presentation
CouchDB Presentation
Bianca Caruso da Paixão
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOLAllisson Azevedo
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
Hugo Souza
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
Alvaro Viebrantz
 
Conhecendo o CouchDB
Conhecendo o CouchDBConhecendo o CouchDB
Conhecendo o CouchDB
Henrique Gogó
 
Boas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on RailsBoas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on Rails
rinaldifonsecanascimento
 
MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documento
Julio Monteiro
 
Pentaho
PentahoPentaho
Pentaho
Tiago Barreto
 
Curso AngularJS - Parte 2
Curso AngularJS - Parte 2Curso AngularJS - Parte 2
Curso AngularJS - Parte 2
Alvaro Viebrantz
 
Programacao Funcional Em Ruby
Programacao Funcional Em RubyProgramacao Funcional Em Ruby
Programacao Funcional Em RubyElomar Souza
 
Orientação a objetos na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na prática
TI Infnet
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
Ambiente Livre
 
Pentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data LakesPentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data Lakes
Ambiente Livre
 
Real-time Cassandra
Real-time CassandraReal-time Cassandra
Real-time Cassandra
Acunu
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Ambiente Livre
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
alexculpado
 

Destaque (20)

NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
noSQL com CouchDb e PHP
noSQL com CouchDb e PHPnoSQL com CouchDb e PHP
noSQL com CouchDb e PHP
 
Aplicações no Contexto de Big Data
Aplicações no Contexto de Big DataAplicações no Contexto de Big Data
Aplicações no Contexto de Big Data
 
CouchDB Presentation
CouchDB PresentationCouchDB Presentation
CouchDB Presentation
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOL
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Conhecendo o CouchDB
Conhecendo o CouchDBConhecendo o CouchDB
Conhecendo o CouchDB
 
Boas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on RailsBoas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on Rails
 
MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documento
 
Pentaho
PentahoPentaho
Pentaho
 
Curso AngularJS - Parte 2
Curso AngularJS - Parte 2Curso AngularJS - Parte 2
Curso AngularJS - Parte 2
 
Programacao Funcional Em Ruby
Programacao Funcional Em RubyProgramacao Funcional Em Ruby
Programacao Funcional Em Ruby
 
Orientação a objetos na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na prática
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
 
Pentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data LakesPentaho, Hadoop , Big Data e Data Lakes
Pentaho, Hadoop , Big Data e Data Lakes
 
Real-time Cassandra
Real-time CassandraReal-time Cassandra
Real-time Cassandra
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 

Semelhante a MongoDB e Bancos de Dados Orientados a Documentos

NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
Suzana Viana Mota
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
Renato Groff
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
João Helis Bernardo
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
Congresso Catarinense de Ciências da Computação
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
Raquel Machado
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
AndrezaRaquel1
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
Thiago de Azeredo
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
iMasters
 
NoSQL-modelos_documentos-grafo-colunatemp.pptx
NoSQL-modelos_documentos-grafo-colunatemp.pptxNoSQL-modelos_documentos-grafo-colunatemp.pptx
NoSQL-modelos_documentos-grafo-colunatemp.pptx
GLAUBER54
 
mongodb.pdf
mongodb.pdfmongodb.pdf
mongodb.pdf
NlioCorreia
 
NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017
Renato Groff
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
Luciano Ramalho
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
Manoel Ribeiro
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
Fernando Rizzato
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
Eric Silva
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Leonardo Roberto Marinho Farias
 

Semelhante a MongoDB e Bancos de Dados Orientados a Documentos (20)

NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Nosql
NosqlNosql
Nosql
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
NoSQL-modelos_documentos-grafo-colunatemp.pptx
NoSQL-modelos_documentos-grafo-colunatemp.pptxNoSQL-modelos_documentos-grafo-colunatemp.pptx
NoSQL-modelos_documentos-grafo-colunatemp.pptx
 
mongodb.pdf
mongodb.pdfmongodb.pdf
mongodb.pdf
 
NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
 

MongoDB e Bancos de Dados Orientados a Documentos

  • 1. MongoDB e Bancos de Dados Orientados a Documentos Fernanda Lembo Vedovello - 61583 Mariana Amery – 71097
  • 2. NoSQL ● Termo criado por Carlo Strozzi e Eric Evans como referência a um tipo de armazenamento de dados; ● Not Only SQL (Não apenas, não somente SQL) ● Termos NoREL e Não Relacional também são bastante utilizado. ● Alternativa ao modelo relacional
  • 3. Por que usar NoSQL? ● Escalabilidade ● Performance ● Flexibilidade ● Manipulação de quantidade massiva de dados – Dados que crescem exponencialmente; – Agregam muitos valores dinamicamente; – Não precisam de modelagem; ● Facilidade para consultas
  • 4. Tipos de NoSQL ● Key/Value: DynamoDb, Riak, Azure Table Storage, Berkeley DB, etc. ● Wide column store: Hadoop, Cassanda, Hypertable, Amazon SimpleDB, etc. ● Document store: MongoDb, CouchDB, RavenDb, etc. ● Graph store: Neo4J, Infinite Graph, InforGrid, HyperGraphDB, etc.
  • 5. Bancos de Dados Orientados a Documentos ● Conceito de dados e documentos autocontidos e auto descritivos. – Isso implica que o documento em si já define como ele deve ser apresentado e qual é o significado dos dados armazenados na sua estrutura.
  • 6. Bancos de Dados Orientados a Documentos ● Cada entrada no banco de dados corresponde a um documento, normalmente decompostos por um identificador e um valor. – É possível introduzir mais identificadores seguidos de valores neste valor. ● Dados estruturados de forma encadeada, podendo ser coleções, tags, metadatas, hierarquias de informações, etc.
  • 7. Bancos de Dados Orientados a Documentos ● Exemplo de documento: { “nome” : ”Fernanda”, “faculdade” :”UNIFESP”, “contatos” : [{“twitter” : ”@fefa”}, {“email” : ”fernanda.lembo@unifesp.br”}], “endereço” : { “CEP” : “04302020”, “rua” : “Paracatu”, “numero” : 357, “cidade” : “São Paulo”, “estado” : { “sigla”: 'SP', “nome” : “São Paulo” } } } ● Bom para aplicações de conteúdo, blogs, análise estatísticas, sistemas de gerenciamento de documentos, etc.
  • 8. Bancos de Dados Orientados a Documentos ● Permite que tenha redundância e inconsistência. ● Contêm todas as informações importantes em um único documento. ● Livre de esquemas. ● Identificadores Únicos Universais(UUID) ● Consultar os documentos através de métodos avançados de agrupamento e filtragem: MapReduce
  • 9. Bancos de Dados Orientados a Documentos ● Codifica os documentos com XML, JSON, BSON e os formatos binários mais conhecidos como PDF, DOC, XLS, etc. ● Suportam anexos e possuem um controle de versão para, se necessário, restaurar versões mais antigas.
  • 10. BDOD x BD Relacional BDOD BD Relacional Documentos autocontidos. Tabelas. Sem necessidade de definir um esquema rígido. Colunas e chaves rigidamente definida. Inserção de um novo campo sem afetar outros documentos. Modificações posteriores é uma tarefa rígida e difícil. Os documentos não precisam armazenar valores de dados vazios para campos os quais não possuem um valor. Registros não podem ser adaptados para diferentes circunstâncias. Por exemplo, deixar um campo vazio. Os dados podem estar repetidos em diversos documentos. Única entrada para cada dado sem possibilidade de repetição. Universally Unique Identifier (UUID) Chaves primárias Não suporta junções, mas possibilita criar uma visualização o qual permite gerar uma relação arbitrária entre documentos que não está realmente definida no próprio BD. Suporta junções usando chaves primárias e estrangeiras
  • 11. BDs orientados a documentos mais utilizados
  • 12. MongoDB ● Início em 2007, com primeira versão em 2009 ● Código aberto ● Escrito em C++ ● Multiplataforma ● Utiliza JSON com esquema dinâmico, ou seja, não existe schema fixo ● Dados ficam armazenados de forma mais parecida com o mundo real ● Collections são como as tabelas em BD relacional e os documentos são como os registros
  • 19. MongoDB x CouchDB MongoDB CouchDB Escrito em Erlang Escrito em C++ Ponto forte: mantém algumas propriedades amigáveis de SQL (query, index) Ponto forte: consistência e facilidade de uso Licença: AGPL Licença: Apache Replicação: Master-slave Replicação: bidirecional
  • 20. Referencias ● http://pt.slideshare.net/canderson/mongodb-27304932?rel ated=1 ● http://pt.slideshare.net/alexmartinsbezerra/no-sql-orienta do-a-documento ● http://www.ibm.com/developerworks/br/library/os-couchdb/ ● http://stackoverflow.com/questions/3375494/nosql-mongo db-vs-couchdb