SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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

MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...ScyllaDB
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisKnoldus Inc.
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우PgDay.Seoul
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial EditionMario Beck
 
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기Amazon Web Services Korea
 
Basics of MongoDB
Basics of MongoDB Basics of MongoDB
Basics of MongoDB Habilelabs
 
Banco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBaseBanco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBaseSergioSouza
 
New optimizer features in MariaDB releases before 10.12
New optimizer features in MariaDB releases before 10.12New optimizer features in MariaDB releases before 10.12
New optimizer features in MariaDB releases before 10.12Sergey Petrunya
 
Easy, scalable, fault tolerant stream processing with structured streaming - ...
Easy, scalable, fault tolerant stream processing with structured streaming - ...Easy, scalable, fault tolerant stream processing with structured streaming - ...
Easy, scalable, fault tolerant stream processing with structured streaming - ...Databricks
 
BPMN - Modelagem de negocio
BPMN - Modelagem de negocioBPMN - Modelagem de negocio
BPMN - Modelagem de negocioEduardo Greco
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfSrirakshaSrinivasan2
 
HBase Application Performance Improvement
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance ImprovementBiju Nair
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google CloudPgDay.Seoul
 
Bddm recuperação de falhas em banco distribuido
Bddm   recuperação de falhas em banco distribuidoBddm   recuperação de falhas em banco distribuido
Bddm recuperação de falhas em banco distribuidoAntonio Ezequiel Mendonça
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL TuningPgDay.Seoul
 
Sqlite - Introdução
Sqlite - IntroduçãoSqlite - Introdução
Sqlite - IntroduçãoJoao Johanes
 

Mais procurados (20)

MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Aula 1
Aula 1Aula 1
Aula 1
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial Edition
 
Informação como coisa (Michael Buckland)
Informação como coisa (Michael Buckland)Informação como coisa (Michael Buckland)
Informação como coisa (Michael Buckland)
 
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
 
Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Basics of MongoDB
Basics of MongoDB Basics of MongoDB
Basics of MongoDB
 
Banco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBaseBanco de Dados Temporais - Temporal DataBase
Banco de Dados Temporais - Temporal DataBase
 
New optimizer features in MariaDB releases before 10.12
New optimizer features in MariaDB releases before 10.12New optimizer features in MariaDB releases before 10.12
New optimizer features in MariaDB releases before 10.12
 
Easy, scalable, fault tolerant stream processing with structured streaming - ...
Easy, scalable, fault tolerant stream processing with structured streaming - ...Easy, scalable, fault tolerant stream processing with structured streaming - ...
Easy, scalable, fault tolerant stream processing with structured streaming - ...
 
BPMN - Modelagem de negocio
BPMN - Modelagem de negocioBPMN - Modelagem de negocio
BPMN - Modelagem de negocio
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
HBase Application Performance Improvement
HBase Application Performance ImprovementHBase Application Performance Improvement
HBase Application Performance Improvement
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
 
Bddm recuperação de falhas em banco distribuido
Bddm   recuperação de falhas em banco distribuidoBddm   recuperação de falhas em banco distribuido
Bddm recuperação de falhas em banco distribuido
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning
 
Sqlite - Introdução
Sqlite - IntroduçãoSqlite - Introdução
Sqlite - Introdução
 
RTree Spatial Indexing with MongoDB - MongoDC
RTree Spatial Indexing with MongoDB - MongoDC RTree Spatial Indexing with MongoDB - MongoDC
RTree Spatial Indexing with MongoDB - MongoDC
 

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 MongoDBRodrigo Hjort
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
noSQL com CouchDb e PHP
noSQL com CouchDb e PHPnoSQL com CouchDb e PHP
noSQL com CouchDb e PHPTheoziran 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 DataAlvaro Viebrantz
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOLAllisson Azevedo
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDBHugo Souza
 
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 Railsrinaldifonsecanascimento
 
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 documentoJulio Monteiro
 
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áticaTI 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 LakesAmbiente Livre
 
Real-time Cassandra
Real-time CassandraReal-time Cassandra
Real-time CassandraAcunu
 
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
 
Spark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataSpark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataVictor Coustenoble
 

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...
 
Spark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational DataSpark + Cassandra = Real Time Analytics on Operational Data
Spark + Cassandra = Real Time Analytics on Operational Data
 

Semelhante a MongoDB Documentos Bancos

DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloRenato 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ídosJoão Helis Bernardo
 
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
 
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.pptxGLAUBER54
 
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 - 2017Renato Groff
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosLuciano Ramalho
 
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 NoSQLEric 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 Documentos Bancos (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 Documentos Bancos

  • 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