Amazon Redshift(8)

BAO.DE·2022년 10월 5일

✔ 불변 블록
Redshift는 행이 삭제되면 논리적으로 삭제마킹을 하지만
실제로는 디스크에 그대로 남아있다,

  • 업데이트의 경우 새 데이터를 새로운 데이터 블록에 덮어씌우고 (삭제마킹)
  • 시스템 공간을 더 사용하게 됨 & 쿼리 시 삭제된 데이터 또한 스캔
  • 시스템 자원을 더 사용하게 돼 성능에 저하를 일으킬 수 있게 된다

이러한 삭제된 행들을 정리하고 삭제된 공간을 클러스터에 반환하고

데이터 블록을 재정렬 해주는 작업이 VACUUM 작업이다

type

  • VACUUM SORT ONLY
    • 비 정렬 구간을 정렬 , 기존의 정렬 구간과 병합
    • 테이블에 정의된 소트키를 기준으로 데이터를 정렬
  • VACUUM DELETE ONLY
    • 삭제 마킹된 데이터를 정리
    • 삭제된 데이터를 스캔하는 작업을 피하기 위해 수동 실행
  • VACUUM FULL
    - SORT ONLY + DELETE ONLY
    • DELETE & INSERT 작업 후 VACUUM FULL 쿼리로 대체
  • VACUUM REINDEX
    -
    • 인터리브 소트키를 사용하면 성능을 크게 향상시킴
    • 그러나 시간이 지남에 따라 데이터의 정렬 비율이 떨어지면서 성능 저하 유발
    • 정렬 키를 다시 분석해 성능을 복원

0개의 댓글