索引マージ・ポリシーによって、Dgraphが索引ファイルの増分更新世代をマージする頻度が決定されます。
データ・レイヤーには、Dgraphの索引ファイルがバージョン付きの一連の内部ファイルとして格納されます。結果は次のようになります。
- 新しいバージョンの作成中に古いバージョンにアクセスできます。
- 必要なくなると、古いバージョンはガベージ・コレクションの対象になります。
索引のバージョンは、世代ファイルのシーケンスとして格納されます。新しいバージョンは、新しい世代ファイルをこのシーケンスに追加します。問合せ待機時間は、索引ファイルを格納するために使用される世代ファイルの数およびサイズに部分的に依存します。
世代ファイルは、マージと呼ばれるプロセスを通じて結合されます。マージは、Dgraphリクエスト処理には影響しませんが、そのパフォーマンスに影響する可能性があるバックグラウンド・タスクです。このため、マージの積極性を指示するマージ・ポリシーを設定できます。
マージ・ポリシーの設定に加えて、他のすべてのインスタンスで使用される全体的なポリシーを変更することなく、1回の索引のマージを強制することもできます。「手動によるマージの強制」を参照してください。
次の2つのメカニズムのうち1つを使用して、索引マージ・ポリシーの構成(またはマージの強制)を行うことができます。
- Enterprise Managerプラグイン(Big Data Discovery用のEnterprise Managerを使用している場合)。マージの強制またはマージ・ポリシーの設定については、「Dgraphにおける索引更新のマージ」を参照してください。
- bdd-admin.shスクリプトのdgraph-adminコマンドのオプション。マージを強制するには、「マージ」を参照してください。マージ・ポリシーを設定するには、「マージ」を参照してください。
クラスタ環境では、マージ・ポリシーを設定するリクエストはリーダーDgraphノードに自動的にルーティングされます。
マージは、Dgraphのメモリー制限によって影響を受けません。