私の理解では、ドキュメントの一意の ID をハッシュすることによって、クラスター内の各ノードがデータを均等に分散するようにします。私の質問は、これを変更して、クラスター内の特定のノードにドキュメントを「インテリジェントに」ルーティングするためのカスタム キーを定義する方法があるかどうかです。
私のシナリオでは、すべてのデータにわたって特定のエンティティ (client-project-task-item を考えてください) に関連するデータがあります。水平スケーリングを必要とするのに十分なアイテムがあります。ただし、各検索は常に、データ セットのサイズが中程度の特定のクライアント プロジェクト タスクに関連しています。
最も効率的な方法は、クライアント プロジェクト タスクごとにデータを分割し、たとえば 1000 個のパーティションを事前に割り当てることだと思います。
ある時点でこれが私のスケーリング能力を制限することを理解していますが、すべての検索ですべてのパーティションをヒットする必要がないというトレードオフは、私が喜んで支払うものになります.
では、CouchDb でこのタイプのパーティショニング ロジックを作成する方法はありますか?
ありがとう; ブレント