メンテナンスジョブに関する考慮事項と制限事項 - Amazon Simple Storage Service

メンテナンスジョブに関する考慮事項と制限事項

Amazon S3 には、S3 テーブルまたはテーブルバケットのパフォーマンスを向上させるためのメンテナンスオペレーションが用意されています。これらのオプションは、ファイル圧縮、スナップショット管理、および参照されていないファイルの削除です。これらの管理オプションの制限事項と考慮事項を次に示します。

圧縮に関する考慮事項

圧縮には以下の考慮事項が適用されます。圧縮の詳細については、「テーブルのメンテナンス」を参照してください。

  • 圧縮は Apache Parquet、Avro、および ORC ファイルタイプでサポートされています。

  • 圧縮は、デフォルトで新しいファイルを Apache Parquet 形式で書き込みます。代わりにファイルを Avro または ORC 形式に圧縮するには、write.format.default テーブルプロパティを avro または orc に設定します。

  • 圧縮はデータ型 Fixed をサポートしていません。

  • 圧縮は圧縮タイプ brotlilz4 をサポートしていません。

  • 圧縮は自動スケジュールで行われます。圧縮に関連する料金を回避するには、PutTableMaintenanceConfiguration API オペレーションを使用してテーブルに対して手動で無効にできます。

注記

Apache Iceberg は、オプティミスティック同時実行モデルと競合検出を使用して、書き込みトランザクションを調停します。オプティミスティック同時実行では、ユーザートランザクションと圧縮トランザクションが競合し、トランザクションが失敗する可能性があります。競合が発生すると、圧縮ジョブは失敗時に再試行されます。さらに、パイプラインで再試行ロジックを使用して、競合するオペレーションで失敗したトランザクションを克服することもお勧めします。

スナップショット管理に関する考慮事項

スナップショット管理には、以下の考慮事項が適用されます。スナップショット管理の詳細については、「テーブルのメンテナンス」を参照してください。

  • スナップショットは、保持するスナップショットの最小数と指定された保持期間という両方の基準が満たされた場合にのみ保持されます。

  • スナップショット管理では、Apache Iceberg から期限切れのスナップショットメタデータを削除し、期限切れのスナップショットのタイムトラベルクエリを防ぎ、オプションで関連するデータファイルを削除します。

  • スナップショット管理では、ブランチやタグベースの保持を含め、metadata.json ファイル内の Iceberg テーブルプロパティとして、または ALTER TABLE SET TBLPROPERTIES SQL コマンドを介して設定した保持値はサポートされていません。ブランチまたはタグベースの保持ポリシーを設定する場合、または PutTableMaintenanceConfiguration API で設定された値よりも長い保持ポリシーを metadata.json ファイルに設定する場合、スナップショット管理は無効になります。このような場合、S3 はスナップショットの有効期限が切れたり削除されたりしないため、ストレージ料金が発生しないように、スナップショットを手動で削除するか、Iceberg テーブルからプロパティを削除する必要があります。

参照されていないファイルの削除に関する考慮事項

参照されていないファイルの削除には、以下の考慮事項が適用されます。参照されていないファイルの削除の詳細については、「テーブルバケットのメンテナンス」を参照してください。

  • 参照されていないファイルを削除すると、作成時刻が保持期間より前の場合、Iceberg メタデータによって参照されなくなったデータとメタデータファイルが削除されます。

S3 テーブルおよびテーブルバケットのメンテナンスオペレーションの制限と関連する API

メンテナンスオペレーション プロパティ テーブルバケットレベルで設定可能か。 テーブルレベルで設定可能か。 デフォルト値 最小値 関連する Iceberg メンテナンスルーチン S3 Tables API の制御
圧縮 targetFileSizeMB なし あり 512MB 64MB rewriteDataFiles PutTableMaintenanceConfiguration
スナップショットの管理 minimumSnapshots なし あり 1 1 ExpireSnapshots retainLast PutTableMaintenanceConfiguration
スナップショットの管理 maximumSnapshotAge なし あり 120 時間 1 時間 ExpireSnapshots expireOlderThan PutTableMaintenanceConfiguration
参照されていないファイルの削除 unreferencedDays あり なし 3 日 1 日 deleteOrphanFiles PutTableBucketMaintenanceConfiguration
参照されていないファイルの削除 nonCurrentDays あり なし 10 日 1 日 該当なし PutTableBucketMaintenanceConfiguration
注記

S3 Tables は、parquet の row-group-default サイズである 128 MB を適用します。