1 / 23

Mongo db

Base de dados NoSQL. Mongo db. - Nuno Peralta - João Proença. Sistema de Base de Dados; Não usa SQL, orientada a documentos ; Usa o formato Binary JSON; Schema-Less; Escrito em C; S uporta índices ; Auto-Sharding;

yoland
Download Presentation

Mongo db

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Base de dados NoSQL Mongo db - Nuno Peralta - João Proença

  2. Sistema de Base de Dados; Nãousa SQL, orientada a documentos; Usa o formato Binary JSON; Schema-Less; Escrito em C; Suporta índices; Auto-Sharding; Insert / Update -> Dados armazenados em memória em segundo plano, depois gravados em disco. O que é?

  3. Cloud Computing; Estrutura de DBs actual não suporta a escalabilidade exigida pela nuvem; Muitos dados na WEB para serem armazenados, necessidades de grandes armazenamentos; Respostas mais rápidas pelas aplicações; Diminuição do custo em DBA (DataBase Administrators) e DBM (DataBase Managements). Qual a necessidade de nosql?

  4. Ser diferente do modelo relacional, por isso NoREL? • NoSQL é mais comercial =P • Base de dados horizontais: • Baixo custo; • Poder de processamento; • Facilidade de manutenção. objectivo

  5. Bases de Dados Colecções Documentos BSON Modelo de dados

  6. Ficheiro (.ns) com todos os namespaces (nome das colecções); Faz a junção física das colecções. Bases de Dados

  7. Equivalente a tabelas numa base de dados relacional; Faz a junção lógica dos documentos. ColeCções

  8. Equivalente a linhas numa base de dados relacional; Onde os dados em si são armazenados; Todos eles têm um ID único. Documentos

  9. JSON em binário; Formato de armazenamento de dados no MongoDB; Guarda todos outros tipos de dados (string, int, etc). BSON

  10. Tem limites nas colecções. Aumentar limite -> Correr mais processos “mongod” e particionar a DB entre processos. Muitas empresas a usar MongoDB, mas grande parte não o usa como DB principal. Erros de memória e espaço, como aconteceu no nosso trabalho. BASE de DADOS DE grandes dimensões

  11. TRABALHO - EXEMPLO

  12. Queries MongoDB bastante verbosas; Chave-valor; Aplicação deve verificar consistência/integridade. Interface aplicações externas

  13. Tabela de suporte: Vs mysql

  14. Vs mysql

  15. Vs mysql

  16. Vs mysql

  17. Vs mysql { }

  18. Vs mysql

  19. Inserção: Selecção: Vs mysql (tempos)

  20. Fazer a ligação: $connection = new Mongo(); • Seleccionar uma base de dados: $database = $connection->selectDB(‘nomedabase’); • Seleccionar uma colecção: $collection = $database->selectCollection(‘nomedacoleccao’); Alguns EXEMPLOS PRÁTICOS

  21. Criar documento: $doc = array(“nome” => “Nuno”, “email” => “nuno@mdb.com”); • Guardar documento na coleção: $collection->save($doc); • SELECTS: $gt, $lt, $gte, $lte, $eq, $neq, $size, $exists, $in, $nin, group(), limit(), skip(), sort(). • UPDATES: $set, $unset, $push, $pull, $inc $collection->update(<select>, <novo_obj>, <upsert>, <multi>); Alguns EXEMPLOS PRÁTICOS

  22. Criar/garantir índice: $collection->ensureIndex(array(“campo" => 1)); • Indice único: $collection->ensureIndex(array(“campo" => 1), array("unique" => 1)); • Remover um índice: $collection->deleteIndex(“campo”); índices

  23. MongoDB é mais rápido; • Nem sempre é a melhor escolha; • Usar quando queremos boa performance, os dados não necessitem de consistência, e não seja preciso relacionar tabelas; • Para aplicações que necessitam de realtime e históricos; • Caso contrário, MySQL. Conclusão

More Related