SlideShare uma empresa Scribd logo
DOCUMENT STORE
TADS- Banco de Dados II
Aline Ferreira
DOCUMENT STORE
• Banco de Dados Orientado a Documentos
• Como o próprio nome diz, este modelo armazena
coleções de documentos.
E o que são documentos?
• Um documento é um objeto com um
identificador único acrescido de um conjunto
de campos, que se assemelham a estrutura de
chave valor.
Características
• Permite que tenha redundância e inconsistência.
• Contêm todas as informações importantes em um único
documento.
• Livre de esquemas.
• Consultar os documentos através de métodos avançados de
agrupamento e filtragem: MapReduce
Não há Registros e sim Documentos!
RELACIONAL ORIENTADO A DOCUMENTOS
Os Documentos podem possuir os seguintes
formatos:
• XML,
• JSON,
• PDF,
• Microsoft Word, etc...
MongoDB vem da palavra
humongous= grande, enorme
Caracteristicas:
• Open- Source- desenvolvido e mantido pela 10gen;;
• Alta Performance;
• Escrito em C++;
• Consultas dinâmicas;
• Eficiente para armazenar dados binários, como: fotos e vídeos;
• Consultas são baseadas em documentos;
• Sharding = particionamento em múltiplos servidores;
• Suporta internamente MapReduce;
• Possui drivers para várias linguagens: Python, Java, PHP,
Erlang, etc
• Utiliza documentos JSON para o modelo de dados
Por Que JSON?
• JSON (JavaScript Object Notation) é um
formato leve de troca de dados, é um
subconjunto pequeno de Javascript;
• É independente de linguagem de programção,
composto por pares de chave e valor;
• As consultas são feitas por JSON e o retorno é
sempre um documento JSON, ou uma lista de
documentos JSON;
• A linguagem de comandos e funções internas
do MongoDB é JavaScript.
Documento JSON
Relacional Mongodb
Data Base(Banco de Dados) Data Base(Banco de Dados)
Tabela Coleção
Linha, Registro Documento
Coluna Atributo
ID NOME IDADE
1 Aline 18
2 Caio 22
... ... ....
ID: 1
NOME: “Aline”
IDADE: 18
Conexão na base de dados
• Para conectar na base basta usar o
comando mongo:
• Comparando expressões
– Create
MongoDB
• Comparando expressões
– Delete
• Comparando expressões
– Insert
• Comparando expressões
– Select
• Comparando expressões
– Select
• Comparando expressões
– Select
MapReduce
• O mongodb suporta o mapReduce , que é utilizado
tanto para filtrar como para modificar valores
• db.runCommand(
• { mapreduce : <collection>,
• map : <mapfunction>,
• reduce : <reducefunction>
• [, query : <query filter object>]
• [, sort : <sorts the input objects using this key. Useful for optimization>]
• [, limit : <number of objects to return from collection>]
• [, out : <see output options below>]
• [, keeptemp: <true|false>]
• [, finalize : <finalizefunction>]
• [, scope : <object where fields go into javascriptglobal scope >]
• [, jsMode : true]
• [, verbose : true]
• }
• );
•
map = function() {
emit({tipo_movimentacao: this.tipo_movimentacao},{count: 1});
}
• reduce = function(key, values) {
• var count = 0;
• values.forEach(function(v) {
• count += v['count'];
• });
• return {count: count};
• }
GridFs
• O MongoDB usa a especificação GridFS para
armazenar arquivos grandes, dividindo-os em
pedaços menores entre diversos documentos.
Pra que é indicado?
• Empresas que utilizam o MongoDB
– Dentre as empresas que já usam o MongoDB,destaque para a
globo.com (com o Cartola FC), SourceForge ea FourSquare.
– Outrosprojetoscom MongoDBna Globo.comsão: receitas.com, novo
catálogo de vídeos da emissora, com 800 mil arquivoscadastrados, e o
site de participações em eventose programas da Globo.
Duvidas?
Referências
• Documentação. Disponível em: < http://www.mongodb.org/>.
• Ianni, Vinicius. Introdução aos bancos dedados NoSQL. Disponível em: <http://www.devmedia.com.br/introducao-aos-
bancos-de-dados-nosql/26044#ixzz2O7Sed5P3>.
• Ianni, Vinicius. Big Data: Algumas definições e, sim, servetambém para o pequeno negócio! Disponível em:
<http://www.devmedia.com.br/space.asp?id=198225>.
• Lerner, Alberto. Introdução ao MongoDB –Direto da fonte! Disponível em: <http://ensinar.wordpress.com/tag/mongodb/>.
• Lennon, Joe. Exploreo MongoDB. Disponível em: <http://www.ibm.com/developerworks/br/library/os-mongodb4/>.
• Nascimento, Jean3 Razões para usar MongoDB. Disponível em: <http://imasters.com.br/artigo/18334/mongodb/3-razoes-
para-usar-mongodb/>.
• Nascimento, Jean. Como utilizar selects com MongoDB. Disponível em:
<http://imasters.com.br/artigo/17308/mongodb/como-utilizar-selects-com-mongodb//>.

