際際滷
Submit Search
Mongo dbのgridfsについて
?
Download as ODP, PDF
?
7 likes
?
2,885 views
Masahiro Saito
Follow
Mongo dbのgridfsについて
Read less
Read more
1 of 33
Download now
More Related Content
Mongo dbのgridfsについて
1.
MongoDB GridFS についてもろもろ
@camelmasa
2.
?徭失B初 ?書指採絞 GridFS
を{べたのか ? GridFS って採なのか - ドライバ`蛤 ?h廠Bについて - 編^h廠 ? ReplicaSet,Sharding での ? mongofiles コマンド ?Wいた何蛍 ?もっと GridFS ?畠悶宥したまとめ アジェンダ
3.
? @camelmasa( 祇b徨の
86 弊旗 ) ? 假寒互 ? Livlis (kamado, inc.) ?圷バリスタ (paul bassett etc.) 徭失B初
4.
? Livlis へのフィ`ドバック
? Lithium + MongoDB の仟サ`ビス ( 鮫颪g表ストレ`ジする狼サ`ビス ) 採絞 GridFS を{べたのか
5.
MongoDB に賞寄なファイルを鯉{するための碧です。 MongoDB
は、バイナリデ`タの鯉{を BSON でサポ`トしています。 しかし、 MongoDB で、 BSON オブジェクトは 4MB のサイズに崙泙気譴討い襪´ GridFS って採なのか
6.
この GridFS の碧は、寄きいファイルを}方のドキュメントに邑^議に蛍護する圭隈を戻工します。
http://www.mongodb.org/display/DOCSJP/GridFS GridFS って採なのか
7.
ドライバ`蛤 PHP, Java,
Python, Ruby, Perl,earlang(github) GridFS って採なのか
8.
編^h廠 ? Amazon
EC2 micro Instance Basic 64-bit Amazon Linux AMI 2011.02.1 Beta (1 core CPU, 613MB) 編^だけなら Large とかにすれば措かった´。 h廠Bについて
9.
編^h廠 ReplicaSet ReplicaSet
Sharding1 Sharding2 h廠Bについて
10.
Config のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[/mongo/mongo-config.conf] configsvr=true dbpath=/mongo/db/config logpath=/mongo/log/config/mongo.log logappend=true fork=true [ 軟 ]mongod -f /mongo/mongo-config.conf h廠Bについて
11.
Mongos のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[/mongo/mongos.conf] logpath=/mongo/log/mongos/mongos.log configdb=localhost:27019 port=27021 fork=true [ 軟 ]mongos -f /mongo/mongos.conf h廠Bについて
12.
ReplicaSet のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[/mongo/mongo-s1r1.conf] dbpath=/mongo/db/s1_r1 port=28201 logpath=/mongo/log/s1_r1.log logappend=true rest=true replSet=s1 journal=true fork=true [ 軟 ]mongo -f /mongo/mongo-s1r1.conf h廠Bについて
13.
ReplicaSet のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[ コマンド ] config = {_id: 's1', members: [{_id: 0, host: 'localhost:28201'},{_id: 1, host: 'localhost:28202'},{_id: 2, host: 'localhost:28203'}]} rs.initiate(config); h廠Bについて
14.
Sharding のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[/mongo/mongo-s1r1.conf] dbpath=/mongo/db/s1_r1 port=28201 logpath=/mongo/log/s1_r1.log logappend=true rest=true replSet=s1 journal=true fork=true [ 軟 ]mongo -f /mongo/mongo-s1r1.conf h廠Bについて
15.
Sharding のO協圭隈 宥械のO協圭隈と笋錣蕕覆ぃ
[ コマンド ] db.runCommand( { enablesharding : "test" }); db.fs.chunks.ensureIndex({'files_id':1}); db.runCommand( { shardcollection : "test.fs.chunks", key : { files_id : 1 } } ) h廠Bについて
16.
ReplicaSet の [mongos]mongofiles
--host localhost:27021 put replica.set connected to: localhost:27021 added file: { _id: ObjectId('4e3368d3c629125977fed2b7'), filename: "replica.set", chunkSize: 262144, uploadDate: new Date(1311992019116), md5: "d41d8cd98f00b204e9800998ecf8427e", length: 0 } Done! ReplicaSet,Sharding での
17.
ReplicaSet の [mongos]
> db.fs.files.find({'filename':'replica.set'}) { "_id" : ObjectId("4e3368d3c629125977fed2b7"), "filename" : "replica.set", "chunkSize" : 262144, "uploadDate" : ISODate("2011-07-30T02:13:39.116Z"), "md5" : "d41d8cd98f00b204e9800998ecf8427e", "length" : 0 } [sharding1 の master] > db.fs.files.find({'filename':'replica.set'}) { "_id" : ObjectId("4e3368d3c629125977fed2b7"), "filename" : "replica.set", "chunkSize" : 262144, "uploadDate" : ISODate("2011-07-30T02:13:39.116Z"), "md5" : "d41d8cd98f00b204e9800998ecf8427e", "length" : 0 } [sharding1 の slave1] > db.fs.files.find({'filename':'replica.set'}) { "_id" : ObjectId("4e3368d3c629125977fed2b7"), "filename" : "replica.set", "chunkSize" : 262144, "uploadDate" : ISODate("2011-07-30T02:13:39.116Z"), "md5" : "d41d8cd98f00b204e9800998ecf8427e", "length" : 0 } [sharding1 の slave2] > db.fs.files.find({'filename':'replica.set'}) { "_id" : ObjectId("4e3368d3c629125977fed2b7"), "filename" : "replica.set", "chunkSize" : 262144, "uploadDate" : ISODate("2011-07-30T02:13:39.116Z"), "md5" : "d41d8cd98f00b204e9800998ecf8427e", "length" : 0 } ReplicaSet,Sharding での
18.
ReplicaSet の [sharding2
の master] > db.fs.files.find({'filename':'replica.set'}) [sharding2 の slave1] > db.fs.files.find({'filename':'replica.set'}) [sharding2 の slave2] > db.fs.files.find({'filename':'replica.set'}) ReplicaSet,Sharding での
19.
Sharding の >
db.printShardingStatus() --- Sharding Status --- sharding version: { "_id" : 1, "version" : 3 } shards: { "_id" : "s1", "host" : "s1/localhost:28201,localhost:28202,localhost:28203" } { "_id" : "s2", "host" : "s2/localhost:28204,localhost:28205,localhost:28206" } databases: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "test", "partitioned" : true, "primary" : "s2" } test.fs.chunks chunks: s1 10 s2 10 too many chunksn to print, use verbose if you want to force print { "_id" : "fs", "partitioned" : false, "primary" : "s2" } ReplicaSet,Sharding での
20.
Sharding の >
db.printShardingStatus() --- Sharding Status --- sharding version: { "_id" : 1, "version" : 3 } shards: { "_id" : "s1", "host" : "s1/localhost:28201,localhost:28202,localhost:28203" } { "_id" : "s2", "host" : "s2/localhost:28204,localhost:28205,localhost:28206" } databases: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "test", "partitioned" : true, "primary" : "s2" } test.fs.chunks chunks: s1 10 s2 10 too many chunksn to print, use verbose if you want to force print { "_id" : "fs", "partitioned" : false, "primary" : "s2" } ReplicaSet,Sharding での
21.
[PUT]´ ファイルの仟オ賠h mongofiles
--host localhost:27021 put a.txt connected to: localhost:27021 added file: { _id: ObjectId('4e3349480eed7346d277d523'), filename: "a.txt", chunkSize: 262144, uploadDate: new Date(1311983944316), md5: "d41d8cd98f00b204e9800998ecf8427e", length: 0 } Done! ☆ 揖じファイル兆で鞠hすると茅rに匯wに茅される mongofiles コマンド
22.
[PUT]´ ファイルの貧き鞠h mongofiles
--host localhost:27021 -r put a.txt connected to: localhost:27021 added file: { _id: ObjectId('4e3349480eed7346d277d523'), filename: "a.txt", chunkSize: 262144, uploadDate: new Date(1311983944316), md5: "d41d8cd98f00b204e9800998ecf8427e", length: 0 } done! mongofiles コマンド
23.
[GET]´ ファイルの函誼 mongofiles
--host localhost:27021 get a.txt connected to: localhost:27021 done write to: a.txt mongofiles コマンド
24.
[LIST]´ ファイルをリスト燕幣 mongofiles
--host localhost:27021 list a.txt 1000 ´ ( ファイル兆 ,byte 方 ) mongofiles コマンド
25.
[SEARCH]´ ファイル碧 mongofiles
--host localhost:27021 search a.txt connected to: localhost:27021 a.txt 0 mongofiles --host localhost:27021 search txt connected to: localhost:27021 a.txt 0 -> 頼畠匯崑じゃなくて措い。 mongofiles コマンド
26.
[DELETE]´ ファイルの茅 mongofiles
--host localhost:27021 delete a.txt connected to: localhost:27021 Done! ☆ 揖じファイル兆は畠て茅されます mongofiles コマンド
27.
? ReplicaSet がO協竃栖ない
EC2 の root device の否楚が宥械 8GB しかない。 ReplicaSet のO協をすると、 8GB が岷ぐ托まります。 ファイルを vim で_く業に .swp ファイル恬れないという、エラ`が竃て櫃鼎ました。 100GB の Volumes を弖紗して mount し盾Q。 ->100G 嶄 48G 殻托まる。 書指のWいた侭
28.
? Sharding されない
頼畠にWの娠`いでした。 sharding1,sharding2 を聞って編^していたのですが、ファイルを弖紗しても sharding2 に陶って隠贋されてしまっていました。 しかし、これでもかと冱う殻ファイルを弖紗したら、 sharding された。 書指のWいた侭
29.
ReplicaSet の咾隆_JのH、 mongofies
の咾裏虫。 ? mongofiles Chost [master server] search test.txt -> ファイルが燕幣される。 ? mongofiles Chost [slave server] search test.txt -> ファイルが燕幣されない、エラ`も竃ない。 しかし、 db.test.fs.files.find({'filename':'test.txt'}) のコマンドは master,slave にもあるのは_J竃栖る。 (db.getMongo().setSlaveOk() g佩gみ ) 書指のWいた侭
30.
? nginx-gridfs nginx
のモジュ`ル。 スクリプトを初さず、 web サ`バ`から gridfs のファイルのレスポンスを卦す。 [github] https://github.com/mdirolf/nginx-gridfs [ 歌深 ] http://mybikejp.blogspot.com/2011/01/nginxgridfs.html もっと GridFS!
31.
? rack-gridfs 枠殻の
nginx-gridfs の rack 井 。 [github] https://github.com/skinandbones/rack-gridfs もっと GridFS!
32.
GridFS を喘いるのに蒙eなO協?聞喘圭隈吉は駅勣oし。 宥械の
ReplicaSet,Sharding O協?聞喘圭隈と笋錣蕕覆ぃ (GridFS はあくまで碧である蕁輝たり念と冱われれば輝たり念。 ) 毫Xに蛍柊ファイルシステムが竃栖ると深えると耙しいですね。 ( \喘rに捻むFは茅く ) スクリプトからのg佩ではoく、 web サ`バ`とのB亊の並箭が竃てくるのは中易いと房います。 畠悶を宥したまとめ
33.
ご賠嗤り佃うございました。
Download