Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

사용자 정의 Retention 정책 관리

Retention 정책은 공간별로 독립 관리하며 각 정책은 정해진 순서 없이 평가합니다. 공간당 사용자 정의 정책은 최대 50개입니다. 플랫폼 관리 Recommended 정책에서 특정 공간이나 프로젝트를 제외하려면 Palantir 지원팀에 요청합니다.

정책은 데이터셋 선택기와 트랜잭션 선택기로 구성합니다. 조건에 맞는 트랜잭션은 삭제 대상으로 표시되어 사용자에게 더 이상 사용 가능한 데이터가 아니며, 이후 주기적인 물리 삭제로 제거합니다.

선택 조건 결합

새 정책은 기본적으로 데이터셋을 선택하지 않습니다. 적어도 하나의 데이터셋 선택기가 Select 모드여야 합니다. 각 데이터셋은 모든 선택기의 포함 및 제외 조건을 만족해야 하며 선택기를 나열한 순서는 결과에 영향을 주지 않습니다.

선택한 데이터셋에서는 기본적으로 모든 브랜치의 닫힌 트랜잭션을 고려합니다. OPEN 트랜잭션은 항상 무시합니다. 트랜잭션 선택기는 이 범위를 좁히며 최종 대상은 모든 선택기의 조건을 만족해야 합니다. 여기에도 선택기의 순서는 영향을 주지 않습니다.

모든 브랜치의 트랜잭션을 대상으로 하려면 Transaction count에서 보존 개수를 0으로 두고 최신 view 보호 옵션도 목적에 맞게 설정해야 합니다. 0만 지정하고 최신 데이터까지 삭제한다고 가정하면 안 됩니다.

최신 view 삭제 옵션

기본 정책은 어느 브랜치의 최신 view에라도 속한 트랜잭션을 삭제하지 않습니다. Allow deletion from latest view는 현재 데이터까지 삭제하도록 이 보호를 해제합니다. 실제 최신 view에서 데이터를 삭제하면 Foundry는 해당 파일이 더 이상 view에 없다는 사실을 나타내는 DELETE 트랜잭션을 추가합니다.

추가 옵션 Abort open transactions는 몇 분 간격으로 트랜잭션을 커밋하는 등 빈도가 높은 데이터셋에서만 사용하는 고급 설정입니다. 열린 트랜잭션을 중단시키는 동작까지 포함하므로 대상과 영향 범위를 확인합니다.

정책 철회는 과거 변경을 자동 복원하지 않습니다. 삭제 표시한 트랜잭션은 sweep 전에만 지원을 받아 표시를 해제할 수 있고 sweep 이후에는 영구 삭제됩니다.

증분 데이터셋의 보존 예시

가상 환경의 권장 정책이 최근 3개 view 밖이면서 30일보다 오래된 데이터만 삭제한다고 가정합니다. 데이터셋을 30분마다 APPEND로 빌드해도 SNAPSHOT을 만들지 않으면 모든 신규 트랜잭션이 같은 view에 남습니다. 오래되었다는 조건만 충족하고 최근 view 밖이라는 조건을 충족하지 못하므로 데이터가 계속 유지될 수 있습니다.

처음 view 하나에서 출발했다면 새 SNAPSHOT 두 개를 만들어도 전체 view는 세 개이므로 처음 view가 여전히 최근 세 개에 포함됩니다. 처음 view가 이 범위를 벗어나려면 세 번째 새 SNAPSHOT으로 네 번째 view가 만들어져야 합니다.

해당 데이터셋에서 30일보다 오래된 트랜잭션을 현재 view에서도 제거해야 한다면 다음처럼 데이터셋 범위를 좁히고 최신 view 삭제를 허용하는 별도 정책을 구성할 수 있습니다.

같은 조건을 데이터셋 하나가 아니라 상위 폴더 전체에 적용하면 그 안의 다른 데이터도 영향을 받습니다. 예를 들어 트랜잭션 하나만 가진 데이터셋이 31일 전에 생성되었다면 그 유일한 트랜잭션이 삭제되어 현재 데이터와 이력 모두 사라질 수 있습니다.

데이터셋 브랜치 정리

Retention Policies UI는 트랜잭션 정책만 구성합니다. 기반 서비스는 데이터셋 브랜치와 연결된 JobSpec도 정리할 수 있지만 이 동작의 세부 조건은 UI에서 설정하지 못합니다.

기본 브랜치 삭제는 다음 조건을 모두 만족해야 합니다.

  1. 브랜치의 JobSpec이 가리키는 코드 저장소에 같은 이름의 브랜치가 없습니다.
  2. 최근 7일 동안 커밋한 트랜잭션이나 생성한 열린 트랜잭션이 없습니다.
  3. 브랜치 자체를 최근 7일 안에 만들지 않았습니다.
  4. 한 번도 빌드하지 않은 브랜치라면 데이터셋 JobSpec도 최근 7일 안에 만들지 않았습니다.

브랜치가 Foundry 파일시스템에는 있지만 Catalog에는 없을 수 있습니다. 예상대로 정리되지 않는 브랜치를 조사할 때 이 상태 차이를 고려합니다.

2021년 이전에 만든 일부 환경에는 브랜치 정리가 활성화되어 있지 않을 수 있습니다. 조건을 모두 만족하는데도 삭제되지 않으면 foundry-retention 서비스에 branch-deletion 정책이 구성되어 있는지 Palantir 지원팀에 확인합니다.