▤ 動画容量ナビ

動画の容量と保存 · 参考資料確認日 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