Contenu connexe
Similaire à MongoDB: Replication,Sharding,MapReduce
Similaire à MongoDB: Replication,Sharding,MapReduce (20)
Plus de Takahiro Inoue (20)
MongoDB: Replication,Sharding,MapReduce
- 9. {
"_id" : ObjectId("4dcd3ebc9278000000005158"),
"timestamp" : ISODate("2011-05-13T14:22:46.777Z"),
"binary" : BinData(0,""),
"string" : "abc",
"number" : 3,
"subobj" : {"subA": 1, "subB": 2 },
"array" : [1, 2, 3],
"dbref" : [_id1, _id2, _id3]
padding
}
- 10. { db.coll.find({"string": "abc"});
db.coll.find({ "string" : /^a.*$/i });
"_id" : ObjectId("4dcd3ebc9278000000005158"),
"timestamp" : ISODate("2011-05-13T14:22:46.777Z"),
db.coll.find({"subobj.subA": 1});
db.coll.find({"subobj.subB": {$exists: true} });
"binary" : BinData(0,""),
"string" : "abc", db.coll.find({"number": 3});
db.coll.find({"number": {$gt: 1}});
"number" : 3,
"subobj" : {"subA": 1, "subB": 2 },
"array" : [1, 2, 3],
db.coll.find({"array": {$all:[1, 2]} });
"dbref" : [_id1, _id2, _id3]
db.coll.find({"array": {$in:[2, 4, 6]} });
padding
}
- 11. {
"_id" : ObjectId("4dcd3ebc9278000000005158"),
"timestamp" : ISODate("2011-05-13T14:22:46.777Z"),
{ $set : {"string": "def"} }
"binary" : BinData(0,""), { $inc : {"number": 1} }
"string" : "def",
{ $pull : {"subobj": {"subB": 2 } } }
"number" : 4,
"subobj" : {"subA": 1, "subB": 2 },
"array" : [1, 2, 3, 4, 5, 6],
"dbref"$addToSet : { "array" : { $each : [ 4 , 5 , 6 ] } } }
{ : [_id1, _id2, _id3]
"newkey" : "In-place"
} { $set : {"newkey": "In-place"} }
- 14. Member1 Member2
Primary Secondary
Member4 Member3
Secondary Secondary
- 15. Member1 Member2
Primary Secondary
Member4 Member3
Secondary Secondary
- 16. Member1 Member2
Primary Secondary
Member4 Member3
Secondary Secondary
- 17. Member2
Secondary
Member4 Member3
Secondary Secondary
- 18. Member1
Primary
Member6 Member2
Secondary Secondary
Member5 Member3
Secondary Secondary
Member4
Secondary
- 19. Member1
Primary
Member6 Member2
Secondary Secondary
Member5 Member3
Secondary Secondary
Member4
Secondary
- 20. Member1
Primary
Member6 Member2
Secondary Secondary
Member5 Member3
Secondary Secondary
Member4
Secondary
- 24. Chunk
Shard Key Chunk
200MB
- 25. Cluster
Shard Servers (Data)
config Servers
(Shard Configration) shard1 shard2 shard3
[ a, f ) [ k, n) [ o, t ) Chunk
[ f, k ) [ n, o ) [ t, } )
mongos Servers (Routers)
- 27. primary
Shard
primary
1
( mongos
primary primary primary
)
Shard
cinfig Shard
mongos
http://www.mongodb.org/display/DOCS/Introduction
- 28. shard1 shard2
[ a, f ) [ n, o ) [ o, t)
[ 0, 9)
[ f, k ) [ k, n)
shard1 shard2
[ a, f ) [ o, t) [ n, o )
[ f, k ) [ k, n) [ 0, 9)
- 34. m = function(){
this.tags.forEach{
function(z) {
emit(z, {count: 1});
}
};
};
r = function(key, values) {
var total=0;
for (i=0, i<values.length, i++)
total += values[i].count;
return { count : total };
}
res=db.things.mapReduce(m,!r);
# finalize