Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Iceberg 보안 표지의 테이블 전체 적용

Iceberg 테이블은 업스트림 입력의 보안 표지(Marking)를 상속할 수 있습니다. 표지는 이를 받은 스냅샷과 연결되지만 읽기 접근에는 사실상 테이블 전체로 적용됩니다. 한 메타데이터 파일에 모든 브랜치와 태그의 유지된 스냅샷이 포함되기 때문입니다.

stop_propagating을 적용한 경우를 제외하면, 사용자는 메타데이터에 남아 있는 모든 스냅샷의 표지를 충족해야 테이블을 읽을 수 있습니다. 직접 읽으려는 브랜치가 아닌 다른 브랜치의 표지도 영향을 줄 수 있습니다.

데이터셋과 비교

상황Foundry 데이터셋Iceberg 테이블
브랜치 A에 표지가 있는 트랜잭션 또는 스냅샷 추가main 접근을 제한하지 않습니다.main을 포함한 모든 브랜치 접근을 제한합니다.
표지가 없는 깨끗한 대체 데이터를 생성새 현재 뷰는 읽을 수 있고 표지가 있는 과거 트랜잭션은 제한될 수 있습니다.표지가 있는 과거 스냅샷을 만료시키기 전에는 현재 스냅샷도 제한됩니다.
표지가 있는 이력의 브랜치 삭제main 접근에는 영향이 없습니다.스냅샷이 남아 있으면 main도 계속 제한됩니다.
stop_propagating으로 표지 전파 중단해당 표지가 제거됩니다.해당 표지가 제거됩니다.

표지 요구를 의도적으로 해제할 때

데이터를 표지 없이 공개하려는 의도라면 stop_propagating 워크플로에서 승인을 받아 상속된 표지를 제거합니다. 증분 및 비증분 파이프라인에 모두 사용할 수 있고, 증분 테이블 전체를 다시 빌드하지 않고 해제할 수도 있습니다.

이 절차는 단순한 이력 정리가 아니라 표지가 붙은 데이터의 노출 범위를 바꾸는 작업입니다. 데이터 공개 의도와 필요한 승인을 먼저 확인합니다.

오래된 표지 이력을 제거할 때

표지가 있는 스냅샷이 더 이상 현재 데이터 계보에 필요하지 않다면 이력을 정리하는 방식으로 접근 제한을 제거할 수 있습니다.

  1. 해당 스냅샷을 참조하는 브랜치나 태그가 없는지 확인합니다.
  2. 삭제 가능한 브랜치의 스냅샷이라면 브랜치를 삭제할 수 있습니다.
  3. main처럼 삭제하면 안 되는 브랜치라면 현재 헤드가 표지 스냅샷에 의존하지 않는 상태여야 합니다. 이전 스냅샷을 부모로 의존하지 않는 전체 table replace가 한 방법입니다.
  4. 참조가 없어진 표지 스냅샷을 유지보수 작업으로 만료시킵니다.
  5. 대상 스냅샷이 Snapshots 탭에 더 이상 없는지 확인합니다.

브랜치를 삭제하는 것만으로는 스냅샷이 사라지지 않습니다. 이 정리에는 표지가 붙은 테이블을 읽을 수 있는 권한과 유지보수 operation이 필요합니다. 만료한 스냅샷은 롤백과 시간 여행에 사용할 수 없으므로 보존 조건도 확인합니다.