STL_VACUUM - Amazon Redshift

STL_VACUUM

정리된 테이블의 행 및 블록 통계를 표시합니다.

이 뷰는 정리 작업이 시작하고 끝난 시점에서 각각 특정 정보를 나열하며, 작업 실행 시 이점에 대한 설명도 나타냅니다. 이 명령 실행에 필요한 요건에 대한 자세한 내용은 VACUUM 명령 설명을 참조하십시오.

STL_VACUUM은 슈퍼 사용자에게만 표시됩니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 SYS_VACUUM_HISTORY에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID입니다.
xid bigint VACUUM 문의 트랜잭션 ID. 이 테이블을 STL_QUERY 뷰로 조인하면 임의의 VACUUM 트랜잭션에서 실행된 SQL 문을 개별적으로 확인할 수 있습니다. 전체 데이터베이스를 정리하는 경우에는 각 테이블이 별도의 트랜잭션으로 정리됩니다.
table_id 정수 테이블 ID입니다.
status character(30)

각 테이블의 VACUUM 작업 상태. 가능한 값은 다음과 같습니다.

  • Started

  • Started Delete Only

  • Started Delete Only (Sorted >= nn%)

    VACUUM FULL에서 삭제 단계만 시작되었습니다. 테이블이 이미 정렬 임계값 이상으로 정렬되어 있기 때문에 정렬 단계를 건너뛰었습니다.

  • Started Sort Only

  • Started Ranged Partition

  • Started Reindex

  • Finished

    테이블에서 작업이 완료된 시간. 특정 테이블에서 정리 작업이 걸린 시간을 확인하려면 해당 트랜잭션 ID와 테이블 ID를 대상으로 Started 시간을 Finished 시간에서 빼서 계산합니다.

  • Skipped

    테이블이 완전히 정렬되어 삭제 표시된 행이 없기 때문에 테이블을 건너뛰었습니다.

  • Skipped (delete only)

    DELETE ONLY가 지정되었고, 삭제 표시된 행이 없기 때문에 테이블을 건너뛰었습니다.

  • Skipped (sort only)

    SORT ONLY가 지정되었고, 테이블이 이미 완전히 정렬되었기 때문에 테이블을 건너뛰었습니다.

  • Skipped (sort only, sorted>=xx%)

    SORT ONLY가 지정되었고, 테이블이 이미 정렬 임계값 이상으로 정렬되었기 때문에 테이블을 건너뛰었습니다.

  • Skipped (0 rows)

    테이블이 비어 있어서 건너뛰었습니다.

  • VacuumBG

    자동 vacuum 작업이 백그라운드에서 수행되었습니다. 이 상태는 자동으로 수행될 때 다른 상태 앞에 추가됩니다. 예를 들어, 자동으로 수행되는 삭제 전용 vacuum에는 [VacuumBG] Started Delete Only 상태가 표시된 시작 행이 있습니다.

VACUUM 정렬 임계값 설정에 대한 자세한 내용은 VACUUM 섹션을 참조하세요.

