Wartung für Tabellen - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wartung für Tabellen

S3 Tables bietet Wartungsvorgänge, um die Verwaltung und Leistung Ihrer einzelnen Tabellen zu verbessern. Die folgenden Optionen sind standardmäßig für alle Tabellen in Tabellen-Buckets aktiviert. Sie können sie bearbeiten oder deaktivieren, indem Sie Wartungskonfigurationsdateien für Ihre S3 Table angeben.

Für die Bearbeitung dieser Konfiguration sind die Berechtigungen s3tables:GetTableMaintenanceConfiguration und s3tables:PutTableMaintenanceConfiguration erforderlich.

Komprimierung

Die Komprimierung wird auf Tabellenebene konfiguriert und kombiniert mehrere kleinere Objekte zu weniger, größeren Objekten, um die Apache Iceberg Abfrageleistung zu verbessern. Beim Kombinieren von Objekten werden bei der Komprimierung auch die Auswirkungen von Löschungen auf Zeilenebene in Ihrer Tabelle angewendet.

Die Komprimierung ist standardmäßig für alle Tabellen aktiviert, mit einer Standardzieldateigröße von 512 MB oder einem von Ihnen angegebenen benutzerdefinierten Wert zwischen 64 MB und 512 MB. Die komprimierten Dateien werden als der neueste Snapshot Ihrer Tabelle geschrieben.

Strategien zur Komprimierung

Sie können aus mehreren Komprimierungsstrategien wählen, die die Abfrageleistung je nach Ihren Abfragemustern und der Sortierreihenfolge der Tabellen weiter erhöhen können.

S3 Tables unterstützt diese Komprimierungsstrategien für Tabellen:

  • Auto (Standard)

    • Amazon S3 wählt auf der Grundlage Ihrer Tabellensortierreihenfolge die beste Verdichtungsstrategie aus. Dies ist die Standardkomprimierungsstrategie für alle Tabellen.

    • Bei Tabellen mit einer definierten Sortierreihenfolge in ihren Metadaten auto wird automatisch die sort Komprimierung angewendet.

    • Für Tabellen ohne Sortierreihenfolge auto wird standardmäßig die binpack Komprimierung verwendet.

  • Binpack

    • Kombiniert kleine Dateien zu größeren Dateien und zielt in der Regel auf Größen über 100 MB ab, wobei alle ausstehenden Löschungen angewendet werden. Dies ist die Standardkomprimierungsstrategie für unsortierte Tabellen.

  • Sortierung

    • Organisiert Daten auf der Grundlage bestimmter Spalten, die während der Komprimierung automatisch nach Hierarchie sortiert werden, wodurch die Abfrageleistung für gefilterte Operationen verbessert wird. Diese Strategie wird empfohlen, wenn Ihre Abfragen häufig nach bestimmten Spalten filtern. Wenn Sie diese Strategie verwenden, wendet S3 Tables automatisch eine hierarchische Sortierung auf Spalten an, wenn a in den Tabelleneigenschaften definiert sort_order ist.

  • Z-Reihenfolge

    • Optimiert die Datenorganisation, indem mehrere Attribute zu einem einzigen Skalarwert zusammengefasst werden, der für die Sortierung verwendet werden kann, was eine effiziente Abfrage über mehrere Dimensionen hinweg ermöglicht. Diese Strategie wird empfohlen, wenn Sie Daten über mehrere Dimensionen gleichzeitig abfragen müssen. Bei dieser Strategie müssen Sie mithilfe der Tabelleneigenschaft eine Sortierreihenfolge in Ihren sort_order Iceberg-Tabelleneigenschaften definieren.

Bei der Verdichtung fallen zusätzliche Kosten an. Weitere Informationen finden Sie in den Preisinformationen unter Amazon S3 – Preise.

Beispiele für die Verdichtung

Die folgenden Beispiele zeigen Konfigurationen für die Tabellenkomprimierung.

Um die Zieldateigröße für die Komprimierung zu konfigurieren, verwenden Sie AWS CLI

Die Mindestgröße der Zielkomprimierungsdatei beträgt 64 MB, die maximale Größe 512 MB.

Im folgenden Beispiel wird die Zieldateigröße mithilfe der PutTableMaintenanceConfiguration-API auf 256 MB geändert.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Weitere Informationen finden Sie unter put-table-maintenance-configuration in der Referenz zum AWS CLI -Befehl.

