# 索引マージ・ポリシーについて

索引マージ・ポリシーによって、Dgraphが索引ファイルの増分更新世代をマージする頻度が決定されます。

データ・レイヤーには、Dgraphの索引ファイルがバージョン付きの一連の内部ファイルとして格納されます。結果は次のようになります。

- 新しいバージョンの作成中に古いバージョンにアクセスできます。
- 必要なくなると、古いバージョンはガベージ・コレクションの対象になります。

索引のバージョンは、世代ファイルのシーケンスとして格納されます。新しいバージョンは、新しい世代ファイルをこのシーケンスに追加します。問合せ待機時間は、索引ファイルを格納するために使用される世代ファイルの数およびサイズに部分的に依存します。

世代ファイルは、マージと呼ばれるプロセスを通じて結合されます。マージは、Dgraphリクエスト処理には影響しませんが、そのパフォーマンスに影響する可能性があるバックグラウンド・タスクです。このため、マージの積極性を指示するマージ・ポリシーを設定できます。

マージ・ポリシーには次の2つの設定があります。

- バランス型: このポリシーは、短い待機時間と高いスループットのバランスをとります。これは、大多数のデプロイメントで推奨されるデフォルト・ポリシーです。
  注意: 通常の状態では、デフォルトのバランス型ポリシーを変更する必要はありません。
- 積極的: このポリシーは、索引の世代を頻繁および完全にマージして、問合せ待機時間を低く保ちますが、平均的なスループットとなります。積極的マージ・ポリシーは、問合せ待機時間が主な考慮事項であるデプロイメントに役立つ可能性があります。

マージ・ポリシーの設定に加えて、他のすべてのインスタンスで使用される全体的なポリシーを変更することなく、1回の索引のマージを強制することもできます。「手動によるマージの強制」を参照してください。

次の2つのメカニズムのうち1つを使用して、索引マージ・ポリシーの構成(またはマージの強制)を行うことができます。

- Enterprise Managerプラグイン(Big Data Discovery用のEnterprise Managerを使用している場合)。マージの強制またはマージ・ポリシーの設定については、「Dgraphにおける索引更新のマージ」を参照してください。
- `bdd-admin.sh`スクリプトの`dgraph-admin`コマンドのオプション。マージを強制するには、「マージ」を参照してください。マージ・ポリシーを設定するには、「マージ」を参照してください。

クラスタ環境では、マージ・ポリシーを設定するリクエストはリーダーDgraphノードに自動的にルーティングされます。

マージは、Dgraphのメモリー制限によって影響を受けません。