4

ユーザー、タグ、カテゴリという名前の 3 つのドキュメント コレクションを持つ MongoDB データベースがmaindatabaseあり、それらを 3 つの異なるサーバー (異なるクラウド サービス プロバイダー) に別々に分割できるかどうかを知りたいです。

レプリカとしてではなく、サーバー用の 1 つのコレクション (サーバー上のカテゴリ コレクションのみを持つ 1 つのデータベース、別のサーバー上のユーザーを持つもの、および 3 番目のサーバー上のタグ用のデータベース) だけが、mongos ルーターによって選択的にルーティングされる可能性があります。

それが可能かどうか知っている人はいますか?

4

2 に答える 2

1

を介したデータベースの手動操作に関する@matulefの回答とは別にmovePrimary、おそらくこれは、最初に指定したように、サーバーごとに1つずつ、異なるクラウドプロバイダーのデータセンターにある、3つのデータベース接続を維持するだけのより単純なソリューションを必要とします。mongos単一の接続ポイントのような単純さはありませんが、 3 つの接続を使用すると、それぞれの接続でuserstags、およびを直接操作できます。categories

于 2012-05-23T03:27:27.827 に答える
0

残念ながら、現在、この方法でコレクションを単一のデータベースに分割することはできません。ただし、各コレクションを異なるデータベースに配置すると、これを行うことができます。シャード システムでは、各データベースに関連付けられた「プライマリ シャード」があり、そのデータベース上のすべてのシャード化されていないコレクションが存在します。3 つのコレクションを 3 つの異なるデータベースに分割する場合、「movePrimary」コマンドを使用して、それらを異なるシャードに個別に移動できます。

http://www.mongodb.org/display/DOCS/movePrimary+Command

ただし、より多くのデータベースを作成するとオーバーヘッドが発生するため、これがニーズに最適なソリューションであるかどうかは明確ではありません。

于 2012-05-22T18:52:02.090 に答える