相互に接続されたデータベースの大規模なグラフ、事実上 1 つの巨大な分散データベースがあるとします。グラフ上の任意のノードは、そのネイバーに再帰的にクエリを実行することでデータベース全体をクエリできます。これにより、ネイバーから取得した結果が取得され、結合された結果がクエリ パスに渡されます。
また、ノード自体のデータベースに「十分に良い」結果が含まれている場合に再帰を停止する機能があると想定してください。これにより、適切な結果がすでに近くにある場合にネットワーク全体を照会する必要がなくなります。これは、私が言おうとしていることに関連性があります。
クエリが作成されるたびに、返されたデータをクエリを開始したノードに一歩近づけて転送するのは理にかなっていませんか? つまり、クエリされたノードは、そのネイバーにクエリを実行して X を取得し、自身にクエリを実行して Y を取得し、クエリを実行したノードに X+Y を渡し、X をデータベースに格納し、データベースから Y を削除します。これは最終的に、平均してクエリ中に参照されるノードの量に関して、分散データベースがそのノード間でデータのほぼ最適な分散を行うことになるのではないでしょうか?
この技に名前はありますか?