익스텐트(데이터 분할)
테이블은 익스텐트 또는 데이터 분할로 분할됩니다. 각 익스텐트 는 생성 시간 및 선택적 태그와 같은 데이터 및 메타데이터를 포함하는 테이블의 가로 세그먼트입니다. 이러한 모든 범위의 합집합에는 테이블의 전체 데이터 세트가 포함됩니다. 익스텐션은 클러스터의 노드에 균등하게 분산되며 최적화된 성능을 위해 로컬 SSD와 메모리 모두에 캐시됩니다.
익스텐트는 변경할 수 없으므로 쿼리하거나, 다른 노드에 재할당하거나, 테이블에서 삭제되지만 수정되지 않을 수 있습니다. 데이터 수정은 새 익스텐트 만들기 및 트랜잭션 방식으로 이전 익스텐트와 새 익스텐트 교환을 통해 발생합니다. 익스텐트의 불변성은 향상된 견고성과 이전 스냅샷으로의 손쉬운 회귀와 같은 이점을 제공합니다.
익스텐트에서는 열에 물리적으로 정렬된 레코드 컬렉션을 보유하므로 데이터를 효율적으로 인코딩하고 압축할 수 있습니다. 쿼리 효율성을 유지하기 위해 구성된 병합 정책 및 분할 정책에 따라 더 작은 범위가 더 큰 범위로 병합됩니다. 익스텐트 병합은 관리 오버헤드를 줄이고 인덱스 최적화 및 압축 향상으로 이어집니다.
일반적인 익스텐트 수명 주기는 다음과 같습니다.
- 익스텐트 는 수집 작업에 의해 생성됩니다.
- 익스텐트 는 다른 익스텐트와 병합됩니다.
- 병합된 익스텐트(계보를 다른 범위로 추적하는 범위일 수 있음)는 보존 정책으로 인해 결국 삭제됩니다.
익스텐트 생성 시간
두 날짜/시간 값은 익스텐트 MinCreatedOn
당 추적됩니다. 및 MaxCreatedOn
입니다. 이러한 값은 처음에는 동일하지만 익스텐트 가 다른 익스텐트와 병합되면 변경 될 수 있습니다. 범위가 다른 익스텐트와 병합되면 새 값은 병합된 익스텐트에서 원래 최소값 및 최대값에 따라 다릅니다.
익스텐트 생성 시간은 다음과 같은 용도로 사용됩니다.
- 보존: 이전에 만든 익스텐트 이전에 삭제됩니다.
- 캐싱: 최근에 만든 익스텐트 는 핫 캐시에 유지됩니다.
- 샘플링: take과 같은 쿼리 작업을 사용할 때 최근 익스텐트 선호도입니다.
익스텐트의 생성 시간을 덮어쓰려면 데이터 수집 속성에 대체 creationTime
를 제공합니다. 데이터를 다시 수집하려고 하지만 늦게 도착한 것처럼 표시하지 않으려는 경우와 같이 보존 목적에 유용할 수 있습니다.
참고
시간에 따라 익스텐트를 제거하는 계산에서는 병합된 익스텐트 내에서 최신 익스텐트 생성 시간을 사용합니다.
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기