SlideShare une entreprise Scribd logo
1  sur  33
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//>.

Contenu connexe

Similaire à Document store e Mongodb

Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
Nécio de Lima Veras
 

Similaire à 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
 

Dernier

Dernier (9)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

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//>.