Überlegungen und Einschränkungen für Wartungsarbeiten - Amazon Simple Storage Service

Überlegungen und Einschränkungen für Wartungsarbeiten

Amazon S3 bietet Wartungsvorgänge, die dazu dienen, die Leistung Ihrer S3-Tabellen oder Tabellen-Buckets zu verbessern. Zu diesen Optionen gehören die Dateikomprimierung, die Snapshot-Verwaltung und die Entfernung nicht referenzierter Dateien. Im Folgenden werden die Einschränkungen und Überlegungen zu diesen Verwaltungsoptionen beschrieben.

Überlegungen zur Komprimierung

Folgende Überlegungen betreffen die Komprimierung. Weitere Informationen zur Komprimierung finden Sie unter Wartung von Tabellen.

  • Die Komprimierung wird nur für Apache Parquet-, Avro- und ORC-Dateitypen unterstützt.

  • Die Komprimierung schreibt neue Dateien standardmäßig im Apache Parquet Format. Um Dateien stattdessen in Avro oder ORC Formate zu komprimieren, setzen Sie die write.format.default Tabelleneigenschaft auf avro oderorc.

  • Die Komprimierung unterstützt Datentypen nicht: Fixed.

  • Die Komprimierung unterstützt Komprimierungstypen nicht: brotli, lz4

  • Die Komprimierung erfolgt nach einem automatisierten Zeitplan. Wenn Sie Kosten im Zusammenhang mit der Komprimierung vermeiden möchten, können Sie sie mithilfe des API-Vorgangs PutTableMaintenanceConfiguration manuell für eine Tabelle deaktivieren.

Anmerkung

Apache Iceberg verwendet ein optimistisches Parallelitätsmodell zusammen mit Konflikterkennung, um Schreibtransaktionen zu vermitteln. Bei optimistischer Parallelität können Benutzer- und Komprimierungstransaktionen zu Konflikten führen, sodass Transaktionen fehlschlagen. Wenn Konflikte auftreten, werden die Komprimierungsaufträge bei einem Fehler erneut versucht. Es wird empfohlen, dass Ihre Pipelines auch Wiederholungslogik verwenden, um Transaktionen zu beheben, die aufgrund widersprüchlicher Vorgänge fehlschlagen.

Hinweise zur Snapshot-Verwaltung

Folgende Überlegungen betreffen die Snapshot-Verwaltung: Weitere Informationen zur Snapshot-Verwaltung finden Sie unter Wartung von Tabellen.

  • Snapshots werden nur aufbewahrt, wenn beide Kriterien erfüllt sind: die Mindestanzahl der aufzubewahrenden Snapshots und der festgelegte Aufbewahrungszeitraum.

  • Die Snapshot-Verwaltung löscht abgelaufene Snapshot-Metadaten aus Apache Iceberg, wodurch Zeitreiseabfragen für abgelaufene Snapshots verhindert und zugehörige Datendateien optional gelöscht werden.

  • Die Snapshot-Verwaltung unterstützt keine Aufbewahrungswerte, die Sie als Eigenschaften von Iceberg-Tabellen in der Datei metadata.json oder über den SQL-Befehl ALTER TABLE SET TBLPROPERTIES konfigurieren. Dies gilt auch für die verzweigungs- oder Tag-basierte Aufbewahrung. Die Snapshot-Verwaltung ist deaktiviert, wenn Sie eine verzweigungs- oder tagbasierte Aufbewahrungsrichtlinie oder eine Aufbewahrungsrichtlinie für die Datei metadata.json konfigurieren, die länger ist als die über die PutTableMaintenanceConfiguration-API konfigurierten Werte. In diesen Fällen lässt S3 Snapshots nicht ablaufen oder entfernen. Sie müssen die Snapshots manuell löschen oder die Eigenschaften aus Ihrer Iceberg-Tabelle entfernen, um Speichergebühren zu vermeiden.

Überlegungen zum Entfernen von nicht referenzierten Dateien

Die folgenden Überlegungen betreffen das Entfernen von Dateien, die nicht referenziert sind. Weitere Informationen zum Entfernen nicht referenzierter Dateien finden Sie unter Wartung von Tabellen-Buckets.

  • Beim Entfernen nicht referenzierter Dateien werden Daten- und Metadatendateien gelöscht, die nicht mehr durch Iceberg-Metadaten referenziert sind, wenn ihr Erstellungsdatum vor dem Aufbewahrungszeitraum liegt.

Beschränkungen für Wartungsoperationen von S3-Tabellen und Tabellen-Buckets sowie zugehörige APIs

Wartungsoperation Eigenschaft Auf Tabellen-Bucket-Ebene konfigurierbar? Auf Tabellenebene konfigurierbar? Standardwert Mindestwert Verwandte Iceberg Wartungsroutine Steuern der S3-Tables-API
Komprimierung targetFileSizeMB Nein Ja 512 MB 64 MB rewriteDataFiles PutTableMaintenanceConfiguration
Snapshot-Verwaltung minimumSnapshots Nein Ja 1 1 ExpireSnapshots retainLast PutTableMaintenanceConfiguration
Snapshot-Verwaltung maximumSnapshotAge Nein Ja 120 Stunden 1 Stunde ExpireSnapshots expireOlderThan PutTableMaintenanceConfiguration
Entfernung nicht referenzierter Dateien unreferencedDays Ja Nein 3 Tage 1 Tag deleteOrphanFiles PutTableBucketMaintenanceConfiguration
Entfernung nicht referenzierter Dateien nonCurrentDays Ja Nein 10 Tage 1 Tag N/A PutTableBucketMaintenanceConfiguration
Anmerkung

S3 Tables wendet die Standardgröße für Parquets für Zeilengruppen von 128 MB an.