CentOS 6.3に MongoDB 開発サーバーをセットアップし、個別の構成ファイルとrcスクリプトを使用してさまざまなプロジェクトを分離することができました。現在、MongoDB本番環境のセットアップを検討しています。
本番環境の同じサーバーでMongoDBの複数のインスタンスをホストすることは推奨されないことを読みました。 それは、各プロジェクトが独自の本番MongoDB環境を必要とすることを意味しますか?
これらのプロジェクトはそれほど「大きく」ないので、多くのリソースを必要としないので、それぞれに独自のホストを与えることで、私たちは大成功を収めているように感じます。おそらく、RDBMSの世界から頭を出す必要があるだけです。
開発サーバーを監視して、それがどのように機能するかを確認しますが、私が読んだ内容を補足するために、いくつかの洞察とあなた自身の個人的な経験を探しています。
Mongo/10Genが同じシステムでMongoの複数のインスタンスを実行しないことを推奨する理由は、リソースの可用性の仮定に関係しています。 mongod
プロセスは、それがシステムの唯一の主要なテナントであると想定しており、このような2つを並べて実行すると、2つのデータベースだけで1つのmongod
を実行するよりも全体的にパフォーマンスが低下します。
Mongoは、単一のmongod
プロセスで複数のデータベースを実行することができます。これらは、単一のマスタープロセスのすぐ下にある個別のデータベースです。各データベースは独自の認証を処理するため、分離できます。製品に異なるmongoバージョンが必要な場合は、複数のmongod
プロセスを実行します。
個別のデータベースバイナリプロセスによって製品を分離する背後にあるベストプラクティスの議論を知るには、RDBMS DBAが十分ではないため、各ポイントについて反論/説得/トークダウンすることはできません。しかし、私が理解しているように、Mongo環境で受け入れられている方法は、製品ごとに個別のデータベースを用意することです。