埋め込みインデックス
埋め込みインデックスとは、事前に計算されたポインタや参照を、データ自体と直接隣接させるか、密接に結合された局所的な構造内に保存するデータ構造です。独立したデータベース構造に存在する従来の集中型インデックスとは異なり、埋め込みインデックスはインデックス情報をそれが記述するデータに近接させて保持します。この近接性が、読み取り操作中のレイテンシを最小限に抑える鍵となります。
リアルタイム検索エンジン、大規模AI推論パイプライン、複雑なトランザクションデータベースなどの高スループット・低レイテンシアプリケーションでは、個別のインデックス構造をトラバースするのに費やされる時間が重大なパフォーマンスのボトルネックになることがあります。インデックスを埋め込むことで、I/O操作とネットワークホップが劇的に減少し、より高速なクエリ応答時間とより効率的なリソース利用につながります。
データが書き込まれる際、システムはプライマリデータレコードと関連付けられた埋め込みインデックス構造を同時に更新します。この構造には、高速なルックアップに必要なポインタ、ハッシュ値、または事前計算されたメタデータが含まれている場合があります。クエリが到着すると、システムは単一の局所的な操作でデータブロックとその対応するインデックス情報を取得し、個別のインデックス検索フェーズをバイパスします。
埋め込みインデックスは、いくつかの最新のアーキテクチャで広く利用されています:
埋め込みインデックスを使用する主な利点は次のとおりです:
強力である一方で、埋め込みインデックスは書き込み操作に複雑さを導入します。更新または削除中にプライマリデータと埋め込みインデックス間の整合性を維持するには、堅牢なトランザクション管理が必要です。さらに、インデックスサイズはデータレコードの全体的なストレージフットプリントを増加させる可能性があります。
関連する概念には、分散インデックス(インデックスが複数のノードに分散されている場合)やインメモリデータグリッド(速度のために必要なすべてのデータ、インデックス構造を含む、RAM内に保持することに焦点を当てているもの)があります。