

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 von Tabellen
<a name="s3-tables-maintenance"></a>

S3 Tables bietet Wartungsvorgänge zur Verbesserung der Verwaltung und Leistung Ihrer einzelnen Tabellen an. 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.

**Anmerkung**  
Sie können die automatisierten Wartungsvorgänge von S3 Tables an Ihren Tabellen anhand von CloudTrail Protokollen verfolgen. Weitere Informationen finden Sie unter[CloudTrail Verwaltungsereignisse für die Wartung von S3-Tabellen](s3-tables-logging.md#s3-tables-maintenance-events).

**Topics**
+ [Verdichtung](#s3-tables-maintenance-compaction)
+ [Snapshot-Verwaltung](#s3-tables-maintenance-snapshot)
+ [Überlegungen und Einschränkungen](#s3-tables-considerations-see-more)

## Verdichtung
<a name="s3-tables-maintenance-compaction"></a>

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 überträgt die Komprimierung auch die Auswirkungen von Löschungen auf Zeilenebene in Ihrer Tabelle.

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

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

### Strategien für eine Verdichtung
<a name="s3-tables-maintenance-compaction-strategies"></a>

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 die folgenden Verdichtungsstrategien 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, deren Metadaten eine definierte Sortierreihenfolge enthalten, wird `auto` automatisch eine `sort`-Verdichtung durchführen.
  + Bei Tabellen ohne Sortierreihenfolge wird `auto` standardmäßig die `binpack`-Verdichtung verwenden.
+ **Binpack**
  + Kombiniert kleine Dateien zu größeren Dateien und zielt in der Regel auf Größen über 100 MB ab. Dabei werden alle ausstehenden Löschungen angewendet. Dies ist die Standardkomprimierungsstrategie für unsortierte Tabellen.
+ **Sortierung**
  + Organisiert Daten auf der Grundlage festgelegter Spalten, die während der Verdichtung automatisch nach Hierarchie sortiert werden, wodurch die Abfrageleistung für gefilterte Vorgänge verbessert wird. Diese Strategie wird empfohlen, wenn Sie mit Ihren 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, wodurch effizientes Abfragen über mehrere Dimensionen hinweg ermöglicht wird. Diese Strategie wird empfohlen, wenn Sie Daten über mehrere Dimensionen hinweg gleichzeitig abfragen müssen. Diese Strategie erfordert, dass Sie in den Eigenschaften Ihrer Iceberg-Tabelle mithilfe der `sort_order`-Tabelleneigenschaft eine Sortierreihenfolge festlegen.

Die Verdichtung verursacht zusätzliche Kosten. Die Komprimierungsstrategien `z-order` und `sort` können höhere Kosten verursachen als `binpack`. Weitere Informationen finden Sie in den Preisinformationen unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/).

### Beispiele für eine Verdichtung
<a name="tables-compaction-examples"></a>

Die folgenden Beispiele zeigen die Konfigurationen für eine Tabellendichtung.

**Um die Größe der Zieldatei 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 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) in der Referenz zum *AWS CLI -Befehl*.

**Um die Verdichtungsstrategie zu konfigurieren, verwenden Sie AWS CLI**  
Das folgende Beispiel ändert die Komprimierungsstrategie mithilfe der `PutTableMaintenanceConfiguration`-API auf `sort`. Bei der Festlegung der Komprimierung können Sie zwischen folgenden Komprimierungsstrategien wählen: `auto`, `binpack`, `sort` oder `z-order`  
Um die Komprimierungsstrategie auf `sort` oder `z-order` festzulegen, müssen die folgenden Voraussetzungen erfüllt sein:  
+ 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 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) 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 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) in der Referenz zum *AWS CLI -Befehl*.

## Snapshot-Verwaltung
<a name="s3-tables-maintenance-snapshot"></a>

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](https://aws.amazon.com/contact-us/) oder in der [AWS Support Dokumentation](https://aws.amazon.com/documentation/aws-support/).

Die Snapshot-Verwaltung bestimmt die Objekte, die aus Ihrer Tabelle gelöscht werden sollen, nur unter Beachtung der Referenzen zu dieser Tabelle. Verweise auf diese Objekte von außerhalb der Tabelle verhindern nicht, dass sie durch die Snapshot-Verwaltung gelöscht werden.

**Anmerkung**  
Die Snapshot-Verwaltung unterstützt keine Aufbewahrungswerte, die Sie als Apache Iceberg Tabelleneigenschaften in der `metadata.json` Datei oder über einen `ALTER TABLE SET TBLPROPERTIES` SQL-Befehl konfigurieren. Wenn eine der folgenden Bedingungen zutrifft, schlägt die Snapshot-Verwaltung für die gesamte Tabelle fehl und Amazon S3 läuft nicht ab und entfernt auch keine Snapshots:  
**Benutzerdefinierte Tags oder Branches** — Wenn ein benutzerdefiniertes Tag oder ein Branch in der Tabelle vorhanden ist, schlägt die Snapshot-Verwaltung für die gesamte Tabelle fehl. Dies gilt auch dann, wenn das Tag oder der Branch eine kurze Aufbewahrungsfrist hat. Um das automatische Ablaufen von Snapshots wiederherzustellen, entfernen Sie alle benutzerdefinierten Tags und Branches aus der Tabelle.
**Eigenschaften der Iceberg-Snapshot-Aufbewahrungstabelle** — Wenn die `history.expire.min-snapshots-to-keep` Eigenschaft `history.expire.max-snapshot-age-ms` oder als Apache Iceberg Tabelleneigenschaft festgelegt ist, schlägt die Snapshot-Verwaltung für die gesamte Tabelle unabhängig vom konfigurierten Wert fehl. Um das automatische Ablaufen von Snapshots wiederherzustellen, entfernen Sie diese Eigenschaften:  

  ```
  ALTER TABLE {{mydb}}.{{mytable}} UNSET TBLPROPERTIES ('history.expire.max-snapshot-age-ms');
  ALTER TABLE {{mydb}}.{{mytable}} UNSET TBLPROPERTIES ('history.expire.min-snapshots-to-keep');
  ```
Verwenden Sie die `GetTableMaintenanceJobStatus` API oder führen Sie den folgenden AWS CLI Befehl aus, um Fehler bei der Snapshot-Verwaltung zu diagnostizieren. Wenn die Snapshot-Verwaltung fehlgeschlagen ist, enthält die Antwort einen `FAILED` Status mit einer Meldung, die die Ursache des Fehlers beschreibt.  

```
aws s3tables get-table-maintenance-job-status \
    --table-bucket-arn arn:aws:s3tables:{{us-east-1}}:{{111122223333}}:bucket/{{amzn-s3-demo-table-bucket}} \
    --namespace {{my_namespace}} \
    --name {{my_table}}
```

Sie können die Snapshot-Verwaltung nur auf Tabellenebene konfigurieren. Weitere Informationen finden Sie in den Preisinformationen unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/).

### Beispiele für Snapshot-Verwaltung
<a name="tables-snapshot-examples"></a>

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

**Um die Snapshot-Verwaltung zu konfigurieren, verwenden Sie 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**  
Das folgende Beispiel deaktiviert die Snapshot-Verwaltung über die `PutTableMaintenanceConfiguration`-API.  

```
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 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) in der Referenz zum *AWS CLI -Befehl*.

## Überlegungen und Einschränkungen
<a name="s3-tables-considerations-see-more"></a>

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](s3-tables-considerations.md).

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