sql >> データベース >  >> NoSQL >> MongoDB

データベース内のコレクション数の制限

    この回答は遅れていますが、他の回答は少し...信頼性と事実情報の点で弱いように思われるので、少し修正しようと思います。

    しかし、何らかの理由で、mongodbはデータベース内の名前空間の数に24000の制限を設定しました。

    これは単なるデフォルト設定です。はい、デフォルト設定があります。

    制限ページには、24000が制限であると記載されています(http://docs.mongodb.org/manual/reference/limits/#Number%20of%20Namespaces)。これを拡張する方法はありませんが、あります。

    ただし、名前空間ファイルのサイズには最大制限があり(http://docs.mongodb.org/manual/reference/limits/#Size%20of%20Namespace%20File)、2GBです。これにより、ほとんどの場合、約300万の名前空間を使用できるようになります。これは非常に印象的であり、多くの人がすぐにその制限に達するかどうかはわかりません。

    構成内(http://docs.mongodb.org/manual/reference/configuration-options/#nssize)または実行時に使用するコマンドを操作してnssizeパラメーターを使用することで、デフォルト値を16MBより大きくなるように変更できます。 MongoDBを実行するには(http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--nssize)。

    私の知る限り、MongoDBがデフォルトでnssizeに16MBを実装する理由はありません。「ユーザーに細部まで気にしない」というモットーについて聞いたことがないので、購入しません。

    私の意見では、MongoDBがこれを非表示にする主な理由は、ドキュメントに記載されているように、次の理由によると思います。

    個別のコレクションは、高スループットのバッチ処理にとって非常に重要です。

    MongoDBが設計されているように、クラスター全体で水平方向ではなく垂直方向にスケーリングする手段として複数のコレクションを使用することは、大規模なWebサイトでは(かなり頻繁に)悪い習慣と見なされます。そのため、通常、12Kコレクションは、人々が決して確認することはなく、決して確認するべきではないと考えられています。



    1. Node.jsを介してRedisデータベースに対してHGET/GETコマンドを発行するにはどうすればよいですか?

    2. kubernetesにredisを使用してnode.jsをデプロイする方法は?

    3. MongoDBのインデックスのリスト?

    4. MongoDBクエリヘルプ-サブオブジェクト内の任意のキーの値をクエリします