Verbesserung der Schreibleistung mit RDS-optimierten Schreibvorgängen für MySQL - Amazon Relational Database 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.

Verbesserung der Schreibleistung mit RDS-optimierten Schreibvorgängen für MySQL

Sie können die Leistung von Schreibtransaktionen mit RDS-optimierten Schreibvorgängen für MySQL verbessern. Wenn Ihre Datenbank von RDS für MySQL RDS Optimized Writes verwendet, kann sie einen bis zu zweimal höheren Durchsatz für Schreibtransaktionen erreichen.

Übersicht über RDS Optimized Writes

Wenn Sie RDS-optimierte Schreibvorgänge aktivieren, schreiben die Datenbanken von RDS für MySQL beim Leeren von Daten in einen dauerhaften Speicher nur einmal, ohne dass der Doublewrite-Puffer erforderlich ist. Die Datenbanken bieten weiterhin ACID-Eigentumsschutzvorkehrungen für zuverlässige Datenbanktransaktionen sowie eine verbesserte Leistung.

Relationale Datenbanken wie MySQL bieten die ACID-Eigenschaften Atomizität, Konsistenz, Isolation und Beständigkeit für zuverlässige Datenbanktransaktionen. Um diese Eigenschaften bereitzustellen, verwendet MySQL einen Datenspeicherbereich, den sogenannten Doublewrite-Puffer, der teilweise Schreibfehler von Seiten verhindert. Diese Fehler treten bei einem Hardwarefehler auf, während die Datenbank eine Seite aktualisiert, z. B. bei einem Stromausfall. Eine MySQL-Datenbank kann teilweise Schreibvorgänge von Seiten erkennen und diese mit einer Kopie der Seite im Doublewrite-Puffer wiederherstellen. Diese Technik bietet zwar Schutz, führt aber auch zu zusätzlichen Schreiboperationen. Weitere Informationen zum Doublewrite-Puffer von MySQL finden Sie unter Doublewrite-Puffer in der MySQL-Dokumentation.

Wenn Amazon RDS Optimized Writes aktiviert ist, schreiben Ihre Datenbanken von RDS für MySQL beim Leeren von Daten in einen dauerhaften Speicher nur einmal, ohne den Doublewrite-Puffer zu verwenden. RDS Optimized Writes ist nützlich, wenn Sie schreibintensive Workloads in Ihren Datenbanken von RDS für MySQL ausführen. Zu den Datenbanken mit schreibintensiven Workloads gehören Datenbanken, die digitale Zahlungen, Finanzhandel und Spieleanwendungen unterstützen.

Diese Datenbanken laufen auf DB-Instance-Klassen, die das AWS Nitro-System verwenden. Aufgrund der Hardwarekonfiguration in diesen Systemen kann die Datenbank in einem Schritt zuverlässig und dauerhaft Seiten mit 16 KiB direkt in Datendateien schreiben. Das AWS Nitro-System ermöglicht RDS-optimierte Schreibvorgänge.

Sie können den neuen Datenbankparameter rds.optimized_writes festlegen, um die Funktion RDS Optimized Writes für Datenbanken von RDS für MySQL zu steuern. Greifen Sie auf diesen Parameter in der DB-Parametergruppe von RDS für MySQL Version 8.0 zu. Legen Sie den Parameter anhand der folgenden Werte fest:

  • AUTO – Aktivieren Sie RDS Optimized Writes, wenn die Datenbank diese Funktion unterstützt. Deaktivieren Sie RDS Optimized Writes, wenn die Datenbank diese Funktion nicht unterstützt. Dies ist die Standardeinstellung.

  • OFF – Deaktivieren Sie RDS Optimized Writes, auch wenn die Datenbank diese Funktion unterstützt.

Wenn Sie über eine bestehende Datenbank mit einer Engine-Version, DB-Instance-Klasse und/oder einem Dateisystemformat verfügen, das RDS-optimierte Schreibvorgänge nicht unterstützt, können Sie das Feature aktivieren, indem Sie eine Blau/Grün-Bereitstellung erstellen. Weitere Informationen finden Sie unter Aktivieren von RDS-optimierten Schreibvorgängen in einer vorhandenen Datenbank.

Wenn Sie eine Datenbank von RDS für MySQL, die für die Verwendung von RDS Optimized Writes konfiguriert ist, zu einer DB-Instance-Klasse migrieren, die die Funktion nicht unterstützt, deaktiviert RDS die Funktion RDS Optimized Writes für die Datenbank automatisch.

Wenn RDS Optimized Writes deaktiviert ist, verwendet die Datenbank den MySQL-Doublewrite-Puffer.