rows bigint 테이블의 실제 행 수 + 삭제되었지만 아직 디스크에 저장되어 있는(정리 대기 중인) 모든 행. 이 열에는 Started 상태인 행에 대해 정리 작업이 시작되기 전 행의 수와 Finished 상태인 행에 대해 정리 작업을 마친 후 행의 수가 표시됩니다.
sortedrows 정수 테이블에서 정렬된 행의 수. 이 열에는 Status 열이 Started 상태인 행에 대해 정리 작업이 시작되기 전 행의 수와 Status 열이 Finished 상태인 행에 대해 정리 작업을 마친 후 행의 수가 표시됩니다.
블록 정수 정리 작업 이전(Started 상태의 행)과 정리 작업 이후(Finished 열) 테이블 데이터를 저장하는 데 사용된 데이터 블록의 총 수. 각 데이터 블록이 1MB씩 사용합니다.
max_merge_partitions 정수 이 열은 성능 분석에 사용되며 병합 단계 반복당 테이블에 대해 vacuum이 처리할 수 있는 최대 파티션 수를 나타냅니다. (Vacuum은 정렬되지 않은 리전을 하나 이상의 정렬된 파티션으로 정렬합니다. 테이블의 열 수와 현재 Amazon Redshift 구성에 따라 병합 단계는 단일 병합 반복에서 최대 파티션 수를 처리할 수 있습니다. 병합 단계는 정렬된 파티션 수가 최대 병합 파티션 수를 초과해도 작동하지만 더 많은 병합 반복이 필요합니다.)
eventtime 타임스탬프 정리 작업의 시작 또는 종료 시점
reclaimable_rows bigint 현재 cutoff_xid에 대해 회수 가능한 행 수입니다. 이 열에는 상태가 Started인 행에 대한 vacuum이 시작되기 전 Redshift에서 예상한 회수 가능한 행 수와, 상태가 Finished인 행에 대한 vacuum 이후 남은 회수 가능한 행의 실제 수가 표시됩니다.
reclaimable_space_mb bigint 현재 cutoff_xid의 회수 가능한 공간(MB)입니다. 이 열에는 상태가 Started인 행에 대한 vacuum이 시작되기 전 Redshift에서 예상한 회수 가능한 공간과, 상태가 Finished인 행에 대한 vacuum 이후 남은 회수 가능한 공간의 실제 양이 표시됩니다.
cutoff_xid bigint VACUUM 작업의 컷오프 트랜잭션 ID입니다. 컷오프 이후의 모든 트랜잭션은 VACUUM 작업에 포함되지 않습니다.
is_recluster 정수 1(true)이면 VACUUUM 작업이 리클러스터 알고리즘을 실행했다는 뜻이고, 0(false)이면 실행되지 않았다는 뜻입니다.

샘플 쿼리

다음은 테이블 108313의 정리 통계를 보고하는 쿼리입니다. 이 테이블은 몇 차례 삽입 및 삭제 작업 이후에 정리되었습니다.

select xid, table_id, status, rows, sortedrows, blocks, eventtime, reclaimable_rows, reclaimable_space_mb from stl_vacuum where table_id=108313 order by eventtime; xid | table_id | status | rows | sortedrows | blocks | eventtime | reclaimable_rows | reclaimable_space_mb -------+----------+-------------------------+------+------------+--------+----------------------+------------------+---------------------- 14294 | 108313 | Started | 1950 | 408 | 28 | 2016-05-19 17:36:01 | 984 | 17 14294 | 108313 | Finished | 966 | 966 | 11 | 2016-05-19 18:26:13 | 0 | 0 15126 | 108313 | Skipped(sorted>=95%) | 966 | 966 | 11 | 2016-05-19 18:26:38 | 0 | 0

VACUUM 작업을 시작했을 때 테이블에 포함된 행의 수는 1,950개였고, 이 행들은 1MB 블록 28개에 저장되어 있었습니다. Amazon Redshift는 vacuum 작업을 통해 984개 또는 17개 블록의 디스크 공간을 회수할 수 있다고 추정했습니다.

완료 상태 행의 경우 ROWS 열에는 966 값이 표시되고, BLOCKS 열 값은 28에서 11로 감소합니다. vacuum은 예상 디스크 공간을 재확보했으며, vacuum 작업이 완료된 후 재확보 가능한 행이나 공간이 남지 않았습니다.

정렬 단계(트랜잭션 15126)에서는 행이 정렬 키 순서에 따라 삽입되었기 때문에 정리 작업이 테이블을 건너뛸 수 있었습니다.

다음은 다수 행의 INSERT 작업 이후 SALES 테이블(이번 예의 테이블 110116)에 대한 SORT ONLY 정리 통계를 나타낸 예입니다.

vacuum sort only sales; select xid, table_id, status, rows, sortedrows, blocks, eventtime from stl_vacuum order by xid, table_id, eventtime; xid |table_id| status | rows |sortedrows|blocks| eventtime ----+--------+-----------------+-------+----------+------+-------------------- ... 2925| 110116 |Started Sort Only|1379648| 172456 | 132 | 2011-02-24 16:25:21... 2925| 110116 |Finished |1379648| 1379648 | 132 | 2011-02-24 16:26:28...