MongoDB - Introdução 
Thiago Henrique Poiani <thpoiani@gmail.com> 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
NoSQL - Not Only SQL 
Flexibilidade 
Performance 
Escalabilidade 
Document databases: MongoDB 
Graph stores: Neo4J, HyperGraphDB 
Key-value stores: Redis, Riak, Voldemort 
Wide-column stores: Cassandra, HBase 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB 
JSON - JavaScript Object Notation 
{ field: value, field: { }, field: [element, element] } 
Schemaless 
Geospacial 
Index 
ReplicaSet - redundância e disponibilidade 
Sharding - escalabilidade horizontal 
Integração com Hadoop - processamento de grandes 
massas de dados (Big Data) 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB 
SQL MongoDB 
database database 
table collection 
row document or BSON document 
column field 
index index 
table joins embedded documents and linking 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB 
db.aluno.findOne(); 
{ 
"_id" : ObjectId("5348a90ba1830aff2103a394"), 
"nome": "Thiago Henrique Poiani", 
"email" : "thpoiani@gmail.com", 
"idade": 21, 
"endereco": { 
"logradouro": "Rua Jurupema", 
"numero": 16, 
"cidade": "Araraquara", 
"estado": "SP" 
}, 
"interesses": [ 
"nosql", 
"node.js" 
], 
"ativo": true, 
"cadastro" : ISODate("2014-04-12T02:46:35.981Z") 
} 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB 
SQL MongoDB 
WHERE $match 
GROUP BY $group 
HAVING $match 
SELECT $project 
ORDER BY $sort 
LIMIT $limit 
SUM() $sum 
COUNT() $sum 
join $unwind 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
db.zips.aggregate([ 
{$match: { state:"NY" } }, 
{$group: 
{ 
_id: "$city", 
population: {$sum:"$pop"}, 
} 
}, 
{$project: 
{ 
_id: 0, 
city: "$_id", 
population: 1, 
} 
}, 
{$sort: 
{ 
population:-1 
} 
}, 
{$skip: 10}, 
{$limit: 5} 
]) 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
Na prática, via terminal 
$ mongod 
$ mongo 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
http://showterm.io/feb4864bd01063097e17f
DUMP 
$ mongodump --host 127.0.0.1 --port 27017 -- 
db database --collection collection --out 
/opt/mongodump.bson 
$ mongorestore -h 127.0.0.1 --port 27017 -d 
database -c collection /opt/mongodump.bson 
Import 
$ mongoimport --db database --collection 
collection --file documents.json 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
https://university.mongodb.com/ 
MongoDB for Java Developers 
MongoDB for Node.js Developers 
MongoDB for Developers 
MongoDB for DBAs 
MongoDB Advanced Deployment and Operations 
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos

MongoDB Introdução

  • 1.
    MongoDB - Introdução Thiago Henrique Poiani <thpoiani@gmail.com> Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 2.
    NoSQL - NotOnly SQL Flexibilidade Performance Escalabilidade Document databases: MongoDB Graph stores: Neo4J, HyperGraphDB Key-value stores: Redis, Riak, Voldemort Wide-column stores: Cassandra, HBase Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 3.
    MongoDB JSON -JavaScript Object Notation { field: value, field: { }, field: [element, element] } Schemaless Geospacial Index ReplicaSet - redundância e disponibilidade Sharding - escalabilidade horizontal Integração com Hadoop - processamento de grandes massas de dados (Big Data) Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 4.
    MongoDB SQL MongoDB database database table collection row document or BSON document column field index index table joins embedded documents and linking Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 6.
    MongoDB db.aluno.findOne(); { "_id" : ObjectId("5348a90ba1830aff2103a394"), "nome": "Thiago Henrique Poiani", "email" : "thpoiani@gmail.com", "idade": 21, "endereco": { "logradouro": "Rua Jurupema", "numero": 16, "cidade": "Araraquara", "estado": "SP" }, "interesses": [ "nosql", "node.js" ], "ativo": true, "cadastro" : ISODate("2014-04-12T02:46:35.981Z") } Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 7.
    MongoDB SQL MongoDB WHERE $match GROUP BY $group HAVING $match SELECT $project ORDER BY $sort LIMIT $limit SUM() $sum COUNT() $sum join $unwind Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 8.
    db.zips.aggregate([ {$match: {state:"NY" } }, {$group: { _id: "$city", population: {$sum:"$pop"}, } }, {$project: { _id: 0, city: "$_id", population: 1, } }, {$sort: { population:-1 } }, {$skip: 10}, {$limit: 5} ]) Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 9.
    Na prática, viaterminal $ mongod $ mongo Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 10.
  • 11.
    DUMP $ mongodump--host 127.0.0.1 --port 27017 -- db database --collection collection --out /opt/mongodump.bson $ mongorestore -h 127.0.0.1 --port 27017 -d database -c collection /opt/mongodump.bson Import $ mongoimport --db database --collection collection --file documents.json Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
  • 12.
    https://university.mongodb.com/ MongoDB forJava Developers MongoDB for Node.js Developers MongoDB for Developers MongoDB for DBAs MongoDB Advanced Deployment and Operations Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos