動画の容量と保存 · 参考資料確認日 2026年9月22日
MongoDBの16 MiBを超えるfileはGridFSで分ける
大きなfileを一つのBSON documentへ埋め込むのではなく、16 MiBを超える場合はGridFSでchunksへ分けます。transactionや部分readの要件も先に確認します。
BSON documentの16 MiBを超えたらGridFS
MongoDBのBSON document maximumは16 MiBです。これを超えるfileは、GridFSを使って複数のchunksへ分割し、filesとchunksのcollectionsで管理します。
GridFSのdefault chunk sizeは255 KiBです。16 MiB以下でも、file全体をmemoryへ読み込まず一部分だけaccessしたい場合はGridFSが役立つことがあります。
chunk sizeだけで採用を決めない
255 KiBはdefaultであり、driverや用途に応じてchunk sizeを選べます。変更する場合はread range、network request数、storage overheadを実測します。
GridFSはmulti-document transactionをsupportしません。file metadataと別documentを一つのtransactionで確定したい設計では、この制約を含めて保存手順を検討してください。
file sizeとaccess patternを確認する
まず保存対象が16 MiBを超えるか、全体readだけか部分readも必要かを確認します。超える場合はapplicationのMongoDB driverが提供するGridFS APIでuploadとdownloadを実装します。
default 255 KiB chunksで代表fileをtestし、必要な場合だけchunk sizeを調整します。失敗時の未完了chunksやmetadataのcleanup手順も確認してください。
参考資料
- MongoDB GridFS
https://www.mongodb.com/docs/manual/core/gridfs/
確認日:2026-09-22