Mais conteúdo relacionado

Semelhante a Document store e Mongodb

MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
Leandro Domingues
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
Terra / Neo
 
Mongo db
Mongo dbMongo db
Mongo db
Edmilson Neto
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Christiano Anderson
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
Alex Martins
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
Nécio de Lima Veras
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | Florianópolis
Jefferson Martins de Andrade
 
5 bdoo+bdor
5 bdoo+bdor5 bdoo+bdor
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
Fabiano Modos
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
Ari Stopassola Junior
 
Otimizando a performance com in-memory no SQL 2016
Otimizando a performance com in-memory no SQL 2016Otimizando a performance com in-memory no SQL 2016
Otimizando a performance com in-memory no SQL 2016
Luiz Henrique Garetti Rosário
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
Luiz Henrique Zambom Santana
 
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
 
FireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBFireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDB
Alan Glei
 
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
 
Slides .pptx.pdf
Slides .pptx.pdfSlides .pptx.pdf
Slides .pptx.pdf
ssuser546d49
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
Alvaro Viebrantz
 
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
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
Leonardo Loures Quirino
 
Spring Data com MongoDB
Spring Data com MongoDBSpring Data com MongoDB
Spring Data com MongoDB
Fabiano Modos
 

Semelhante a Document store e Mongodb (20)

MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Mongo db
Mongo dbMongo db
Mongo db
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | Florianópolis
 
5 bdoo+bdor
5 bdoo+bdor5 bdoo+bdor
5 bdoo+bdor
 
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Otimizando a performance com in-memory no SQL 2016
Otimizando a performance com in-memory no SQL 2016Otimizando a performance com in-memory no SQL 2016
Otimizando a performance com in-memory no SQL 2016
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
FireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBFireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDB
 
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
 
Slides .pptx.pdf
Slides .pptx.pdfSlides .pptx.pdf
Slides .pptx.pdf
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
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
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
Spring Data com MongoDB
Spring Data com MongoDBSpring Data com MongoDB
Spring Data com MongoDB
 