Um festzustellen, ob eine Datenbank von RDS für MySQL die Funktion RDS Optimized Writes verwendet, sehen Sie sich den aktuellen Wert des innodb_doublewrite-Parameters für die Datenbank an. Wenn die Datenbank RDS Optimized Writes verwendet, ist dieser Parameter auf FALSE (0) eingestellt.

Verwenden von RDS Optimized Writes

Sie können RDS-optimierte Schreibvorgänge aktivieren, wenn Sie eine RDS for MySQL-Datenbank mit der RDS-Konsole AWS CLI, der oder der RDS-API erstellen. RDS Optimized Writes wird automatisch aktiviert, wenn bei der Datenbankerstellung die beiden folgenden Bedingungen zutreffen:

  • Sie geben eine DB-Engine-Version und eine DB-Instance-Klasse an, die RDS Optimized Writes unterstützt.

    • RDS Optimized Writes wird für MySQL Version 8.0.30 und höher unterstützt. Informationen zu den Versionen von RDS für MySQL finden Sie unter Meine RDS Versionen SQL bei Amazon.

    • RDS Optimized Writes wird für Datenbanken von RDS für MySQL unterstützt, die die folgenden DB-Instance-Klassen verwenden:

      • db.m7g

      • db.m6g

      • db.m6gd

      • db.m6i

      • db.m5

      • db.m5d

      • db.r7g

      • db.r6g

      • db.r6gd

      • db.r6i

      • db.r5

      • db.r5b

      • db.r5d

      • db.x2idn

      • db.x2iedn

      Weitere Informationen zu DB-Instance-Klassen finden Sie unter .

      Die Verfügbarkeit der DB-Instance-Klassen unterscheidet sich für AWS-Regionen. Informationen darüber, ob eine DB-Instance-Klasse in einer bestimmten Klasse unterstützt wird AWS-Region, finden Sie unterErmitteln der Unterstützung für DB-Instance-Klassen in AWS-Regionen.

      Um Ihre Datenbank auf eine DB-Instance-Klasse hochzustufen, die RDS-optimierte Schreibvorgänge unterstützt, können Sie eine Blau/Grün-Bereitstellung erstellen. Weitere Informationen finden Sie unter Aktivieren von RDS-optimierten Schreibvorgängen in einer vorhandenen Datenbank.

  • In der Parametergruppe, die der Datenbank zugeordnet ist, ist der rds.optimized_writes-Parameter auf AUTO eingestellt. In Standardparametergruppen ist dieser Parameter immer auf AUTO festgelegt.

Wenn Sie eine DB-Engine-Version und eine DB-Instance-Klasse verwenden möchten, die RDS-optimierte Schreibvorgänge unterstützen, geben Sie beim Erstellen der Datenbank eine benutzerdefinierte Parametergruppe an. Legen Sie den Parameter rds.optimized_writes in dieser Parametergruppe auf OFF fest. Wenn Sie möchten, dass die Datenbank später RDS Optimized Writes verwendet, können Sie den Parameter auf AUTO einstellen, um ihn zu aktivieren. Weitere Informationen über das Erstellen von benutzerdefinierten DB-Parametergruppen und das Festlegen von Parametern finden Sie unter Parametergruppen für Amazon RDS.

Weitere Informationen zum Erstellen einer DB-Instance finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

Wenn Sie die RDS-Konsole verwenden, um eine Datenbank von RDS für MySQL zu erstellen, können Sie nach den Versionen der DB-Engine und den DB-Instance-Klassen filtern, die RDS Optimized Writes unterstützen. Nachdem Sie die Filter aktiviert haben, können Sie aus den verfügbaren DB-Engine-Versionen und DB-Instance-Klassen auswählen.

Wenn Sie eine DB-Engine-Version auswählen möchten, die RDS Optimized Writes unterstützt, filtern Sie in Engine version (Engine-Version) nach den DB-Engine-Versionen von RDS für MySQL, die dies unterstützen, und wählen Sie dann eine Version aus.

Der Abschnitt Engine-Optionen, in dem der Amazon RDS-Filter Optimized Writes für Engine-Version aktiviert ist.

Filtern Sie im Abschnitt Instance configuration (Instance-Konfiguration) nach den DB-Instance-Klassen, die RDS Optimized Writes unterstützen, und wählen Sie dann eine DB-Instance-Klasse aus.

Der Abschnitt Instance-Konfiguration, in dem der Amazon RDS-Filter Optimized Writes für die DB-Instance-Klasse aktiviert ist.

Nachdem Sie diese Auswahl getroffen haben, können Sie andere Einstellungen auswählen, die Ihren Anforderungen entsprechen, und die Erstellung der Datenbank von RDS für MySQL mit der Konsole abschließen.

