O slideshow foi denunciado.

MongoDB FLISoL 2016

1

Compartilhar

Próximos SlideShares
PHP com MongoDB
PHP com MongoDB
Carregando em…3
×
1 de 27
1 de 27

Mais Conteúdo rRelacionado

Audiolivros relacionados

Gratuito durante 14 dias do Scribd

Ver tudo

MongoDB FLISoL 2016

  1. 1. 16 de abril FLISOL 2016 1 MongoDBMongoDB Not Only SQLNot Only SQL
  2. 2. 16 de abril FLISOL 2016 2 Lucas de OliveiraLucas de Oliveira http://deoliveiralucas.nethttp://deoliveiralucas.net
  3. 3. 16 de abril FLISOL 2016 3 • NoSQL = Not Only SQL • Alto desempenho • Diferentes modelos de dados (documentos, grafos, chave-valor e colunas) NoSQLNoSQL
  4. 4. 16 de abril FLISOL 2016 4 • JSON/BSON • Schemaless • Replica Set MongoDBMongoDB
  5. 5. 16 de abril FLISOL 2016 5 • Sharding • GridFS • Geolocation MongoDBMongoDB
  6. 6. 16 de abril FLISOL 2016 6 ExemploExemplo: Banco de dados relacional MongoDBMongoDB IdId nomenome emailemail 1 Aluno1 email1@email.com 2 Aluno2 email2@email.com Tabela de alunos idid id_alunoid_aluno telefonetelefone 1 1 1234-5678 2 1 1234-7070 3 2 9101-1121 Tabela de telefones
  7. 7. 16 de abril FLISOL 2016 7 ExemploExemplo: Não relacional orientado a documentos MongoDBMongoDB { nome: Aluno1, email: email1@email.com, telefones: [ 1234-5678, 1234-7070 ] } { nome: Aluno2, email: email2@email.com, telefones: [ 9101-1121 ] }
  8. 8. 16 de abril FLISOL 2016 8 > mongoimport --db unisal --collection posts --file posts.json > mongoimport --db unisal --collection grades --file grades.json • --batchSize 1 > mongoexport --db unisal --collection posts --out posts.json MongoDB – Import / ExportMongoDB – Import / Export
  9. 9. 16 de abril FLISOL 2016 9 > mongod > mongo > show dbs > use unisal > show collections MongoDB – AcessoMongoDB – Acesso
  10. 10. 16 de abril FLISOL 2016 10 > db.alunos.insert({ nome: "Lucas", sobrenome: "de Oliveira", email: "contato@deoliveiralucas.net" }) MongoDB - InserirMongoDB - Inserir
  11. 11. 16 de abril FLISOL 2016 11 > var aluno = { nome: "de Oliveira", sobrenome: "Lucas", email: "deoliveiralucas@contato.net" } > db.alunos.insert(aluno) MongoDB - InserirMongoDB - Inserir
  12. 12. 16 de abril FLISOL 2016 12 > var query = { nome: "Lucas" } > db.alunos.find(query) MongoDB - ConsultarMongoDB - Consultar
  13. 13. 16 de abril FLISOL 2016 13 OperadoresOperadores (Comparação)(Comparação) • $eq • $gt • $gte • $lt MongoDB - ConsultarMongoDB - Consultar
  14. 14. 16 de abril FLISOL 2016 14 OperadoresOperadores (Comparação)(Comparação) • $lte • $ne • $in • $nin MongoDB - ConsultarMongoDB - Consultar
  15. 15. 16 de abril FLISOL 2016 15 OperadoresOperadores (Lógico)(Lógico) • $or • $and • $not • $nor MongoDB - ConsultarMongoDB - Consultar
  16. 16. 16 de abril FLISOL 2016 16 • Map-Reduce • Aggregation MongoDB - ConsultarMongoDB - Consultar
  17. 17. 16 de abril FLISOL 2016 17 > var query = { nome: "Lucas" } > var mod = { nome: "Oliveira" } > db.alunos.update(query, mod) MongoDB - AtualizarMongoDB - Atualizar
  18. 18. 16 de abril FLISOL 2016 18 Agora vamos fazer direito > var query = { nome: "de Oliveira" } > var mod = { $set: { nome: "deoliveiralucas" } } > db.alunos.update(query, mod) MongoDB - AtualizarMongoDB - Atualizar
  19. 19. 16 de abril FLISOL 2016 19 Operadores (campo)Operadores (campo) • $set • $inc • $rename • $unset • $min • $max • $currentDate MongoDB - AtualizarMongoDB - Atualizar
  20. 20. 16 de abril FLISOL 2016 20 Operadores (array)Operadores (array) • $addToSet • $pop • $pullAll • $pull • $push MongoDB - AtualizarMongoDB - Atualizar
  21. 21. 16 de abril FLISOL 2016 21 > var cursor = db.alunos.find() > while(cursor.hasNext()){ print(tojson(cursor.next())) } MongoDB - CursorMongoDB - Cursor
  22. 22. 16 de abril FLISOL 2016 22 for (var i = 0; i < 10000; i++) {for (var i = 0; i < 10000; i++) { var aluno = { nome: "nome" + i, sobrenome: "sobrenome" + i, idade: Math.floor((Math.random() * (80 - 15)) + 15) }; db.alunos.insert(aluno); } MongoDB - JavascriptMongoDB - Javascript
  23. 23. 16 de abril FLISOL 2016 23 > mongod --replSet unisalReplica --port 27015 --dbpath /data/rs1> mongod --replSet unisalReplica --port 27015 --dbpath /data/rs1 > mongod --replSet unisalReplica --port 27016 --dbpath /data/rs2> mongod --replSet unisalReplica --port 27016 --dbpath /data/rs2 > mongod --replSet unisalReplica --port 27017 --dbpath /data/rs3> mongod --replSet unisalReplica --port 27017 --dbpath /data/rs3 > mongod --replSet unisalReplica --port 27018 --dbpath /data/arb> mongod --replSet unisalReplica --port 27018 --dbpath /data/arb MongoDB – Replica SetMongoDB – Replica Set
  24. 24. 16 de abril FLISOL 2016 24 > mongo --port 27015> mongo --port 27015 > rs.initiate() > rs.status() > rs.add("deoliveiralucas:27016") > rs.add("deoliveiralucas:27017") > rs.addArb("deoliveiralucas:27018") MongoDB – Replica SetMongoDB – Replica Set
  25. 25. 16 de abril FLISOL 2016 25 • MongoDB UniversityMongoDB University • Webschool.ioWebschool.io MongoDB – CursosMongoDB – Cursos
  26. 26. 16 de abril FLISOL 2016 26 • https://docs.mongodb.org/manual/https://docs.mongodb.org/manual/ • https://docs.mongodb.org/manual/tutorial/query-documents/https://docs.mongodb.org/manual/tutorial/query-documents/ • https://docs.mongodb.org/manual/administration/replica-sets/https://docs.mongodb.org/manual/administration/replica-sets/ ReferênciasReferências
  27. 27. 16 de abril FLISOL 2016 27 Obrigado!Obrigado!

×