Slides

Introdução ao MongoDB (NoSQL)

Description
1. Um banco de dados noSQL MSc.Thiago Ribeiro de Azeredo Professor do curso de Engenharia da Computação 2. O que é um banco noSQL? ã NoSQL abrange uma grande…
Categories
Published
of 17
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Um banco de dados noSQL MSc.Thiago Ribeiro de Azeredo Professor do curso de Engenharia da Computação
  • 2. O que é um banco noSQL? • NoSQL abrange uma grande variedade de diferentes tecnologias de banco de dados que foram desenvolvidos em resposta a um aumento do volume de dados armazenados sobre usuários, objetos e produtos, a frequência em que esses dados são acessados, e desempenho de processamento e necessidades. Bancos de dados relacionais, por outro lado, não foram projetados para lidar com os desafios de escala e agilidade que enfrentam aplicações modernas, nem foram construídos para tirar proveito do armazenamento barato e poder de processamento disponível hoje. https://www.mongodb.com/nosql-explained
  • 3. Quais as vantagens de um banco noSQL? • Quando comparado com bancos de dados relacionais, bancos de dados NoSQL são mais escaláveis e proporcionam um desempenho superior. • Seu modelo de dados aborda várias questões que o modelo relacional não é projetado para lidar com: • Grandes volumes de dados estruturados, semi-estruturados, não-estruturados e • Sprints ágeis, iteração rápida e empurrões código frequentes • Programação orientada a objetos • Arquitetura escalável no lugar de arquitetura monolítica https://www.mongodb.com/nosql-explained
  • 4. Como são tão rápidos e escaláveis? Auto-sharding! Nativamente e automaticamente propagam dados entre um número arbitrário de servidores, sem exigir a aplicação ao mesmo esteja ciente da composição do pool de servidores. Dados e carga de consulta são automaticamente equilibrada entre servidores, e quando um servidor cair, ela pode ser rápida e transparente substituído sem interrupção do aplicativo. https://www.mongodb.com/nosql-explained
  • 5. Quais são os tipos de bancos noSQL? • Chave/Valor • Grafo • Colunas • Documentos
  • 6. Chave/Valor • São os mais simples bancos NoSQL. • Todo item é armazenado com uma chave que o identifica • Muito útil para desenvolvimento de aplicações na nuvem • Exemplos: CouchDB, Oracle NoSQL Database, Dynamo, FoundationDB, HyperDex, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike, OrientDB, MUMPS, Voldemort
  • 7. Grafo • Armazenam de forma natural informações interligada • Conexões em redes sociais, mapa de ruas, topologia de redes são bons exemplo de utilização • Exemplos: Allegro, Neo4J, InfiniteGraph, OrientDB,Virtuoso, Stardog
  • 8. Colunas • Otimizados para fazer consultas em grandes conjuntos de dados • Armazena os dados em colunas ao invés de linhas • Exemplos: Cassandra, HBase
  • 9. Documentos • Cada registro é uma estrutura complexa chamada de documento • Cada documento contém um identificador único • Cada documento pode conter uma enorme quantidade chaves e valores • Um valor pode ser um vetor de valores • Um valor também pode ser um outro documento • Exemplos: Clusterpoint, Apache CouchDB, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, MongoDB, OrientDB, Qizx
  • 10. Documentos • Cada registro é uma estrutura complexa chamada de documento • Cada documento contém um identificador único • Cada documento pode conter uma enorme quantidade chaves e valores • Um valor pode ser um vetor de valores • Um valor também pode ser um outro documento • Exemplos: Clusterpoint, Apache CouchDB, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, MongoDB, OrientDB, Qizx
  • 11. MongoDB • Do inglês humongous (gigantesco) • Primeira versão publicada em 2009 • Quem usa? • Cidade de Chicago • Expedia • Adobe • Facebook • MTV • EA • CISCO • Verizon • The NewYorkTimes • eBay • Google • PEBBLE
  • 12. Como funciona? • Armazena todas as informações em formato JSON (JavaScript Object Notation) • Pode-se fazer analogias entre: • Coleções eTabelas • Documentos e Linhas
  • 13. Iniciando o banco •http://pastebin.com/Qd11K4xw
  • 14. Primeiros passos • Shell do mongoDB aceita comandos javascript • Não existe comando para criar um novo database. É criado automaticamente. • Não existe comando para criar uma coleção. É criada automaticamente • Automaticamente quando? • Quando um documento for inserido! • show dbs • show collections • use fsma • db.alunos.insert({"nome":"Thiago",“sexo":”Masculino”}) • db.alunos.find()
  • 15. Inserindo documentos complexos db.alunos.insert( { "nome":"Thiago", "nascimento": new ISODate("1990-01-01"), “cr”:8.72, "materias":[ { "nome":"matemática", "créditos":3 }, { "nome":"programação", "créditos":2 } ] } )
  • 16. Como fazer buscas? • db.alunos.find() • db.alunos.find({“nome”:”Thiago”}) • db.alunos.find({“cr”:{$gt:8}}) • db.alunos.find({"materias":{$elemMatch: { "nome":"matemática"} } }) • db.alunos.find({},{“nome”:1}) • db.alunos.find({“cr”:{$gt:8}},{“materias”:1,_id:0}) $eq $gt $gte $lt $lte $ne $in $nin - $or $and $not $nor - $exists $type https://docs.mongodb.org/manual/reference/operator/query/
  • 17. Alterando/Removendo documentos db.alunos.update( {"cr“ : { $gt : 8 } }, { $set : { "cr“ : 9 } } ) db.alunos.remove({“cr”:9})
  • Victor

    Feb 13, 2018
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks