フェデレーテッドインデックス
フェデレーテッドインデックス(Federated Indexing)は、単一の検索インターフェースまたはクエリが、複数の独立した地理的に分散したデータリポジトリやインデックスにアクセスし、検索することを可能にするアーキテクチャパターンです。すべてのデータを単一の巨大なインデックスに統合するのではなく、システムはこれらの個別のインデックス間でクエリを調整し、結果を動的に集約します。
現代のエンタープライズ環境では、データが集中化されていることは稀です。データは、ローカルデータベース、クラウドストレージバケット、特殊なマイクロサービス、地域サーバーなど、さまざまなシステムに存在しています。フェデレーテッドインデックスは、データサイロの問題を解決し、すべてを一つの場所に移動させるための複雑でリソース集約的なETL(抽出、変換、ロード)プロセスを必要とせずに、ユーザーがデータ全体のランドスケープ全体で包括的な検索を実行できるようにします。
プロセスは、ユーザーがフェデレーテッドレイヤーにクエリを送信したときに始まります。このレイヤーはスマートルーターとして機能します。クエリを解析し、どの基盤となるデータソースが関連しているかを判断します。次に、各ソースが必要とする特定の言語やAPI(例:あるデータベースにはSQL、別のデータベースにはLuceneクエリ)にクエリを変換します。各ソースはローカルでクエリを実行し、関連する結果のサブセットのみをフェデレーテッドレイヤーに返します。フェデレーテッドレイヤーは、それらの結果をマージ、ランク付けし、統合された結果セットをエンドユーザーに提示します。
フェデレーテッドインデックスは、以下のような大規模な運用において極めて重要です。
この概念は、分散データベース、データ仮想化、分散検索エンジンと密接に関連しています。