2012-04-30 19 views
4

現在、MongoDBを使用して電子メールデータを保存することを検討しています。電子メールのサイズがやや大きくなる(たとえば10メガバイト)。GridFS ChunksizeをMongoDBで設定する

GridFSはこれに適していると思います。私にはちょっと怖いのは、gridFS内のシャードサイズについてのドキュメントはあまり明確ではないということです。 私が理解しているところでは、gridFSのシャードサイズは通常のシャードサイズと同じではありませんが、デフォルトは256kbです。多くの電子メールが50kbを超えることはないので、大きな宇宙の浪費が私には聞こえます。

MailFSの格納に適したGridFSのファイルの断片サイズを設定する方法はありますか?

乾杯、 マティアス

答えて

3

あなたはサイズを心配する必要はありません。 chunkksizeが256kbであっても、50kbの文書(あなたの電子メールを含む)は、まだ50kb(+わずかなオーバーヘッド)しか使用しません。

chunkksizeがドライバで設定されています。あなたがどうなるPHPドライバと例えば:

$gridFs->storeFile('filename.txt', array('chunkSize' => 50 * 1024)); 

そしてJavaドライバであなたはGridFSInputFilesetChunkSizeを呼びたいです。

しかし、一般的に、chunkSizeについて心配する必要はありません。

+1

"チャンクサイズが256kbであっても、50kbのドキュメント(電子メールを含む)は、まだ50kb(わずかなオーバーヘッド)しか使用しません。 ...これは私の経験と一致していますが、これはどこにでも公式に書かれているのを見たことはありません。 [メーリングリストのスレッド](https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/hrRlhOwGWWk%5B1-25%5D)に記載されています。また、[Robert Stam](https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/H6gDl69o_o0%5B1-25%5D)は、「GridFSファイルの最後のチャンクは、それが必要なので、 オーバーヘッドはあまりありません –

+3

私は、ファイルサイズが200メガバイトまでになる可能性があるので、チャンクサイズを大きくすると良いですか? – Jayz

+0

@Jayz MongoDBノードマニュアルには、チャンクサイズが大きい例があります:[Advanced GridFSまたはメモリ不足の方法](http://mongodb.github.io/node-mongodb -native/api-articles/nodekoarticle2.html#advanced-gridfs-or-how-out-of-out-of-memory-out-of-memory) – pinepain

関連する問題