MongoDBの最倧サむズに関しおの質問です。

4,946 views
Skip to first unread message

TKC

unread,
Apr 29, 2013, 12:29:31 AM4/29/13
to mongo...@googlegroups.com
初めたしお
MongoDB䞊に、画像やその他ファむルを保存しおいこうず思っおいたす。


その堎合、デヌタベヌスで扱える最倧サむズなどはあるのでしょうか
たたはサヌバヌの環境に完党に䟝存するのでしょうか

たた、ファむルがデヌタベヌスサむズが倧きくなる事でパフォヌマンスに圱響はあるのでしょうか
効率的な保存圢匏などはありたすでしょうか


質問ばかりずなりたすが、
よろしくお願いしたす。




珟圚のサヌバヌ環境
CentOS 6
cpu 2G
メモリ2G
HDD容量 100G


Fumikazu Kiyota

unread,
Apr 29, 2013, 1:21:06 AM4/29/13
to mongo...@googlegroups.com
質問のお答えになっおいるか分かりたせんが、
参考たでにお返事させお頂きたす。

GridFS か BinData がありたす。

GridFShttp://docs.mongodb.org/manual/core/gridfs/は、
1 document の制限は 16M ですので、それを超える堎合、GridFSに保存する必芁がありたす。
あず、特城ずしおメモリヌにロヌドしないので、フロントでプロキシを立おそちらでキャッシュを䜿っおデヌタを配信したりするこずも考えられたす。
ファむルのアップデヌトなどに関しおもGridFSの堎合泚意するずころありたす。詳しくは䞋蚘にありたす。
http://docs.mongodb.org/manual/faq/developers/#faq-developers-when-to-use-gridfs

16Mをこさない堎合、BinData も考えられたす。
http://docs.mongodb.org/manual/reference/mongodb-extended-json/
私が䜿い始めたずきは察応しおいなかったず思うので、GridFSを䜿っおいたす。

たた、サヌバヌの環境蚭定で泚意すべき点は、䞋蚘のペヌゞで詳しく玹介されおいたす。
http://docs.mongodb.org/manual/administration/production-notes/

マフォヌマンス圱響を䞎える箇所に぀いお、䞊郚のproduction-notesにたずめお詳しくたずめられおいるので、参考にしおみるずよいず思いたす。

プロダクションで利甚する際に知っおおいた方が良い事を箇条曞きでざっずたずめおおきたす。production-notesからの抜粋です
Disk IOやネットワヌクの垯域やメモリヌサむズが結構重芁な箇所になるず思いたす。

1. Linux kernel 2.6.36 or later
If you use the Ext4 file system, use at least version 2.6.23 of the
Linux Kernel.
If you use the XFS file system, use at least version 2.6.25 of the Linux Kernel.
If you are using a Red Hat derived distribution, use at least version
2.6.245.el5 of the Linux Kernel. ずのこず
2. atime は必ずoffにする
3. ulimit の蚭定を必ずする
http://docs.mongodb.org/manual/reference/ulimit/
4. NUMA をdisableにする
6. MongoDB デヌタは Swap に保存されない
7. RAID-10 ぀かったほうがよいかも
8. monitoring もしっかりやる
䟋iostat -xm 2 や bwm-ng やらやっおみる
9. 64bit ビルドを䜿う
10. ドキュメントサむズは16Mたで、わすれないでおこう
11. write concern しっかり抌さえよう
12. journaling は倧切

以䞊です。




2013幎4月29日 13:29 TKC <loosef...@gmail.com>:
> --
> このメヌルは Google グルヌプのグルヌプ「MongoDB JP」の登録者に送られおいたす。
> このグルヌプから退䌚し、メヌルの受信を停止するには、mongodb-jp+...@googlegroups.com
> にメヌルを送信したす。
> このグルヌプに投皿するには、mongo...@googlegroups.com にメヌルを送信しおください。
> http://groups.google.com/group/mongodb-jp?hl=ja からこのグルヌプにアクセスしおください。
> その他のオプションに぀いおは、https://groups.google.com/groups/opt_out にアクセスしおください。
>
>



--
Fumikazu KIYOTA - æž…ç”° 史和
kiyotaman@twitter
fumikazu.kiyota@facebook

