Konfiguration von Aurora PostgreSQL für die lokale Schreibweiterleitung - Amazon Aurora

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.

Konfiguration von Aurora PostgreSQL für die lokale Schreibweiterleitung

Mithilfe der Informationen in den folgenden Abschnitten können Sie die lokale Schreibweiterleitung für Ihren Amazon-Aurora-PostgreSQL-DB-Cluster aktivieren, Konsistenzstufen konfigurieren und Transaktionen mit Schreibweiterleitung verwalten.

Aktivieren der lokalen Schreibweiterleitung

Standardmäßig ist die lokale Schreibweiterleitung für Aurora-PostgreSQL-DB-Cluster nicht aktiviert. Sie aktivieren die lokale Schreibweiterleitung auf Cluster-Ebene, nicht auf Instance-Ebene.

Wählen Sie in der AWS Management Console das Kontrollkästchen Lokale Schreibweiterleitung aktivieren unter Read-Replica-Schreibweiterleitung aktivieren aus, wenn Sie einen DB-Cluster erstellen oder ändern.

Wenn Sie die lokale Schreibweiterleitung über die AWS CLI aktivieren möchten, verwenden Sie die Option --enable-local-write-forwarding. Diese Option funktioniert, wenn Sie über den Befehl create-db-cluster einen neuen DB-Cluster erstellen. Sie funktioniert auch, wenn Sie einen vorhandenen DB-Cluster über den Befehl modify-db-cluster ändern. Sie können die lokale Schreibweiterleitung deaktivieren, indem Sie die Option --no-enable-local-write-forwarding mit denselben CLI-Befehlen verwenden.

Im folgenden Beispiel wird ein Aurora-PostgreSQL-DB-Cluster mit aktivierter lokaler Schreibweiterleitung erstellt.

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-postgresql \ --engine-version 16.4 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

Anschließend erstellen Sie Writer- und Reader-DB-Instances, sodass Sie die Schreibweiterleitung verwenden können. Weitere Informationen finden Sie unter Erstellen eines Amazon Aurora-DB Clusters.

Um die lokale Schreibweiterleitung über die Amazon-RDS-API zu aktivieren, legen Sie den Parameter EnableLocalWriteForwarding auf true fest. Dieser Parameter funktioniert, wenn Sie über die Operation CreateDBCluster einen neuen DB-Cluster erstellen. Sie funktioniert auch, wenn Sie einen vorhandenen DB-Cluster über die Operation ModifyDBCluster ändern. Sie können die lokale Schreibweiterleitung deaktivieren, indem Sie den Parameter EnableLocalWriteForwarding auf false festlegen.

Aktivieren der lokalen Schreibweiterleitung für Datenbanksitzungen

Der Parameter apg_write_forward.consistency_mode ist ein DB-Parameter und ein DB-Cluster-Parameter, der die Schreibweiterleitung ermöglicht. Sie können SESSION, EVENTUAL, GLOBAL oder OFF als Lesekonsistenzstufe angeben. Weitere Informationen über Konsistenzebenen finden Sie unter Konsistenz und Isolation für die lokale Schreibweiterleitung in Aurora PostgreSQL.

Für diesen Parameter gelten die folgenden Regeln:

  • Der Standardwert ist SESSION.

  • Die lokale Schreibweiterleitung ist nur verfügbar, wenn apg_write_forward.consistency_mode auf EVENTUAL, SESSION oder GLOBAL festgelegt ist. Dieser Parameter ist nur in Reader-Instances von DB-Clustern relevant, für die die lokale Schreibweiterleitung aktiviert ist.

  • Wenn Sie den Wert auf OFF festlegen, wird die lokale Schreibweiterleitung in der Sitzung deaktiviert.

Konsistenz und Isolation für die lokale Schreibweiterleitung in Aurora PostgreSQL

Sie können den Grad der Lesekonsistenz in einem Lesereplikat steuern. Sie können die Lesekonsistenzstufe anpassen, um sicherzustellen, dass alle aus Ihrer Sitzung weitergeleiteten Schreiboperationen im Lesereplikat vor nachfolgenden Abfragen angezeigt werden. Sie können diese Einstellung auch verwenden, um sicherzustellen, dass bei Abfragen des Lesereplikats stets die aktuellen Updates der Writer-DB-Instance angezeigt werden. Dies gilt auch für diejenigen, die von anderen Sitzungen oder anderen Clustern übermittelt wurden. Um diese Art von Verhalten für Ihre Anwendung anzugeben, wählen Sie den entsprechenden Wert für den Sitzungsebenen-Parameter apg_write_forward.consistency_mode. Der Parameter apg_write_forward.consistency_mode wirkt sich nur auf Lesereplikate aus, in denen die lokale Schreibweiterleitung aktiviert ist.

