Considérations et restrictions relatives aux tâches de maintenance - Amazon Simple Storage Service

Considérations et restrictions relatives aux tâches de maintenance

Amazon S3 propose des opérations de maintenance pour améliorer les performances de vos tables ou compartiments de tables S3. Ces options sont le compactage des fichiers, la gestion des instantanés et la suppression des fichiers non référencés. Les restrictions et considérations suivantes se rapportent à ces options de gestion.

Considérations relatives au compactage

Les considérations suivantes se rapportent au compactage. Pour plus d’informations sur le compactage, consultez Maintenance des tables.

  • Le compactage est pris en charge sur les types de fichiers Apache Parquet, Avro et ORC.

  • Le compactage écrit les nouveaux fichiers au format Apache Parquet par défaut. Pour compacter les fichiers aux formats Avro ou ORC à la place, définissez la propriété de la table write.format.default sur avro ou orc.

  • Le compactage ne prend pas en charge le type de données : Fixed.

  • Le compactage ne prend pas en charge les types de compression : brotli, lz4.

  • Le compactage s’effectue selon un calendrier automatique. Si vous souhaitez éviter les frais associés au compactage, vous pouvez le désactiver manuellement pour une table à l’aide de l’opération d’API PutTableMaintenanceConfiguration.

Note

Apache Iceberg utilise un modèle de simultanéité optimiste ainsi que la détection des conflits pour arbitrer les transactions d’écriture. Avec une simultanéité optimiste, les transactions effectuées par l’utilisateur et les transactions de compactage peuvent entrer en conflit et entraîner l’échec des transactions. En cas de conflit, les tâches de compactage seront retentées en cas d’échec. Il est recommandé que vos pipelines utilisent également la logique des nouvelles tentatives pour éviter les transactions qui échouent en raison d’opérations en conflit.

Considérations relatives à la gestion des instantanés

Les considérations suivantes se rapportent à la gestion des instantanés. Pour plus d’informations sur la gestion des instantanés, consultez Maintenance des tables.

  • Les instantanés sont conservés seulement lorsque les deux critères suivants sont remplis : le nombre minimum d’instantanés à conserver et la période de conservation spécifiée.

  • La gestion des instantanés supprime les métadonnées des instantanés expirés d’Apache Iceberg, empêchant ainsi les requêtes d’historique d’instantanés expirés et supprimant éventuellement les fichiers de données associés.

  • La gestion des instantanés ne prend pas en charge les valeurs de conservation que vous configurez en tant que propriétés de table Iceberg dans le fichier metadata.json ou via une commande SQL ALTER TABLE SET TBLPROPERTIES, y compris la conservation basée sur les branches ou les balises. La gestion des instantanés est désactivée lorsque vous configurez une politique de conservation basée sur les branches ou les balises, ou lorsque vous configurez une politique de conservation sur le fichier metadata.json qui est plus longue que les valeurs configurées via l’API PutTableMaintenanceConfiguration. Dans ces cas, S3 n’expire pas et ne supprime pas les instantanés, et vous devez supprimer manuellement les instantanés ou supprimer les propriétés de votre table Iceberg pour éviter les frais de stockage.

Considérations relatives à la suppression des fichiers non référencés

Les considérations suivantes se rapportent à la suppression des fichiers non référencés. Pour plus d’informations sur la suppression des fichiers non référencés, consultez Maintenance des compartiments de table.

  • La suppression des fichiers non référencés supprime les fichiers de données et de métadonnées qui ne sont plus référencés par les métadonnées Iceberg si leur date de création est antérieure à la période de conservation.

Table S3 et compartiments de table, limites pour les opérations de maintenance et API associées

Opération de maintenance Propriété Configurable au niveau du compartiment de tables ? Configurable au niveau de la table ? Valeur par défaut Valeur minimale Routine de maintenance Iceberg associée API de contrôle de S3 Tables
Compactage targetFileSizeMB Non Oui 512 Mo 64 Mo rewriteDataFiles PutTableMaintenanceConfiguration
Gestion des instantanés minimumSnapshots Non Oui 1 1 ExpireSnapshots retainLast PutTableMaintenanceConfiguration
Gestion des instantanés maximumSnapshotAge Non Oui 120 heures 1 heure ExpireSnapshots expireOlderThan PutTableMaintenanceConfiguration
Suppression des fichiers non référencés unreferencedDays Oui Non 3 jours 1 jour deleteOrphanFiles PutTableBucketMaintenanceConfiguration
Suppression des fichiers non référencés nonCurrentDays Oui Non 10 jours 1 jour N/A PutTableBucketMaintenanceConfiguration
Note

S3 Tables applique la taille par défaut du groupe de lignes pour les parquets de 128 Mo.