Último

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (8)

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Document store e Mongodb

  • 1. DOCUMENT STORE TADS- Banco de Dados II Aline Ferreira
  • 2. DOCUMENT STORE • Banco de Dados Orientado a Documentos • Como o próprio nome diz, este modelo armazena coleções de documentos.
  • 3. E o que são documentos? • Um documento é um objeto com um identificador único acrescido de um conjunto de campos, que se assemelham a estrutura de chave valor.
  • 4.
  • 5. Características • Permite que tenha redundância e inconsistência. • Contêm todas as informações importantes em um único documento. • Livre de esquemas. • Consultar os documentos através de métodos avançados de agrupamento e filtragem: MapReduce
  • 6. Não há Registros e sim Documentos!
  • 8. Os Documentos podem possuir os seguintes formatos: • XML, • JSON, • PDF, • Microsoft Word, etc...
  • 9.
  • 10. MongoDB vem da palavra humongous= grande, enorme
  • 11. Caracteristicas: • Open- Source- desenvolvido e mantido pela 10gen;; • Alta Performance; • Escrito em C++; • Consultas dinâmicas; • Eficiente para armazenar dados binários, como: fotos e vídeos;
  • 12. • Consultas são baseadas em documentos; • Sharding = particionamento em múltiplos servidores; • Suporta internamente MapReduce; • Possui drivers para várias linguagens: Python, Java, PHP, Erlang, etc • Utiliza documentos JSON para o modelo de dados
  • 13. Por Que JSON? • JSON (JavaScript Object Notation) é um formato leve de troca de dados, é um subconjunto pequeno de Javascript; • É independente de linguagem de programção, composto por pares de chave e valor;
  • 14. • As consultas são feitas por JSON e o retorno é sempre um documento JSON, ou uma lista de documentos JSON; • A linguagem de comandos e funções internas do MongoDB é JavaScript.
  • 16. Relacional Mongodb Data Base(Banco de Dados) Data Base(Banco de Dados) Tabela Coleção Linha, Registro Documento Coluna Atributo
  • 17. ID NOME IDADE 1 Aline 18 2 Caio 22 ... ... ....
  • 19. Conexão na base de dados • Para conectar na base basta usar o comando mongo:
  • 26. MapReduce • O mongodb suporta o mapReduce , que é utilizado tanto para filtrar como para modificar valores
  • 27. • db.runCommand( • { mapreduce : <collection>, • map : <mapfunction>, • reduce : <reducefunction> • [, query : <query filter object>] • [, sort : <sorts the input objects using this key. Useful for optimization>] • [, limit : <number of objects to return from collection>] • [, out : <see output options below>] • [, keeptemp: <true|false>] • [, finalize : <finalizefunction>] • [, scope : <object where fields go into javascriptglobal scope >] • [, jsMode : true] • [, verbose : true] • } • ); •
  • 28. map = function() { emit({tipo_movimentacao: this.tipo_movimentacao},{count: 1}); } • reduce = function(key, values) { • var count = 0; • values.forEach(function(v) { • count += v['count']; • }); • return {count: count}; • }
  • 29. GridFs • O MongoDB usa a especificação GridFS para armazenar arquivos grandes, dividindo-os em pedaços menores entre diversos documentos.
  • 30. Pra que é indicado?
  • 31. • Empresas que utilizam o MongoDB – Dentre as empresas que já usam o MongoDB,destaque para a globo.com (com o Cartola FC), SourceForge ea FourSquare. – Outrosprojetoscom MongoDBna Globo.comsão: receitas.com, novo catálogo de vídeos da emissora, com 800 mil arquivoscadastrados, e o site de participações em eventose programas da Globo.
  • 33. Referências • Documentação. Disponível em: < http://www.mongodb.org/>. • Ianni, Vinicius. Introdução aos bancos dedados NoSQL. Disponível em: <http://www.devmedia.com.br/introducao-aos- bancos-de-dados-nosql/26044#ixzz2O7Sed5P3>. • Ianni, Vinicius. Big Data: Algumas definições e, sim, servetambém para o pequeno negócio! Disponível em: <http://www.devmedia.com.br/space.asp?id=198225>. • Lerner, Alberto. Introdução ao MongoDB –Direto da fonte! Disponível em: <http://ensinar.wordpress.com/tag/mongodb/>. • Lennon, Joe. Exploreo MongoDB. Disponível em: <http://www.ibm.com/developerworks/br/library/os-mongodb4/>. • Nascimento, Jean3 Razões para usar MongoDB. Disponível em: <http://imasters.com.br/artigo/18334/mongodb/3-razoes- para-usar-mongodb/>. • Nascimento, Jean. Como utilizar selects com MongoDB. Disponível em: <http://imasters.com.br/artigo/17308/mongodb/como-utilizar-selects-com-mongodb//>.