www: http://snapdi.sh
app: http://snapdi.sh/get-free-app

Vuzz Inc.
t/f:0422-24-6341

180-0005
Gotenyama 1-5-6 NEST 403
Musashino City Tokyo Japan

Access Map: http://4sq.com/xm1OmK

ryuji tamagawa

unread,
Apr 29, 2013, 1:24:13 AM4/29/13
to mongo...@googlegroups.com
玉川です。

探しおみたしたが、意倖ずデヌタベヌスやコレクションの最倧サむズに関する蚘述がないですね(--;

http://stackoverflow.com/questions/4327723/mongodb-limit-storage-size

あたりを芋るず、䞀応1TBでもなんずか動くみたいな感じのこずが曞かれおはいたす。

特に気を぀けなければいけないのは、

・1぀のドキュメントの最倧サむズは16MB。これ以䞊のサむズのデヌタをひずたずめに扱う堎合はGridFSを䜿う。

・MongoDBの堎合、OSが䜿える物理メモリ䞊に「ホット」なデヌタが茉るかどうかで、パフォヌマンスが倧きく倉わりたす。
 CentOSは64bitでしょうか64bitにしお、メモリをたくさん茉せるのがたず倧事。

ずいったあたりですかね。
--
玉川竜叞@倧阪

2013/4/29 TKC <loosef...@gmail.com>

TKC

unread,
Apr 29, 2013, 2:14:46 AM4/29/13
to mongo...@googlegroups.com
早速のお返事をありがずうございたす

ナヌザヌごずのファむルを管理しようず思い。
ファむルサヌバヌのような䜿甚方法ができればず思っおいたす。
サヌバヌ性胜をあげる事で、扱えるデヌタも増やしおいければず思っおいたした。


事䟋では1TBたではなんずかずの事でしたが、
やはり、Mongo䞊でファむルの管理を完結するのは難しいかもしれたせんね、

1TB以䞊のファむルを管理する堎合、
ファむルサヌバヌずその情報を管理するMongoDBずいった䜿いかたが自然なのですかね。
ありがずうございたす。


たた、気になった蚘述に
says they're storing 3 TB per node.

ずありたした。
このper nodeのnodeずいうのは、
なにを指しおいるのでしょうか(サヌバヌデヌタベヌス)







2013幎4月29日月曜日 14時24分13秒 UTC+9 ryuji tamagawa:
ずいったあたりですかね。
--
玉川竜叞@倧阪

2013/4/29 TKC <loosef...@gmail.com>
このグルヌプから退䌚し、メヌルの受信を停止するには、mongodb-jp+unsubscribe@googlegroups.com にメヌルを送信したす。

ryuji tamagawa

unread,
Apr 29, 2013, 2:29:02 AM4/29/13
to mongo...@googlegroups.com
ノヌドずいうのは、サヌバヌを指しおいるず思えばいいでしょう。
MongoDBで倧芏暡なデヌタベヌスを扱う堎合、シャヌディングでデヌタベヌスを分割したすが、シャヌド化されたそれぞれのサヌバヌのこずをノヌドず蚀いたす。もちろん、シャヌド化しおいないサヌバヌもノヌドず呌べないこずはないですねレプリカセットもあるし。
--
玉川竜叞@倧阪



2013/4/29 TKC <loosef...@gmail.com>
このグルヌプから退䌚し、メヌルの受信を停止するには、mongodb-jp+...@googlegroups.com にメヌルを送信したす。

Hiroaki Kubota

unread,
Apr 29, 2013, 4:06:44 AM4/29/13
to mongo...@googlegroups.com
窪田ず申したす。

MongoDBの堎合、バヌゞョンにも拠りたすが、ドキュメントのサむズ制限はMB迄です。
これ以䞊倧きなファむルはGridFSずいう仕組みで分割保存する必芁がありたす。
GridFSのファむル制限はありたせん。

䞀蚀でパフォヌマンスず蚀っおも色々な芳点があり、䞀抂には蚀えたせん。
䟋えば、、
 ・レコヌド蟺りの凊理速床
 ・バむトサむズ毎のスルヌプット
などなど、、

倧きなファむルではスルヌプットの方が重芁でしょう。
基本的には数癟キロバむト皋床のデヌタならば、スルヌプットは良奜で、レコヌド蟺りの凊理速床もそれなりに出たす。

個人的にh最近出たで色々蚈枬しおいたすがその内公開したす
 数十数癟キロバむト皋床のドキュメントがバランスが良いです。
 単にスルヌプットだけならMBたでは問題ありたせんが、レコヌド蟺りの速床はかなり萜ちたす。


個人的にはGridFSをお勧めしたす。
GridFSの分割単䜍はデフォルトで256キロバむトで無難な性胜が出る域に分割されたすし
メタデヌタに色々な怜玢芁玠を盛り蟌めるので、柔軟に運甚できたす。



2013幎4月29日 13:29 TKC <loosef...@gmail.com>:
初めたしお

Hiroaki Kubota

unread,
Apr 29, 2013, 4:07:53 AM4/29/13
to mongo...@googlegroups.com
みんな早いなぁ
曞いおる途䞭にたくさんメヌルが来たした


2013幎4月29日 17:06 Hiroaki Kubota <cat.s...@gmail.com>:

TKC

unread,
Apr 29, 2013, 5:52:19 AM4/29/13
to mongo...@googlegroups.com
ご返信をありがずうございたす。
GridFS、参考にさせお頂きたす。
䞀぀のファむルの容量は倧きくおも5M皋床たでず考えおおりたす。


たた、確認したいのが、
Amazon EC2のようなサヌバヌ䞊で、
MongoDBをファむルサヌバヌずしお運甚しおいった時に、
将来的にどこたでの容量のファむルが保存可胜であるかの郚分です。


ノヌドサヌバヌ単䜍で3TBずいう情報や1TBたで運甚が可胜ずいった情報がある事は、
お教え頂きたしたが、
公匏な情報があったら、今の案件を進めやすいを思いたしお、、
なにか確定的な゜ヌスがあればそれを指暙ずしおいきたずは思っおいたす。

頂いた情報を元にするず、
1TBたではファむルサヌバヌずしおの運甚が可胜かずは思っおいたす。

ありがずうございたす。



2013幎4月29日月曜日 17時06分44秒 UTC+9 crumbjp:
このグルヌプから退䌚し、メヌルの受信を停止するには、mongodb-jp+unsubscribe@googlegroups.com にメヌルを送信したす。

Hiroaki Kubota

unread,
Apr 29, 2013, 7:34:46 AM4/29/13
to mongo...@googlegroups.com
MongoDBは64bit版ならば、容量制限は事実䞊ありたせん。mmapによる64bitOSの仮想アドレスサむズ16EiB皋床
特にGridFSの堎合はシヌケンシャルリヌド凊理が倚くなり、DBサむズに察するメモリ䞍足もそれ皋気にならないはずです。

ただMongoDBは䞊手く䜿わないず、デヌタサむズ以䞊のストレヌゞサむズを䜿っおしたいガチです。
それで無くずもEC2の堎合はEBSのお倀段が高めなので、いい倀段になるかず思いたす。

参考たでにSAKURA VPS 2G では
 1. 4MBのドキュメントを1䞇件入れるのには20分匱掛かりたす。
 2. 400KBのドキュメントを10䞇件入れるのは17分皋床です。
 3. 400KBのドキュメントを250件ランダムに匕くのに100秒皋床。ワヌストケヌス
  4. シヌケンシャルリヌドの堎合はその玄倍
 5. 高頻床デヌタなどオンメモリヌのデヌタの堎合は曎に速くなりたす。

 GridFSの堎合は3. 4. 5. の蟺りになるでしょう。



2013幎4月29日 18:52 TKC <loosef...@gmail.com>:
このグルヌプから退䌚し、メヌルの受信を停止するには、mongodb-jp+...@googlegroups.com にメヌルを送信したす。

TKC

unread,
May 1, 2013, 2:23:48 PM5/1/13
to mongo...@googlegroups.com
ありがずうございたす。
倧倉参考になりたした


2013幎4月29日月曜日 20時34分46秒 UTC+9 crumbjp:
Reply all
Reply to author
Forward
0 new messages