유지 관리 작업에 대한 고려 사항 및 제한 사항
Amazon S3는 S3 테이블 또는 테이블 버킷의 성능을 개선하기 위한 유지 관리 작업을 제공합니다. 이러한 옵션은 파일 압축, 스냅샷 관리 및 참조되지 않은 파일 제거입니다. 다음은 이러한 관리 옵션에 대한 제한 사항 및 고려 사항입니다.
압축 고려 사항
압축에는 다음 고려 사항이 적용됩니다. 압축에 대한 자세한 내용은 테이블 유지 관리 섹션을 참조하세요.
-
압축은 Apache Parquet, Avro 및 ORC 파일 유형에서 지원됩니다.
-
압축은 기본적으로 Apache Parquet 형식으로 새 파일을 작성합니다. 파일을 Avro 또는 ORC 형식으로 압축하려면
write.format.default
테이블 속성을avro
또는orc
로 설정합니다. -
압축은
Fixed
데이터 유형을 지원하지 않습니다. -
압축은
brotli
,lz4
압축 유형을 지원하지 않습니다. 압축은 자동화된 일정에 따라 수행됩니다. 압축과 관련된 요금을 방지하려면 PutTableMaintenanceConfiguration API 작업을 사용하여 테이블에 대해 수동으로 비활성화할 수 있습니다.
참고
Apache Iceberg는 충돌 감지와 함께 낙관적 동시성 모델을 사용하여 쓰기 트랜잭션을 중재합니다. 낙관적 동시성을 사용하면 사용자 및 압축 트랜잭션이 충돌하여 트랜잭션이 실패할 수 있습니다. 충돌이 발생하면 압축 작업은 실패 시 다시 시도됩니다. 파이프라인은 또한 재시도 로직을 사용하여 충돌하는 작업으로 인해 실패하는 트랜잭션 문제를 해결하는 것이 좋습니다.
스냅샷 관리에 대한 고려 사항
다음은 스냅샷 관리에 적용되는 고려 사항입니다. 스냅샷 관리에 대한 자세한 내용은 테이블 유지 관리 섹션을 참조하세요.
-
스냅샷은 두 기준(보존할 최소 스냅샷 수 및 지정된 보존 기간)이 모두 충족되는 경우에만 보존됩니다.
-
스냅샷 관리는 Apache Iceberg에서 만료된 스냅샷 메타데이터를 삭제하여 만료된 스냅샷에 대한 시간 이동 쿼리를 방지하고 선택적으로 연결된 데이터 파일을 삭제합니다.
-
스냅샷 관리는
metadata.json
파일에서 또는 브랜치 또는 태그 기반 보존을 포함한ALTER TABLE SET TBLPROPERTIES
SQL 명령을 통해 Iceberg 테이블 속성으로 구성한 보존 값을 지원하지 않습니다. 스냅샷 관리는 브랜치 또는 태그 기반 보존 정책을 구성하거나metadata.json
파일에PutTableMaintenanceConfiguration
API를 통해 구성된 값보다 긴 보존 정책을 구성할 때 비활성화됩니다. 이러한 경우 S3는 스냅샷을 만료하거나 제거하지 않으므로 스토리지 요금을 피하려면 스냅샷을 수동으로 삭제하거나 Iceberg 테이블에서 속성을 제거해야 합니다.
참조되지 않은 파일 제거 시 고려 사항
참조되지 않은 파일 제거에는 다음 고려 사항이 적용됩니다. 참조되지 않은 파일 제거에 대한 자세한 내용은 테이블 버킷 유지 관리 섹션을 참조하세요.
-
참조되지 않은 파일 제거는 생성 시간이 보존 기간 이전인 경우 Iceberg 메타데이터에서 더 이상 참조하지 않는 데이터 및 메타데이터 파일을 삭제합니다.
S3 테이블 및 테이블 버킷 유지 관리 작업 제한 및 관련 API
유지 관리 작업 | 속성 | 테이블 버킷 수준에서 구성 가능 여부 | 테이블 수준에서 구성 가능 여부 | 기본값 | 최소값 | 관련 Iceberg 유지 관리 루틴 | S3 Tables API 제어 |
---|---|---|---|---|---|---|---|
압축 | targetFileSizeMB |
아니요 | 예 | 512MB | 64MB |
|
PutTableMaintenanceConfiguration |
스냅샷 관리 | minimumSnapshots |
아니요 | 예 | 1 | 1 | ExpireSnapshots retainLast |
PutTableMaintenanceConfiguration |
스냅샷 관리 | maximumSnapshotAge |
아니요 | 예 | 120시간 | 1시간 | ExpireSnapshots expireOlderThan |
PutTableMaintenanceConfiguration |
참조되지 않은 파일 제거 | unreferencedDays |
예 | 아니요 | 3일 | 1일 | deleteOrphanFiles |
PutTableBucketMaintenanceConfiguration |
참조되지 않은 파일 제거 | nonCurrentDays |
예 | 아니요 | 10일 | 1일 | N/A | PutTableBucketMaintenanceConfiguration |
참고
S3 Tables는 128MB의 parquets row-group-default 크기를 적용합니다.