Merge ポリシー
マージ ポリシーは、 Extents (データ シャード) をマージする必要があるかどうかを定義します。
マージ操作には次の 2 つの種類があります。Merge
はインデックスを再構築し、Rebuild
はデータを完全に取り込み直します。
どちらの種類の操作をしても、ソースの複数のエクステントを置換する単一のエクステントが生成されます。
既定では、 Rebuild
操作をお勧めします。 再構築の条件に適合しないエクステントがある場合は、それらをマージしようとします。
Note
- different
drop-by
タグを使用してエクステントにタグを付けた場合、マージ ポリシーが設定されている場合でも、そのようなエクステントはマージされません。 詳細については、「 Extent tags」を参照してください。 - タグの和集合が 1,000 文字の長さを超えるエクステントはマージされません。
- データベースやテーブルのシャーディング ポリシーも、エクステントのマージ方法に影響します。
マージ ポリシーのプロパティ
マージ ポリシーには、次のプロパティが含まれます。
- RowCountUpperBoundForMerge:
- 既定値は 16,000,000 です。
- マージされたエクステントの最大許容行数。
- Merge 操作に適用され、Rebuild には適用されません。
- OriginalSizeMBUpperBoundForMerge:
- 既定値は 30,000 です。
- マージされたエクステントの最大許容オリジナル サイズ (MB 単位)。
- Merge 操作に適用され、Rebuild には適用されません。
- MaxExtentsToMerge:
- 既定値は 100 です。
- 1 回の操作でマージできる最大エクステント数。
- Merge 操作に適用されます。
- この値は変更しないでください。
- AllowRebuild:
- 既定値は true です。
Rebuild
操作を有効にするかどうか (有効にする場合、Merge
操作よりも優先されます) を定義します。
- AllowMerge:
- 既定値は true です。
Merge
操作を有効にするかどうか (有効にする場合、Rebuild
操作の方が優先されます) を定義します。
- MaxRangeInHours:
- 既定値は 24 です。
- 2 つの異なるエクステントをマージすることが許可される、それらのエクステントの作成時間の間の許容最大差 (時間)。
- タイムスタンプはエクステントの作成時のものであり、そのエクステントに含まれる実際のデータに関するものではありません。
- Merge 操作と Rebuild 操作の両方に適用されます。
- 具体化されたビューでは: 既定値は 336 (14 日)、非回復可能性は、具体化されたビューの有効な再入ポリシーで無効になります。
- この値は、有効な retention ポリシー SoftDeletePeriod、または cache ポリシー DataHotSpan 値に従って設定する必要があります。 SoftDeletePeriod と DataHotSpan の小さい方の値に設定します。 MaxRangeInHours 値は、その 2% から 3% に設定します。 例を参照してください。
- ルックバック:
- エクステントが Rebuild または Merge の対象とされるタイムスパンを定義します。
- サポートされる値:
Default
- システム管理の既定値。 これは推奨される既定値で、その期間は現時点では 14 日に設定されています。All
- ホットとコールドのすべてのエクステントが含まれます。HotCache
- ホット エクステントのみが含まれます。Custom
- 経過期間が指定されたCustomPeriod
未満のエクステントのみが含まれます。CustomPeriod
は、dd.hh:mm
形式のタイムスパン値です。
既定のポリシーの例
次の例に、既定のポリシーを示します。
{
"RowCountUpperBoundForMerge": 16000000,
"OriginalSizeMBUpperBoundForMerge": 30000,
"MaxExtentsToMerge": 100,,
"MaxRangeInHours": 24,
"AllowRebuild": true,
"AllowMerge": true,
"Lookback": {
"Kind": "Default",
"CustomPeriod": null
}
}
MaxRangeInHours の例
min(SoftDeletePeriod (アイテム保持ポリシー)、DataHotSpan (キャッシュ ポリシー)) | 最大範囲 (時間) (マージ ポリシー) |
---|---|
7 日 (168 時間) | 4 |
14 日 (336 時間) | 8 |
30 日 (720 時間) | 18 |
60 日 (1,440 時間) | 36 |
90 日 (2,160 時間) | 60 |
180 日 (4,320 時間) | 120 |
365 日 (8,760 時間) | 250 |
警告
エクステントのマージ ポリシーを変更する前に、サポート チームに相談してください。
データベースは、作成されるときに上述の既定のマージ ポリシー値で設定されます。 このポリシーは、既定では、そのデータベース内に作成されるすべてのテーブルに継承されます (ただし、ポリシーがテーブル レベルで明示的にオーバーライドされている場合を除く)。
詳細については、「 データベースまたはテーブルのマージ ポリシーを管理できる管理コマンドを参照してください。