Working example.
First ....
http://www.mongodb.org/display/DOCS/A+Sample+Configuration+Session
and then ...
$mongo
> use admin
switched to db admin
> db.runCommand( { shardcollection : "test.dexters.chunks", key : { n : 1 } } )
{"collectionsharded" : "test.dexters.chunks" , "ok" : 1}
$vim test_load.py
====================================================
#!/usr/bin/env python
import sys
import os.path
from pymongo.connection import Connection
from gridfs import GridFS
connection = Connection("localhost", 27017)
db = connection["test"]
name = os.path.basename(sys.argv[1])
fs = GridFS(db)
fp = fs.open(name, 'w', 'dexters')
for l in open(sys.argv[1]):
fp.write(l)
fp.close()
====================================================
There is at leas two sharding strategy, by file_id or by (n, id).
Sharding by file_id is no RAID or RAID-1 (on file level) sharding by n when you use many servers can be like (RAID-0, RAID-10). On collection level performance is always RAID-0, RAID-10 ;-)
sharding by _id should work.
ReplyDeleteif there is some issue there can you post something in IRC or the forums and we can check it out? thanks Dwight