

# Considerações e limitações para trabalhos de manutenção
<a name="s3-tables-considerations"></a>

O Amazon S3 oferece operações de manutenção para aprimorar a performance das tabelas e dos buckets de tabela do S3. Essas opções são compactação de arquivos, gerenciamento de snapshots e remoção de arquivos não referenciados. Veja a seguir as limitações e considerações para essas opções de gerenciamento.

**Topics**
+ [Considerações para compactação](#s3-tables-compaction-considerations)
+ [Considerações para gerenciamento de snapshots](#s3-tables-snapshot-considerations)
+ [Considerações para remoção de arquivos não referenciados](#s3-tables-unreferenced-file-removal-considerations)
+ [Limites para operações de manutenção de tabelas e buckets de tabela do S3 e APIs relacionadas](#s3-tables-maintenance-limits)

## Considerações para compactação
<a name="s3-tables-compaction-considerations"></a>

As considerações a seguir se aplicam à compactação. Para ter mais informações sobre compactação, consulte [Manutenção de tabelas](s3-tables-maintenance.md).
+ A compactação só é compatível com os tipos de arquivo Apache Parquet, Avro e ORC.
+ Ela grava novos arquivos no formato Apache Parquet por padrão. Se, em vez disso, quiser compactar arquivos nos formatos Avro ou ORC, defina a propriedade de tabela `write.format.default` como `avro` ou `orc`.
+ Não é possível usar o seguinte tipo de dados na compactação: `Fixed`.
+ A compactação não oferece suporte aos seguintes tipos de compressão: `brotli` e `lz4`.
+ A compactação ocorre de acordo com um cronograma automatizado. Se quiser evitar cobranças associadas à compactação, você pode desabilitá-la manualmente para uma tabela usando a operação de API [PutTableMaintenanceConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableMaintenanceConfiguration.html).

**nota**  
O Apache Iceberg usa um modelo de simultaneidade otimista, bem como a detecção de conflitos, para arbitrar transações de gravação. Com a simultaneidade otimista, as transações de usuário e compactação podem entrar em conflito, fazendo com que as transações falhem. Se ocorrerem conflitos e houver falha, os trabalhos de compactação serão executados novamente. É recomendável que seus pipelines também usem a lógica de nova tentativa para superar transações que falham devido a operações conflitantes.

## Considerações para gerenciamento de snapshots
<a name="s3-tables-snapshot-considerations"></a>

As considerações a seguir se aplicam ao gerenciamento de snapshots. Para ter mais informações sobre o gerenciamento de snapshots, consulte [Manutenção de tabelas](s3-tables-maintenance.md).
+ Os snapshots serão preservados somente quando ambos os critérios forem satisfeitos: o número mínimo de snapshots a serem mantidos e o período de retenção especificado.
+ O gerenciamento de snapshots exclui metadados de snapshots expirados do Apache Iceberg, evitando consultas de viagem no tempo para snapshots expirados e, opcionalmente, excluindo arquivos de dados associados.
+ O gerenciamento de snapshots não oferece suporte a valores de retenção que você configura como propriedades de tabela do Iceberg no arquivo `metadata.json` ou por meio de um comando SQL `ALTER TABLE SET TBLPROPERTIES`, incluindo retenção baseada em ramificação ou tag. O gerenciamento de snapshots é desabilitado quando você configura uma política de retenção baseada em ramificação ou tag, ou configura uma política de retenção no arquivo `metadata.json` que seja maior do que os valores configurados por meio da API `PutTableMaintenanceConfiguration`. Nesses casos, o S3 não expirará nem removerá snapshots e você precisará excluir manualmente os snapshots ou remover as propriedades de tabela do Iceberg para evitar cobranças de armazenamento.

## Considerações para remoção de arquivos não referenciados
<a name="s3-tables-unreferenced-file-removal-considerations"></a>

As considerações a seguir se aplicam à remoção de arquivos não referenciados. Para ter mais informações sobre a remoção de arquivos não referenciados, consulte [Manutenção para buckets de tabela](s3-table-buckets-maintenance.md).
+ A remoção de arquivos não referenciados exclui arquivos de dados e metadados que não são mais referenciados pelos metadados do Iceberg quando o horário de criação é anterior ao período de retenção.

## Limites para operações de manutenção de tabelas e buckets de tabela do S3 e APIs relacionadas
<a name="s3-tables-maintenance-limits"></a>




| Operação de manutenção | Propriedade | Configurável ao nível do bucket de tabela? | Configurável ao nível da tabela? | Valor padrão | Valor mínimo | Rotina de manutenção relacionada ao Iceberg | Controlar a API da funcionalidade Tabelas do S3 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Compactação | targetFileSizeMB | Não | Sim | 512 MB | 64 MB | [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) | 
| Gerenciamento de snapshots | minimumSnapshots | Não | Sim | 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) | 
| Gerenciamento de snapshots | maximumSnapshotAge | Não | Sim | 120 horas | 1 hora | [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) | 
| Remoção de arquivos sem referência | unreferencedDays | Sim | Não | 3 dias | 1 dia | [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) | 
| Remoção de arquivos não referenciados | nonCurrentDays | Sim | Não | 10 dias | 1 dia | N/D | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html) | 

**nota**  
O serviço Tabelas do S3 aplica o tamanho padrão do grupo de linhas de parquets de 128 MB.