MongoDB データベースのサイズを大きくするにはどうすればいいですか?

MongoDB データベースのサイズを大きくするにはどうすればいいですか?

mongodb にレポート付きの写真をアップロードしています。データベースのサイズ制限に達しました。データベースのサイズを増やすにはどうすればよいですか?

db.stats()
{
        "db" : "fieldops",
        "collections" : 6,
        "objects" : 20454,
        "avgObjSize" : 890464.9997066589,
        "dataSize" : 18213571104,
        "storageSize" : 18432802736,
        "numExtents" : 52,
        "indexes" : 4,
        "indexSize" : 809424,
        "fileSize" : 21398290432,
        "nsSizeMB" : 16,
        "extentFreeList" : {
                "num" : 0,
                "totalSize" : 0
        },
        "dataFileVersion" : {
                "major" : 4,
                "minor" : 22
        },
        "ok" : 1
}

また、余談ですが、現在、毎月アップロードされる写真が 12,000 枚あります。mongodb の制限は 16,000 枚だと読みました。用語集でdata fileの定義が見つかりませんでした。これは、データベースにアップロードした写真のことを指しているのでしょうか? そうなると、シャード付きの別のサーバーをセットアップする必要がありますか? それとも、同じマシンにシャードを作成できますか?data filebuffered

前もって感謝します。

答え1

mongodb にレポート付きの写真をアップロードしています。データベースのサイズ制限に達しました。データベースのサイズを増やすにはどうすればよいですか?

ディスク容量が十分あると仮定すると、MongoDBは必要に応じて追加のディスク容量を自動的に割り当てます。MMAPストレージエンジンを実行しているため(出力に基づいてdb.stats())、MongoDBは新しいファイルごとに最大2GB(または、smallFilesオプション)。データベースが現在 18 GB を超えていることを考えると、少なくとも 2 GB の空き容量が必要になります (一時ディレクトリが同じボリュームにある場合は、O/S 用の容量も必要になります)。

指定された上限のあるコレクションを使用しない限り、コレクションのドキュメント数に制限はありません。max制限(2^32 未満である必要があります)。数兆のドキュメントを含む MongoDB の本番環境が存在します(参照:大規模な MongoDB)。

MongoDB 3.0以降にはストレージエンジンAPIがあるため、ストレージエンジンによって異なる制限がある場合があります。たとえば、データサイズの制限従来の MMAPv1 ストレージ エンジンの場合、mongodジャーナリングが有効になっていると、通常 64 テラバイトのデータになります。WiredTiger ストレージ エンジン (3.0 ではオプション、3.2 以降ではデフォルト) にはこの制限はありません。

毎月数万件のドキュメントを挿入しても問題はありません。

詳細については、以下を参照してください。MongoDB の制限としきい値

関連情報