

# 유지 관리 작업에 대한 고려 사항 및 제한 사항
<a name="s3-tables-considerations"></a>

Amazon S3는 S3 테이블 또는 테이블 버킷의 성능을 개선하기 위한 유지 관리 작업을 제공합니다. 이러한 옵션은 파일 압축, 스냅샷 관리 및 참조되지 않은 파일 제거입니다. 다음은 이러한 관리 옵션에 대한 제한 사항 및 고려 사항입니다.

**Topics**
+ [

## 압축 고려 사항
](#s3-tables-compaction-considerations)
+ [

## 스냅샷 관리에 대한 고려 사항
](#s3-tables-snapshot-considerations)
+ [

## 참조되지 않은 파일 제거 시 고려 사항
](#s3-tables-unreferenced-file-removal-considerations)
+ [

## S3 테이블 및 테이블 버킷 유지 관리 작업 제한 및 관련 API
](#s3-tables-maintenance-limits)

## 압축 고려 사항
<a name="s3-tables-compaction-considerations"></a>

압축에는 다음 고려 사항이 적용됩니다. 압축에 대한 자세한 내용은 [테이블 유지 관리](s3-tables-maintenance.md) 섹션을 참조하세요.
+ 압축은 Apache Parquet, Avro 및 ORC 파일 유형에서 지원됩니다.
+ 압축은 기본적으로 Apache Parquet 형식으로 새 파일을 작성합니다. 파일을 Avro 또는 ORC 형식으로 압축하려면 `write.format.default` 테이블 속성을 `avro` 또는 `orc`로 설정합니다.
+ 압축은 `Fixed` 데이터 유형을 지원하지 않습니다.
+ 압축은 `brotli`, `lz4` 압축 유형을 지원하지 않습니다.
+ 압축은 자동화된 일정에 따라 수행됩니다. 압축과 관련된 요금을 방지하려면 [PutTableMaintenanceConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableMaintenanceConfiguration.html) API 작업을 사용하여 테이블에 대해 수동으로 비활성화할 수 있습니다.

**참고**  
Apache Iceberg는 충돌 감지와 함께 낙관적 동시성 모델을 사용하여 쓰기 트랜잭션을 중재합니다. 낙관적 동시성을 사용하면 사용자 및 압축 트랜잭션이 충돌하여 트랜잭션이 실패할 수 있습니다. 충돌이 발생하면 압축 작업은 실패 시 다시 시도됩니다. 파이프라인은 또한 재시도 로직을 사용하여 충돌하는 작업으로 인해 실패하는 트랜잭션 문제를 해결하는 것이 좋습니다.

## 스냅샷 관리에 대한 고려 사항
<a name="s3-tables-snapshot-considerations"></a>

다음은 스냅샷 관리에 적용되는 고려 사항입니다. 스냅샷 관리에 대한 자세한 내용은 [테이블 유지 관리](s3-tables-maintenance.md) 섹션을 참조하세요.
+ 스냅샷은 두 기준(보존할 최소 스냅샷 수 및 지정된 보존 기간)이 모두 충족되는 경우에만 보존됩니다.
+ 스냅샷 관리는 Apache Iceberg에서 만료된 스냅샷 메타데이터를 삭제하여 만료된 스냅샷에 대한 시간 이동 쿼리를 방지하고 선택적으로 연결된 데이터 파일을 삭제합니다.
+ 스냅샷 관리는 `metadata.json` 파일에서 또는 브랜치 또는 태그 기반 보존을 포함한 `ALTER TABLE SET TBLPROPERTIES` SQL 명령을 통해 Iceberg 테이블 속성으로 구성한 보존 값을 지원하지 않습니다. 스냅샷 관리는 브랜치 또는 태그 기반 보존 정책을 구성하거나 `metadata.json` 파일에 `PutTableMaintenanceConfiguration` API를 통해 구성된 값보다 긴 보존 정책을 구성할 때 비활성화됩니다. 이러한 경우 S3는 스냅샷을 만료하거나 제거하지 않으므로 스토리지 요금을 피하려면 스냅샷을 수동으로 삭제하거나 Iceberg 테이블에서 속성을 제거해야 합니다.

## 참조되지 않은 파일 제거 시 고려 사항
<a name="s3-tables-unreferenced-file-removal-considerations"></a>

참조되지 않은 파일 제거에는 다음 고려 사항이 적용됩니다. 참조되지 않은 파일 제거에 대한 자세한 내용은 [테이블 버킷 유지 관리](s3-table-buckets-maintenance.md) 섹션을 참조하세요.
+ 참조되지 않은 파일 제거는 생성 시간이 보존 기간 이전인 경우 Iceberg 메타데이터에서 더 이상 참조하지 않는 데이터 및 메타데이터 파일을 삭제합니다.

## S3 테이블 및 테이블 버킷 유지 관리 작업 제한 및 관련 API
<a name="s3-tables-maintenance-limits"></a>




| 유지 관리 작업 | 속성 | 테이블 버킷 수준에서 구성 가능 여부 | 테이블 수준에서 구성 가능 여부 | 기본값 | 최소값 | 관련 Iceberg 유지 관리 루틴 | S3 Tables API 제어 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 압축 | targetFileSizeMB | 아니요 | 예 | 512MB | 64MB | [https://iceberg.apache.org/docs/latest/maintenance/#compact-data-files](https://iceberg.apache.org/docs/latest/maintenance/#compact-data-files) | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| 스냅샷 관리 | minimumSnapshots | 아니요 | 예 | 1 | 1 | [https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots](https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots) retainLast | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| 스냅샷 관리 | maximumSnapshotAge | 아니요 | 예 | 120시간 | 1시간 | [https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots](https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots) expireOlderThan | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| 참조되지 않은 파일 제거 | unreferencedDays | 예 | 아니요 | 3일 | 1일 | [https://iceberg.apache.org/docs/latest/maintenance/#delete-orphan-files](https://iceberg.apache.org/docs/latest/maintenance/#delete-orphan-files) | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html) | 
| 참조되지 않은 파일 제거 | nonCurrentDays | 예 | 아니요 | 10일 | 1일 | 해당 사항 없음 | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html) | 

**참고**  
S3 Tables는 128MB의 parquets row-group-default 크기를 적용합니다.