Verwenden Sie den create-db-instanceBefehl AWS CLI, um eine DB-Instance mithilfe von zu erstellen. Stellen Sie sicher, dass die Werte --engine-version und --db-instance-class RDS Optimized Writes unterstützen. Stellen Sie außerdem sicher, dass der rds.optimized_writes-Parameter für die Parametergruppe, die der DB-Instance zugeordnet ist, auf AUTO festgelegt ist. Im folgenden Beispiel wird die Standardparametergruppe mit der DB-Instance verknüpft.

Beispiel Erstellen einer DB-Instance, die RDS Optimized Writes verwendet

Für LinuxmacOS, oderUnix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --engine mysql \ --engine-version 8.0.30 \ --db-instance-class db.r5b.large \ --manage-master-user-password \ --master-username admin \ --allocated-storage 200

Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --engine mysql ^ --engine-version 8.0.30 ^ --db-instance-class db.r5b.large ^ --manage-master-user-password ^ --master-username admin ^ --allocated-storage 200

Sie können eine DB-Instance mit der Operation CreateDBInstance erstellen. Wenn Sie diese Operation verwenden, stellen Sie sicher, dass die Werte EngineVersion und DBInstanceClass RDS Optimized Writes unterstützen. Stellen Sie außerdem sicher, dass der rds.optimized_writes-Parameter für die Parametergruppe, die der DB-Instance zugeordnet ist, auf AUTO festgelegt ist.

Aktivieren von RDS-optimierten Schreibvorgängen in einer vorhandenen Datenbank

Um eine vorhandene RDS-für-MySQL-Datenbank zu ändern, um RDS-optimierte Schreibvorgänge zu aktivieren, muss die Datenbank mit einer unterstützten DB-Engine-Version und DB-Instance-Klasse erstellt worden sein. Darüber hinaus muss die Datenbank nach der Veröffentlichung der RDS-optimierten Schreibvorgänge am 27. November 2022 erstellt worden sein, da die erforderliche zugrunde liegende Dateisystemkonfiguration nicht mit der von Datenbanken kompatibel ist, die vor der Veröffentlichung erstellt wurden. Wenn diese Bedingungen erfüllt sind, können Sie RDS-optimierte Schreibvorgänge aktivieren, indem Sie den rds.optimized_writes-Parameter auf AUTO setzen.

Wenn Ihre Datenbank nicht mit einer unterstützten Engine-Version, Instance-Klasse oder Dateisystemkonfiguration erstellt wurde, können Sie Blau/Grün-Bereitstellungen von RDS verwenden, um zu einer unterstützten Konfiguration zu migrieren. Gehen Sie beim Erstellen der Blau/Grün-Bereitstellung wie folgt vor:

  • Wählen Sie Optimierte Schreibvorgänge in grüner Datenbank aktivieren aus und geben Sie dann eine Engine-Version und eine DB-Instance-Klasse an, die RDS-optimierte Schreibvorgänge unterstützt. Eine Liste der unterstützten Engine-Versionen und Instance-Klassen finden Sie unter Verwenden von RDS Optimized Writes.

  • Wählen Sie unter Speicher die Option Speicherdatei-Systemkonfiguration aktualisieren aus. Mit dieser Option wird die Datenbank auf eine kompatible zugrunde liegende Dateisystemkonfiguration aktualisiert.

Wenn Sie die Blau/Grün-Bereitstellung erstellen und der rds.optimized_writes-Parameter auf AUTO festgelegt ist, werden RDS-optimierte Schreibvorgänge in der grünen Umgebung automatisch aktiviert. Sie können dann die Blau/Grün-Bereitstellung umstellen, wodurch die grüne Umgebung zur neuen Produktionsumgebung hochgestuft wird.

Weitere Informationen finden Sie unter Erstellen einer Blau/Grün-Bereitstellung.

Einschränkungen für RDS Optimized Writes

Wenn Sie eine Datenbank von RDS für MySQL aus einem Snapshot wiederherstellen, können Sie RDS-optimierte Schreibvorgänge für die Datenbank nur aktivieren, wenn alle nachfolgenden Bedingungen zutreffen:

  • Der Snapshot wurde aus einer Datenbank erstellt, die RDS Optimized Writes unterstützt.

  • Der Snapshot wurde aus einer Datenbank erstellt, die nach der Veröffentlichung von RDS-optimierten Schreibvorgängen erstellt wurde.

  • Der Snapshot wird in einer Datenbank wiederhergestellt, die RDS Optimized Writes unterstützt.

  • Die wiederhergestellte Datenbank ist einer Parametergruppe zugeordnet, deren rds.optimized_writes-Parameter auf AUTO eingestellt ist.