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

Document store e Mongodb

  • 1.
    DOCUMENT STORE TADS- Bancode Dados II Aline Ferreira
  • 2.
    DOCUMENT STORE • Bancode Dados Orientado a Documentos • Como o próprio nome diz, este modelo armazena coleções de documentos.
  • 3.
    E o quesão documentos? • Um documento é um objeto com um identificador único acrescido de um conjunto de campos, que se assemelham a estrutura de chave valor.
  • 5.
    Características • Permite quetenha 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á Registrose sim Documentos!
  • 7.
  • 8.
    Os Documentos podempossuir os seguintes formatos: • XML, • JSON, • PDF, • Microsoft Word, etc...
  • 10.
    MongoDB vem dapalavra 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ãobaseadas 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 consultassã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.
  • 15.
  • 16.
    Relacional Mongodb Data Base(Bancode Dados) Data Base(Banco de Dados) Tabela Coleção Linha, Registro Documento Coluna Atributo
  • 17.
    ID NOME IDADE 1Aline 18 2 Caio 22 ... ... ....
  • 18.
  • 19.
    Conexão na basede dados • Para conectar na base basta usar o comando mongo:
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    MapReduce • O mongodbsuporta 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 MongoDBusa a especificação GridFS para armazenar arquivos grandes, dividindo-os em pedaços menores entre diversos documentos.
  • 30.
    Pra que éindicado?
  • 31.
    • Empresas queutilizam 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.
  • 32.
  • 33.
    Referências • Documentação. Disponívelem: < 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//>.