エクステント (データ シャード)

テーブルは エクステントまたは データ シャードにパーティション分割されます。 各エクステントは、作成時刻や省略可能なタグなどのデータとメタデータを含むテーブルの水平セグメントです。 これらすべてのエクステントの和集合には、テーブルのデータセット全体が含まれます。 エクステントはクラスター内のノード間で均等に分散され、最適化されたパフォーマンスのためにローカル SSD とメモリの両方にキャッシュされます。

エクステントは不変です。つまり、クエリを実行したり、別のノードに再割り当てしたり、テーブルから削除することはできますが、変更することはできません。 データ変更は、新しいエクステントを作成し、古いエクステントを新しいエクステントとトランザクション的にスワップすることによって行われます。 エクステントの不変性は、堅牢性の向上や以前のスナップショットへの容易な復帰などの利点を提供します。

エクステントは、列に物理的に配置されたレコードのコレクションを保持し、データの効率的なエンコードと圧縮を可能にします。 クエリの効率を維持するために、構成されたマージ ポリシーとシャーディング ポリシーに従って、より小さなエクステントがより大きなエクステントにマージされます。 エクステントをマージすると、管理オーバーヘッドが削減され、インデックスの最適化と圧縮の向上につながります。

共通エクステントのライフサイクルは次のとおりです。

  1. インジェスト操作によってエクステントが作成されます。
  2. エクステントは他のエクステントとマージされます。
  3. マージされたエクステント (その系列を他のエクステントに追跡するエクステント) は、 最終的にアイテム保持ポリシーのために削除されます。

エクステントの作成時間

エクステントごとに 2 つの datetime 値が追跡されます。 MinCreatedOnMaxCreatedOn。 これらの値は、最初は同じですが、エクステントが他のエクステントとマージされると変更される可能性があります。 エクステントが他のエクステントとマージされると、新しい値はマージされたエクステントの元の最小値と最大値に従います。

エクステントの作成時間は、次の目的で使用されます。

  • 保持: 前に作成したエクステントは、前に削除されます。
  • キャッシュ: 最近作成されたエクステントは ホット キャッシュに保持されます。
  • サンプリング: take などのクエリ操作を使用する場合は、最近のエクステントを使用することをお勧めします。

エクステントの作成時間を上書きするには、データ インジェスト プロパティに代替creationTimeを指定します。 これは、データを再読み込みするが、遅れて到着したかのように表示したくない場合など、保持目的に役立ちます。

注意

時間に基づいてエクステントを削除する計算では、マージされたエクステント内の最新のエクステントの作成時間が使用されます。