web-dev-qa-db-ja.com

シャーディングのmongodbアーキテクチャのクエリルーターとは何ですか?

enter image description here

ガイドを読んだところ、

クエリルーターシャーディングはアプリケーションに対して透過的です。シャードが1つであろうと100であろうと、MongoDBをクエリするためのアプリケーションコードは同じです。アプリケーションは、適切なシャードにクエリをディスパッチするクエリルーターにクエリを発行します。 ガイドへのリンク

ルーターを気にする必要がないということですか?またはこれは特定のマシンですか?わかりません。

1
Khan

つまり、アプリケーションはshardsが配置されているマシンを気にする必要はありません。クエリルーターの少なくとも1つがどこにあるかを知る必要があります。これは、システムにアクセスするためにドライバーに指示するためです。実際には、クエリルーターはシャードと同じ物理マシン上にあってもなくてもかまいません。クエリルーターはアプリケーションとは別のプロセスであり、必ずしも別の物理マシンではありません。最も一般的にはアプリケーションサーバーと同じマシン上にありますが、それは個々のニーズによって異なります。

これは、アプリケーションがシャーディングを認識する必要がある一部のデータベースとは対照的です。たとえば、「B」で始まる姓ではなく「A」で始まる姓を照会するには、別のサーバーに接続する必要がある場合があります。

0
Karl Bielefeldt