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.
Optimierung der parallel Abfrage in Aurora My SQL
Um Ihren DB-Cluster für parallel Abfragen zu optimieren, sollten Sie überlegen, welche DB-Cluster von parallel Abfragen profitieren würden und ob Sie ein Upgrade für parallel Abfragen durchführen sollten. Optimieren Sie dann Ihre Arbeitslast und erstellen Sie Schemaobjekte für parallel Abfragen.
Inhalt
Planen eines Parallel Query-Clusters
Bei der Planung eines DB-Clusters mit aktivierter paralleler Abfrage müssen einige Entscheidungen getroffen werden. Dazu gehören die Durchführung von Einrichtungsschritten (entweder das Erstellen oder Wiederherstellen eines vollständigen Aurora My SQL Clusters) und die Entscheidung, in welchem Umfang parallel Abfragen in Ihrem DB-Cluster aktiviert werden sollen.
Berücksichtigen Sie bei der Planung Folgendes:
-
Wenn Sie Aurora My verwendenSQL, das mit My SQL 5.7 kompatibel ist, müssen Sie Aurora My SQL 2.09 oder höher wählen. In diesem Fall erstellen Sie immer einen bereitgestellten Cluster. Anschließend aktivieren Sie die parallele Abfrage mit dem Parameter
aurora_parallel_query
.Wenn Sie bereits über einen Aurora SQL My-Cluster verfügen, auf dem Version 2.09 oder höher ausgeführt wird, müssen Sie keinen neuen Cluster erstellen, um parallel Abfragen zu verwenden. Sie können Ihren Cluster oder bestimmte DB-Instances im Cluster einer Parametergruppe zuordnen, bei der der Parameter
aurora_parallel_query
aktiviert ist. Dadurch können Sie die Zeit und den Aufwand für die Einrichtung der relevanten Daten für die parallele Abfrage reduzieren. -
Planen Sie alle großen Tabellen, die neu organisiert werden müssen, damit Sie die parallele Abfrage verwenden können, wenn Sie auf diese zugreifen. Möglicherweise müssen Sie neue Versionen einiger großer Tabellen erstellen, bei denen die parallele Abfrage nützlich ist. Beispielsweise müssen Sie möglicherweise Volltextsuchindizes entfernen. Details hierzu finden Sie unter Erstellen von Schema-Objekten, mit denen die Vorteile von Parallel Query genutzt werden können.
Überprüfung der Kompatibilität SQL von Aurora My Version für parallel Abfragen
Um zu überprüfen, welche Aurora SQL My-Versionen mit parallel Abfrageclustern kompatibel sind, verwenden Sie den describe-db-engine-versions
AWS CLI Befehl und überprüfen Sie den Wert des SupportsParallelQuery
Felds. Das folgende Codebeispiel zeigt, wie überprüft werden kann, welche Kombinationen für parallel Abfragecluster in einer bestimmten AWS Region verfügbar sind. Stellen Sie sicher, dass Sie die vollständige --query
-Parameterzeichenfolge in einer einzigen Zeile angeben.
aws rds describe-db-engine-versions --region us-east-1 --engine aurora-mysql \ --query '*[]|[?SupportsParallelQuery == `true`].[EngineVersion]' --output text
Die vorhergehenden Befehle erzeugen eine Ausgabe, die der folgenden ähnelt: Die Ausgabe kann variieren, je nachdem, welche Aurora SQL My-Versionen in der angegebenen AWS Region verfügbar sind.
5.7.mysql_aurora.2.11.1
8.0.mysql_aurora.3.01.0
8.0.mysql_aurora.3.01.1
8.0.mysql_aurora.3.02.0
8.0.mysql_aurora.3.02.1
8.0.mysql_aurora.3.02.2
8.0.mysql_aurora.3.03.0
Nachdem Sie angefangen haben, die parallele Abfrage mit einem Cluster zu verwenden, können Sie die Leistung überwachen und Hindernisse bei der Nutzung der parallelen Abfrage beseitigen. Diese Anweisungen finden Sie unter Optimierung der Abfrageleistung fürParallel Query.
Wichtige Punkte bei einem Upgrade für parallele Abfragen
Abhängig von der Original- und Zielversionen beim Upgrade eines parallelen Abfrage-Clusters finden Sie möglicherweise Verbesserungen bei den Abfragetypen, die parallele Abfragen optimieren können. Möglicherweise müssen Sie auch feststellen, dass Sie keinen speziellen Engine-Modusparameter für parallele Abfragen angeben müssen. In den folgenden Abschnitten werden die Überlegungen beim Upgrade eines Clusters erläutert, bei dem die parallele Abfrage aktiviert ist.
parallel Abfragecluster auf Aurora My SQL Version 3 aktualisieren
Verschiedene SQL Anweisungen, Klauseln und Datentypen bieten ab Aurora My SQL Version 3 eine neue oder verbesserte Unterstützung für parallel Abfragen. Prüfen Sie beim Upgrade von einer Version, die vor Version 3 liegt, ob zusätzliche Abfragen von parallelen Abfrageoptimierungen profitieren können. Informationen zu diesen Erweiterungen für parallele Abfragen finden Sie unter Spaltendatentypen, Partitionierte Tabellen und Aggregatfunktionen, GROUP BY-Klauseln und HAVING Klauseln.
Wenn Sie einen Cluster für parallel Abfragen von Aurora My SQL 2.08 oder niedriger aktualisieren, erfahren Sie auch mehr über die Änderungen bei der Aktivierung der parallel Abfrage. Lesen Sie dazu Upgrade auf Aurora My SQL 2.09 und höher.
In Aurora My SQL Version 3 ist die Hash-Join-Optimierung standardmäßig aktiviert. Die Konfigurationsoption aurora_disable_hash_join
aus früheren Versionen wird nicht verwendet.
Upgrade auf Aurora My SQL 2.09 und höher
In Aurora My SQL Version 2.09 und höher funktioniert die parallel Abfrage für bereitgestellte Cluster und erfordert den parallelquery
Engine-Modus-Parameter nicht. Daher müssen Sie keinen neuen Cluster erstellen oder aus einem vorhandenen Snapshot wiederherstellen, um die parallele Abfrage mit diesen Versionen verwenden zu können. Sie können die unter Aktualisierung der Nebenversion oder des Patch-Levels eines Aurora My SQL DB-Clusters beschriebenen Upgrade-Verfahren verwenden, um den Cluster auf eine solche Version zu aktualisieren. Sie können einen älteren Cluster aktualisieren, unabhängig davon, ob es sich um einen Parallelabfragecluster oder um einen bereitgestellten Cluster handelte. Um die Anzahl der Optionen im Menü Engine-Version zu reduzieren, können Sie Versionen anzeigen, die die parallele Abfrage unterstützen auswählen, um die Einträge in diesem Menü zu filtern. Wählen Sie dann Aurora My SQL 2.09 oder höher.
Nachdem Sie einen früheren Cluster für parallel Abfragen auf Aurora My SQL 2.09 oder höher aktualisiert haben, aktivieren Sie die parallel Abfrage im aktualisierten Cluster. Die parallele Abfrage ist in diesen Versionen standardmäßig deaktiviert, und die Vorgehensweise zum Aktivieren ist anders. Die Hash-Join-Optimierung ist ebenfalls standardmäßig deaktiviert und muss separat aktiviert werden. Stellen Sie daher sicher, dass Sie diese Einstellungen nach dem Upgrade wieder aktivieren. Anweisungen dazu finden Sie unter parallel Abfragen in Aurora My ein- und ausschalten SQL und Hash-Join für parallele Abfrage-Cluster aktivieren.
Insbesondere schalten Sie die parallele Abfrage mithilfe der Konfigurationsparameter aurora_parallel_query=ON
und aurora_disable_hash_join=OFF
anstelle von aurora_pq_supported
und aurora_pq
ein. Die aurora_pq
Parameter aurora_pq_supported
und sind in den neueren Aurora SQL My-Versionen veraltet.
Im aktualisierten Cluster weist das Attribut EngineMode
den Wert provisioned
anstelle von parallelquery
auf. Um zu überprüfen, ob die parallel Abfrage für eine bestimmte Engine-Version verfügbar ist, überprüfen Sie jetzt den Wert des SupportsParallelQuery
Felds in der Ausgabe des describe-db-engine-versions
AWS CLI Befehls. In früheren SQL Versionen von Aurora My haben Sie geprüft, ob parallelquery
in der SupportedEngineModes
Liste von vorhanden ist.
Nach dem Upgrade auf Aurora My SQL Version 2.09 oder höher können Sie die folgenden Funktionen nutzen. Diese Funktionen sind für parallel Abfragecluster, auf denen ältere Aurora SQL My-Versionen ausgeführt werden, nicht verfügbar.
-
Performance-Insights. Weitere Informationen finden Sie unter Überwachen der Datenbanklast mit Performance Insights auf Amazon Aurora.
-
Rückverfolgung. Weitere Informationen finden Sie unter Rückverfolgen eines Aurora-DB-Clusters.
-
Stoppen und Starten des Clusters. Weitere Informationen finden Sie unter Stoppen und Starten eines Amazon Aurora-DB-Clusters.
Optimierung der Abfrageleistung fürParallel Query
Um mit Parallel Query die Abarbeitung einer Workload beeinflussen zu können, müssen Sie überlegen, wie Sie Parallel Query für die Abfragen einsetzen, bei denen diese Optimierung den größten Effekt hat.
Gehen Sie dazu wie folgt vor:
-
Stellen Sie sicher, dass Ihre größten Tabellen mit der parallelen Abfrage kompatibel sind. Sie können Tabelleneigenschaften ändern oder einige Tabellen neu erstellen, damit Abfragen für diese Tabellen die Optimierung für die parallele Abfrage nutzen können. Um zu erfahren wie, siehe Erstellen von Schema-Objekten, mit denen die Vorteile von Parallel Query genutzt werden können.
-
Überwachen Sie, welche Abfragen mit Parallel Query ausgeführt werden. Um zu erfahren wie, siehe Überwachung parallel Abfragen für Aurora My SQL.
-
Stellen Sie sicher, dass die parallele Abfrage für die datenintensivsten und am längsten laufenden Abfragen und mit der richtigen Parallelität für Ihren Workload verwendet wird. Um zu erfahren wie, siehe Überprüfen, welche Anweisungen die parallel Abfrage für Aurora My verwenden SQL.
-
Optimieren Sie Ihren SQL Code, um die parallel Abfrage zu aktivieren, die auf die von Ihnen erwarteten Abfragen angewendet wird. Um zu erfahren wie, siehe SQLKonstrukte für parallel Abfragen in Aurora My SQL.
Erstellen von Schema-Objekten, mit denen die Vorteile von Parallel Query genutzt werden können
Bevor Sie Tabellen erstellen oder ändern, die Sie für die parallele Abfrage verwenden möchten, sollten Sie sich mit den unter Voraussetzungen und Einschränkungen beschriebenen Anforderungen vertraut machen.
Wenn Sie Parallelabfragen starten, müssen Tabellen die Einstellungen ROW_FORMAT=Compact
oder ROW_FORMAT=Dynamic
verwenden. Öffnen Sie deshalb die Konfigurationseinstellungen von Aurora und prüfen Sie, ob an der Konfigurationsoption INNODB_FILE_FORMAT
Änderungen vorgenommen wurden. Geben Sie die Anweisung SHOW TABLE STATUS
aus, um das Zeilenformat aller Tabellen einer Datenbank zu bestätigen.
Bevor Sie Ihr Schema ändern, um die parallele Abfrage zu aktivieren, um mit mehr Tabellen zu arbeiten, stellen Sie sicher, dass Sie es testen. Ihre Tests sollten bestätigen, ob die parallele Abfrage zu einer besseren Nettoleistung für diese Tabellen führt. Stellen Sie außerdem sicher, dass die Schema-Anforderungen an Parallel Query mit Ihren Zielen vereinbar sind.
Zum Beispiel: Prüfen Sie vor der Umstellung von ROW_FORMAT=Compressed
auf ROW_FORMAT=Compact
oder ROW_FORMAT=Dynamic
die Leistung von Workloads anhand der ursprünglichen und der neuen Tabellen. Berücksichtigen Sie außerdem eventuelle sonstige Effekte (z. B. erhöhtes Datenvolumen).