Minicurso Epoca mongoDB

2.991 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.991
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.024
Ações
Compartilhamentos
0
Downloads
82
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Minicurso Epoca mongoDB

  1. 1. um exemplo de Banco de Dados NoSQL um exemplo de Banco de Dados NoSQL
  2. 2. Quem sou? DANIELE MONTENEGRO – @lelybarros Bacharel em Ciências Sociais – UFRN Graduanda em Análise e Desenvolvimento de Sistemas – IFRN E-mail: monte.daniele@gmail.com MSN: danie_monte@hotmail.comum exemplo de Banco de Dados NoSQL 02/48
  3. 3. Agenda1. Modelo SQL2. NoSQL3. O mongoDB4. Operações no mongoDB5. Execução de Código no Lado Servidor6. Aplicação Exemplo no Lado Cliente com Java um exemplo de Banco de Dados NoSQL 03/48
  4. 4. Modelo Relacional• Criação em 1970;• Elementos básicos: relações, tuplas e atributos;• A utilização de restrições de integridade (chaves);• Normalização. um exemplo de Banco de Dados NoSQL 04/48
  5. 5. Modelo Relacional• O modelo relacional usa como linguagem de definição, manipulação e consulta de dados a SQL (Structured Query Language);• Consistência dos dados. um exemplo de Banco de Dados NoSQL 05/48
  6. 6. SGBD’s SQL oferecem• Processos de validação;• Verificação e garantias de integridade dos dados;• Controle de concorrência, recuperação de falhas, segurança;• Controle de transações, otimização de consultas. um exemplo de Banco de Dados NoSQL 06/48
  7. 7. Modelo ACID do SQLAtomicidade ConsistênciaIsolamento Durabilidade um exemplo de Banco de Dados NoSQL 07/48
  8. 8. Limitações do SQL• Com o crescimento do número de usuários, o sistema começa a ter uma queda de performance.• Dificuldade em fazer a escalabilidade. um exemplo de Banco de Dados NoSQL 08/48
  9. 9. Porque tudo mudou com a Web?• Necessidade de manipulação de grandes volumes de dados não estruturados ou semi- estruturados;• Novas necessidades de disponibilidade e escalabilidade. um exemplo de Banco de Dados NoSQL 09/48
  10. 10. O que é NoSQL?• Termo genérico para um classe definida de banco de dados não- relacionais;• Forma flexível de estruturar o banco de dados. um exemplo de Banco de Dados NoSQL 10/48
  11. 11. Quando surgiram?• O termo surgiu em 1998;• Primeiras propostas pela comunidade de software livre;• A primeira implementação foi em 2004 com BigTable da Google;• Em 2007, a Amazon apresenta o sistema Dynamo. um exemplo de Banco de Dados NoSQL 11/48
  12. 12. Modelo BASE do NoSQL Basicamente disponível Estado leveConsistente em momento indeterminado um exemplo de Banco de Dados NoSQL 12/48
  13. 13. Características do NoSQL• Escalabilidade horizontal;• Ausência de esquema ou flexível;• Suporte nativo a replicação;• API simples para acesso a dados;• Consistência eventual. um exemplo de Banco de Dados NoSQL 13/48
  14. 14. Tipos de Modelo de Dados NoSQL• Orientado a documentos;• Armazenamento Chave-valor;• Baseado em Grafos;• Orientado a Coluna. um exemplo de Banco de Dados NoSQL 14/48
  15. 15. Exemplos de Banco NoSQLum exemplo de Banco de Dados NoSQL 15/48
  16. 16. Não usar x Usar o NoSQL• Aplicativos que necessitam de uma forte • Aplicativos que acessam regra de negocio; dados rapidamente;• Um maior grau de rigor • Dados que são quanto à consistência acessados com dos dados; frequência;• Sistemas em que os • Sistemas que os dados dados necessitam ser não precisam ser estruturados. estruturados. um exemplo de Banco de Dados NoSQL 16/48
  17. 17. O mongoDB• Banco de dados Orientado a Documentos;• Usa o formato BSON;• Escrito em C++;• Alta performance;• Suporta tipos ricos. um exemplo de Banco de Dados NoSQL 17/48
  18. 18. O mongoDB• Binários oficiais disponíveis para Windows®, Mac OS X, Linux® e Solaris;• Drivers para C, C#, C++, Haskell, Java™, JavaScript, Perl, PHP, Python, Ruby e Scala; um exemplo de Banco de Dados NoSQL 18/48
  19. 19. Porque o mongoDB?• Orientado a documentos;• Alta performance;• Alta disponibilidade;• Fácil escalabilidade;• Linguagem rica de consulta. um exemplo de Banco de Dados NoSQL 19/48
  20. 20. Modelo de Dados do mongoDB• Um banco de dados armazena um conjunto de coleções;• Uma coleção armazena um conjunto de documentos;• Um documento é um conjunto de campos;• Um campo é um par chave-valor;• Uma chave é um nome;• Um valor é um tipo básico. um exemplo de Banco de Dados NoSQL 20/48
  21. 21. Modelo de Dados do mongoDBum exemplo de Banco de Dados NoSQL 21/48
  22. 22. Coleções• Agrupamento lógico de documentos;• Schema-free;• Número ilimitado de documentos. um exemplo de Banco de Dados NoSQL 22/48
  23. 23. Documentos• Unidade de armazenamento;• Todos devem ter um _id único;• Tamanho máximo de 4MB. – para objetos maiores, usa-se GridFS um exemplo de Banco de Dados NoSQL 23/48
  24. 24. BSON• Objetos no MongoDB;• "Binary JSON“;• Permite representação de tipos ricos. um exemplo de Banco de Dados NoSQL 24/48
  25. 25. Como começar?• Baixar os Binários disponíveis para 32 e 64 bits no link: Baixar mongoDB um exemplo de Banco de Dados NoSQL 25/48
  26. 26. Instalação Windows• Baixa o arquivo do mongo;• Descompacta de preferência na Unidade C;• Renomeia o arquivo para mongodb;• Cria duas pastas uma chamada data e a outra log; um exemplo de Banco de Dados NoSQL 26/48
  27. 27. Instalação WindowsRecomendado instalar como serviço, digita -seno Prompt: um exemplo de Banco de Dados NoSQL 27/48
  28. 28. Instalação WindowsDepois é só iniciar o serviço digitando noPrompt: um exemplo de Banco de Dados NoSQL 28/48
  29. 29. Instalação Ubuntu• Abre o terminal e digita: > sudo apt-get install mongodb um exemplo de Banco de Dados NoSQL 29/48
  30. 30. Shell do mongoDBum exemplo de Banco de Dados NoSQL 30/48
  31. 31. Regra de Sintaxe• O atributo para o mongoDB tem duas regras devem ser satisfeitas:  O nome do atributo não deve começar com o caractere $;  e o caractere ‘.’ jamais poderá ser incluso. um exemplo de Banco de Dados NoSQL 31/48
  32. 32. Criando banco, coleções e documentos• Criar banco: use [nome banco]• Criar Coleção e adicionar um documento: db.colecao.save({atributo: “valor”, atributo: “valor”}) ou doc = ({atributo: “valor”, atributo: “valor”}) db.colecao.save(doc) um exemplo de Banco de Dados NoSQL 32/48
  33. 33. Criando banco, coleções e documentos um exemplo de Banco de Dados NoSQL 33/48
  34. 34. Listando os dados de uma Coleçãoum exemplo de Banco de Dados NoSQL 34/48
  35. 35. Remover dados de uma Coleçãoum exemplo de Banco de Dados NoSQL 35/48
  36. 36. Operadores CondicionaisOperadores Valor$lt Menor que$lte Menor igual que$gt Maior que$gte Maior igual que$not Não igual$all Todos os valores de um array$exists Verificar se um campo existe ou não$or Corresponder uma consulta a outra um exemplo de Banco de Dados NoSQL 36/48
  37. 37. Utilitários de administração• http://localhost:28017;• db.serverStatus();• db.stats();• mongod --repair um exemplo de Banco de Dados NoSQL 37/48
  38. 38. Banco de Exemploum exemplo de Banco de Dados NoSQL 38/48
  39. 39. Comandos• db.alfabeto.find();• it;• db.alfabeto.find().forEach(printjson); um exemplo de Banco de Dados NoSQL 39/48
  40. 40. Consultas• db.alfabeto.find({char: "o"});• db.alfabeto.find({code:{$lte:100}});• db.alfabeto.find({code:{$in:[102,103,104,105]}} , {char: 1});• db.alfabeto. find({code: {$gte: 118}}).sort({code: 0}); um exemplo de Banco de Dados NoSQL 40/48
  41. 41. Resultados de paginação usando• db.alfabeto.find().limit(5);• db.alfabeto.find().skip(5).limit(5); um exemplo de Banco de Dados NoSQL 41/48
  42. 42. Funções de Grupo e Agregação• db.alfabeto.find().count();• db.allfabeto.find({code: {$gte: 105}}).count();• db.contato.distinct("name"); um exemplo de Banco de Dados NoSQL 42/48
  43. 43. Função Group• SQL:SELECT name, COUNT(*) FROM colors GROUP BYname; um exemplo de Banco de Dados NoSQL 43/48
  44. 44. Função Group• mongoDBdb.colors.group( {key: {name: true},cond: {}, initial: {count: 0}, reduce: function(doc, out) { out.count++; }}); um exemplo de Banco de Dados NoSQL 44/48
  45. 45. Mais comandos• db.cor.drop();• show collections;• show dbs. um exemplo de Banco de Dados NoSQL 45/48
  46. 46. Ferramentas e outros recursos• Importando e exportando dados;• Fazer backup e restaurar bancos de dados um exemplo de Banco de Dados NoSQL 46/48
  47. 47. Dúvidas?um exemplo de Banco de Dados NoSQL 47/48
  48. 48. Obrigada!um exemplo de Banco de Dados NoSQL

×