Anmerkung

Für den Parameter apg_write_forward.consistency_mode können Sie die Werte SESSION, EVENTUAL, GLOBAL oder OFF angeben. Standardmäßig ist der Wert auf SESSION festgelegt. Wenn Sie den Wert auf OFF festlegen, wird die Schreibweiterleitung deaktiviert.

Wenn Sie das Konsistenzniveau erhöhen, verbringt Ihre Anwendung mehr Zeit mit dem Warten auf die Propagierung von Änderungen zu Lesereplikaten. Sie können das Verhältnis zwischen geringerer Latenz und der Gewährleistung festlegen, dass vor der Ausführung Ihrer Abfragen Änderungen an anderen Speicherorten vollständig verfügbar sind.

Bei jeder verfügbaren Konsistenzmodus-Einstellung hat dies folgende Auswirkungen:

  • SESSION – Für eine Sitzung auf einem Lesereplikat, das die lokale Schreibweiterleitung verwendet, werden die Ergebnisse aller in dieser Sitzung ausgeführten Änderungen angezeigt. Die Änderungen werden unabhängig davon angezeigt, ob die Transaktion übergeben wurde. Wenn notwendig, wartet die Abfrage auf die Replikation der Ergebnisse weitergeleiteter Schreiboperationen zur aktuellen Reader-DB-Instance. Sie wartet nicht auf aktualisierte Ergebnisse aus Schreiboperationen, die in anderen Sitzungen innerhalb des aktuellen DB-Clusters ausgeführt werden.

  • EVENTUAL – Einer Sitzung auf einem Lesereplikat, das die lokale Schreibweiterleitung verwendet, werden möglicherweise Daten angezeigt, die aufgrund von Replikationsverzögerungen leicht veraltet sind. Ergebnisse von Schreibvorgängen in derselben Sitzung sind erst sichtbar, wenn die Schreiboperation auf der Writer-DB-Instance ausgeführt und auf dem Lesereplikat repliziert wurde. Die Abfrage wartet nicht, bis die aktualisierten Ergebnisse verfügbar sind. Daher könnte sie die älteren Daten oder die aktualisierten Daten abrufen, abhängig vom Zeitpunkt der Anweisungen und der Größe der Replikationsverzögerung.

  • GLOBAL – In einer Sitzung auf einem Lesereplikat werden Änderungen angezeigt, die von dieser Sitzung vorgenommen wurden. Außerdem werden ihr alle übergebenen Änderungen sowohl aus der Schreib-DB-Instance als auch aus anderen Lesereplikaten angezeigt. Jede Abfrage kann für einen bestimmten Zeitraum warten, abhängig von der Sitzungsverzögerung. Die Abfrage wird fortgesetzt, wenn das Lesereplikat mit allen übergebenen Daten aus der Writer-DB-Instance mit Stand zu dem Zeitpunkt, an dem die Abfrage gestartet wurde, aktualisiert ist.

    Anmerkung

    Der globale Konsistenzmodus wirkt sich auf die Latenz von Abfragen aus, die innerhalb einer Sitzung ausgeführt werden. Es gibt eine Wartezeit, auch wenn die Sitzung keine Schreibabfragen gesendet hat.

  • OFF – Die lokale Schreibweiterleitung ist deaktiviert.

In Sitzungen, die Schreibweiterleitung verwenden, können Sie nur die Isolationsstufen REPEATABLE READ und READ COMMITTED verwenden. Die SERIALIZABLE-Isolationsstufe wird jedoch nicht unterstützt.

Weitere Informationen zu allen mit der Schreibweiterleitung verbundenen Parametern finden Sie unter Standardparametereinstellungen für die Schreibweiterleitung.

Transaktionszugriffsmodi mit Schreibweiterleitung

Wenn der Transaktionszugriffsmodus schreibgeschützt ist, wird die lokale Schreibweiterleitung nicht verwendet. Sie können den Zugriffsmodus nur dann auf Lese- und Schreibzugriff festlegen, wenn Sie mit einem DB-Cluster und einer Sitzung verbunden sind, in der die lokale Schreibweiterleitung aktiviert ist.

Weitere Informationen zu den Transaktionszugriffsmodi finden Sie unter SET TRANSACTION.