シャーディングされたコレクションとシャーディングされていないコレクションを含むデータベースがある場合。プライマリシャードに直接接続して、アンシャードコレクションに問題なくアクセス(読み取りと書き込みを含む)できますか?これを実行したいのは、接続mongos
によってアンシャードコレクションにアクセスするためのパフォーマンスが低下するだけだと思うからです。
私はこれを試しましたが、動作します。しかし、私はここで私が知らないいくつかの問題があるのではないかと思います。
シャーディングされたコレクションとシャーディングされていないコレクションを含むデータベースがある場合。プライマリシャードに直接接続して、アンシャードコレクションに問題なくアクセス(読み取りと書き込みを含む)できますか?これを実行したいのは、接続mongos
によってアンシャードコレクションにアクセスするためのパフォーマンスが低下するだけだと思うからです。
私はこれを試しましたが、動作します。しかし、私はここで私が知らないいくつかの問題があるのではないかと思います。
シャーディングされたコレクションとシャーディングされていないコレクションを含むデータベースがある場合。プライマリシャードに直接接続して、アンシャードコレクションに問題なくアクセス(読み取りと書き込みを含む)できますか?mongosに接続すると、アンシャードコレクションにアクセスするためのパフォーマンスが低下するだけだと思うので、これを実行したいと思います。
一般に、を介して接続することmongos
で、シャーディングされていないコレクションのパフォーマンスに大きなオーバーヘッドが発生することはありません。
また、他のコレクションがシャーディングされている場合、アプリケーションはシャーディングされたコレクションとシャーディングされていないコレクションの両方で単一の接続プールを利用できないため、アプリケーションロジックでこれを管理する必要があることにも注意してください。
私はこれを試しましたが、動作します。しかし、私はここで私が知らないいくつかの問題があるのではないかと思います。
現時点では、シャーディングされていないコレクションは常にデータベースのプライマリシャードに存在するため、このアプローチは機能します。
ただし、シャードされていないコレクションをシャード全体に配布する作業が進行中であることに注意してください( MongoDB Jira課題追跡システムのSERVER-939を参照)。その変更が発生すると、シャーディングされていないコレクションがプライマリシャードに存在すると想定できなくなり、mongos
正しくルーティングするためにに依存する方が安全になります。