Um die Verdichtungsstrategie zu konfigurieren, verwenden Sie AWS CLI

Im folgenden Beispiel wird die Verdichtungsstrategie auf die sort Verwendung der PutTableMaintenanceConfiguration API umgestellt. Bei der Einstellung der Komprimierung können Sie aus den folgenden Verdichtungsstrategien wählen:auto,, oder binpack sort z-order

Anmerkung

Um die Verdichtungsstrategie auf sort oder einzustellen, benötigen z-order Sie die folgenden Voraussetzungen:

  • Eine in Ihren Iceberg Tabelleneigenschaften definierte Sortierreihenfolge.

  • Die s3tables:GetTableData Erlaubnis.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'

Weitere Informationen finden Sie unter put-table-maintenance-configuration in der Referenz zum AWS CLI -Befehl.

Um die Komprimierung zu deaktivieren, verwenden Sie AWS CLI

Im folgenden Beispiel wird die Komprimierung mithilfe der PutTableMaintenanceConfiguration-API deaktiviert.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Weitere Informationen finden Sie unter put-table-maintenance-configuration in der Referenz zum AWS CLI -Befehl.

Snapshot-Verwaltung

Die Snapshot-Verwaltung bestimmt die Anzahl der aktiven Snapshots für Ihre Tabelle. Sie basiert auf MinimumSnapshots (standardmäßig 1) und MaximumSnapshotAge (standardmäßig 120 Stunden). Auf der Basis dieser Konfigurationen lässt die Snapshot-Verwaltung Tabellen-Snapshots ablaufen und entfernt sie.

Wenn ein Snapshot abläuft, markiert Amazon S3 alle Objekte, die nur von diesem Snapshot referenziert sind, als nicht aktuell. Diese veralteten Objekte werden nach Ablauf der Anzahl von Tagen gelöscht, die in Ihrer Richtlinie zur Entfernung nicht referenzierter Dateien als Eigenschaft NoncurrentDays festgelegt wurde.

Anmerkung

Das Löschen von Objekten, die nicht aktuell sind, ist dauerhaft und es besteht keine Möglichkeit, diese Objekte wiederherzustellen.

Um Objekte anzuzeigen oder wiederherzustellen, die als nicht aktuell markiert wurden, wenden Sie sich an AWS -Support. Informationen zur Kontaktaufnahme finden Sie AWS -Support unter Kontakt AWS oder in der AWS -Support Dokumentation.

Die Snapshot-Verwaltung bestimmt, welche Objekte aus Ihrer Tabelle gelöscht werden sollen, wobei nur Verweise auf diese Tabelle verwendet werden. Verweise auf diese Objekte von außerhalb der Tabelle verhindern nicht, dass die Snapshot-Verwaltung sie löscht.

Anmerkung

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.

Sie können die Snapshot-Verwaltung nur auf Tabellenebene konfigurieren. Weitere Informationen finden Sie in den Preisinformationen unter Amazon S3 – Preise.

Beispiele für die Snapshot-Verwaltung

Die folgenden Beispiele zeigen Konfigurationen für die Verwaltung von Tabellen-Snapshots.

Um das Snapshot-Management mit dem zu konfigurieren AWS CLI

Im folgenden Beispiel werden mithilfe der PutTableMaintenanceConfiguration-API der Wert MinimumSnapshots auf 10 und der Wert MaximumSnapshotAge auf 2.500 Stunden festgelegt.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'
Um die Snapshot-Verwaltung zu deaktivieren, verwenden Sie AWS CLI

Im folgenden Beispiel wird die Snapshot-Verwaltung mithilfe der PutTableMaintenanceConfiguration API deaktiviert.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'

Weitere Informationen finden Sie unter put-table-maintenance-configuration in der Referenz zum AWS CLI -Befehl.

Überlegungen und Einschränkungen

Weitere Informationen zu zusätzlichen Überlegungen und Einschränkungen bei der Komprimierung und Snapshot-Verwaltung finden Sie unter Überlegungen und Einschränkungen für Wartungsarbeiten.

Anmerkung

S3 Tables wendet die row-group-default Parkettgröße von 128 MB an.