Undo Tablespace
수정 전 이미지가 Undo 세그먼트에 남아 읽기 일관성을 유지합니다.
수정 전 이미지가 Undo 세그먼트에 남아 읽기 일관성을 유지합니다.
행 버전 정보가 Undo 체인으로 이어져 이전 상태를 따라가게 합니다.
오래된 튜플이 테이블과 인덱스 안에 남아 새 버전과 함께 공존합니다.
더 이상 참조되지 않는 버전부터 공간을 회수합니다.
불필요해진 Undo 레코드를 뒤에서 천천히 제거합니다.
보이지 않는 튜플을 정리하고 재사용 가능한 공간으로 돌려놓습니다.
오래된 읽기를 보존하느라 Undo 공간 압박이 커집니다.
버전 체인이 길어져 SELECT가 더 많은 Undo를 추적합니다.
dead tuple이 쌓여 테이블과 인덱스 스캔 부담이 커집니다.
공통 대응은 긴 트랜잭션을 줄이는 것이고, 엔진별 관찰 지표는 다릅니다. Oracle은 Undo 사용량, MySQL은 purge 지연과 history list, PostgreSQL은 VACUUM 지연과 bloat를 보면 MVCC 비용이 어디서 커지는지 바로 읽을 수 있습니다.