Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ottimizzazione delle interrogazioni parallele in Aurora My SQL
Per ottimizzare il tuo cluster DB per le query parallele, considera quali cluster DB trarrebbero vantaggio dalla query parallela e se eseguire l'aggiornamento per le query parallele. Quindi, ottimizza il carico di lavoro e crea oggetti dello schema per le query parallele.
Indice
Pianificazione di un cluster di query parallele
La pianificazione di un cluster di database abilitato per la query parallela richiede di effettuare alcune scelte. Questi includono l'esecuzione dei passaggi di configurazione (creazione o ripristino di un cluster Aurora SQL My completo) e la decisione su come attivare le query parallele nel cluster DB.
Considerare quanto segue nell'ambito della pianificazione:
-
Se usi Aurora My SQL compatibile con Mi SQL 5.7, devi scegliere Aurora My 2.09 o versione successiva. SQL In questo caso, si crea sempre un cluster di cui è stato eseguito il provisioning. Quindi si attiva la query parallela utilizzando il parametro
aurora_parallel_query
.Se disponi di un SQL cluster Aurora My esistente che esegue la versione 2.09 o successiva, non è necessario creare un nuovo cluster per utilizzare la query parallela. È possibile associare il cluster o istanze DB specifiche nel cluster a un gruppo di parametri con il parametro
aurora_parallel_query
abilitato. In questo modo, è possibile ridurre il tempo e gli sforzi necessari per impostare i dati rilevanti da utilizzare con query parallele. -
Pianificare le tabelle di grandi dimensioni che è necessario riorganizzare in modo da poter utilizzare la query parallela quando si accede ad esse. Potrebbe essere necessario creare nuove versioni di alcune tabelle di grandi dimensioni in cui la query parallela è utile. Ad esempio, potrebbe essere necessario rimuovere gli indici di ricerca full-text. Per informazioni dettagliate, consultare Creazione di oggetti di schema per usufruire dei vantaggi delle query in parallelo.
Verifica della compatibilità di Aurora My SQL version per le query parallele
Per verificare quali SQL versioni di Aurora My sono compatibili con i cluster di query paralleli, usa il describe-db-engine-versions
AWS CLI comando e controlla il valore del campo. SupportsParallelQuery
Il seguente esempio di codice mostra come verificare quali combinazioni sono disponibili per i cluster di query parallele in una AWS regione specificata. Assicurarsi di specificare la stringa di parametro --query
completa su una singola riga.
aws rds describe-db-engine-versions --region us-east-1 --engine aurora-mysql \ --query '*[]|[?SupportsParallelQuery == `true`].[EngineVersion]' --output text
Il comando precedente genera un output simile al seguente: L'output può variare a seconda delle SQL versioni di Aurora My disponibili nella regione specificata AWS .
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
Dopo aver iniziato a utilizzare query parallele con un cluster, è possibile monitorare le prestazioni e rimuovere gli ostacoli all'utilizzo delle query parallele. Per quelle istruzioni, Ottimizzazione delle prestazioni per le query in parallelo.
Considerazioni relative agli aggiornamenti per le query in parallelo
A seconda delle versioni originali e di destinazione quando si aggiorna un cluster di query parallelo, è possibile trovare miglioramenti nei tipi di query che la query parallela può ottimizzare. È inoltre possibile che non sia necessario specificare un parametro speciale della modalità motore per la query parallela. Le sezioni seguenti spiegano le considerazioni quando si aggiorna un cluster in cui è attivata la query parallela.
Aggiornamento dei cluster di query parallele ad Aurora My versione 3 SQL
Diverse SQL istruzioni, clausole e tipi di dati dispongono di un supporto per le query parallele nuovo o migliorato a partire da Aurora My versione 3. SQL Quando si esegue l'aggiornamento da una versione precedente alla versione 3, verificare se ulteriori query possono trarre vantaggio dalle ottimizzazioni parallele delle query. Per informazioni su questi miglioramenti delle query parallele, vedere Tipi di dati di colonna,Tabelle partizionate, eFunzioni aggregate, clausole BY e clausole GROUP HAVING.
Se stai aggiornando un cluster di query parallele da Aurora My SQL 2.08 o versione precedente, scopri anche le modifiche relative all'attivazione delle query parallele. A questo scopo, leggere Aggiornamento ad Aurora My 2.09 e versioni successive SQL.
In Aurora My SQL versione 3, l'ottimizzazione degli hash join è attivata per impostazione predefinita. L'opzione di configurazione aurora_disable_hash_join
delle versioni precedenti non viene utilizzata.
Aggiornamento ad Aurora My 2.09 e versioni successive SQL
In Aurora My SQL versione 2.09 e successive, la query parallela funziona per i cluster predisposti e non richiede il parametro engine mode. parallelquery
Pertanto, non è necessario creare un nuovo cluster o ripristinare da uno snapshot esistente per utilizzare query parallele con queste versioni. È possibile utilizzare le procedure di aggiornamento descritte in Aggiornamento della versione secondaria o del livello di patch di un cluster Aurora My DB SQL per aggiornare il cluster a tale versione. È possibile aggiornare un cluster meno recente indipendentemente dal fatto che si trattasse di un cluster di query parallelo o di un cluster di cui è stato eseguito il provisioning. Per ridurre il numero di scelte nel menu Versione motore è possibile scegliere Mostra versioni che supportano la funzionalità di query parallela per filtrare le voci di tale menu. Quindi scegli Aurora My SQL 2.09 o versione successiva.
Dopo aver aggiornato un cluster di query parallele precedente ad Aurora My SQL 2.09 o versione successiva, si attiva la query parallela nel cluster aggiornato. La query parallela è disattivata per impostazione predefinita in queste versioni e la procedura per abilitarla è diversa. Anche l'ottimizzazione hash join è disattivata per impostazione predefinita e deve essere abilitata separatamente. Pertanto, assicurarsi di attivare nuovamente queste impostazioni dopo l'aggiornamento. Per istruzioni su questa operazione, vedere Attivazione e disattivazione delle interrogazioni parallele in Aurora My SQL e Abilitazione dell'hash join per cluster di query parallele.
In particolare, è possibile abilitare la query parallela utilizzando i parametri di configurazione aurora_parallel_query=ON
e aurora_disable_hash_join=OFF
invece di aurora_pq_supported
e aurora_pq
. I aurora_pq
parametri aurora_pq_supported
and sono obsoleti nelle versioni più recenti di Aurora My. SQL
Nel cluster aggiornato, l'attributo EngineMode
ha il valore provisioned
invece di parallelquery
. Per verificare se la query parallela è disponibile per una versione del motore specificata, ora controllate il valore del SupportsParallelQuery
campo nell'output del describe-db-engine-versions
AWS CLI comando. Nelle SQL versioni precedenti di Aurora My, si verificava la presenza di parallelquery
nell'SupportedEngineModes
elenco.
Dopo l'aggiornamento ad Aurora My SQL versione 2.09 o successiva, puoi sfruttare le seguenti funzionalità. Queste funzionalità non sono disponibili per i cluster di query parallele che eseguono versioni precedenti di Aurora MySQL.
-
Approfondimenti sulle prestazioni. Per ulteriori informazioni, consulta Monitoraggio del carico del DB con Performance Insights su Amazon Aurora.
-
Backtrack in corso Per ulteriori informazioni, consulta Backtrack di un cluster database Aurora.
-
Arresto e avvio del cluster. Per ulteriori informazioni, consulta Avvio e arresto di un cluster di database Amazon Aurora.
Ottimizzazione delle prestazioni per le query in parallelo
Per gestire le prestazioni di un carico di lavoro con la funzionalità di query in parallelo, assicurati che questa sia utilizzata per le query per le quali tale ottimizzazione risulta più utile.
A questo proposito, puoi eseguire le operazioni elencate di seguito:
-
Assicurarsi che le tabelle più grandi siano compatibili con la query parallela. È possibile modificare le proprietà della tabella o ricreare alcune tabelle in modo che le query per tali tabelle possano trarre vantaggio dall'ottimizzazione delle query parallele. Per scoprire come, consulta Creazione di oggetti di schema per usufruire dei vantaggi delle query in parallelo.
-
Monitorare le query che utilizzano la funzionalità di query in parallelo. Per scoprire come, consulta Monitoraggio delle interrogazioni parallele per Aurora My SQL.
-
Verificare che la query parallela venga utilizzata per le query a esecuzione prolungata e a uso intensivo di dati e con il giusto livello di concorrenza per il carico di lavoro. Per scoprire come, consulta Verifica delle istruzioni che utilizzano la query parallela per Aurora My SQL.
-
Ottimizza il SQL codice per attivare la query parallela da applicare alle query che ti aspetti. Per scoprire come, consulta SQLcostrutti per interrogazioni parallele in Aurora My SQL.
Creazione di oggetti di schema per usufruire dei vantaggi delle query in parallelo
Prima di creare o modificare tabelle che si intende utilizzare per query parallele, assicurarsi di familiarizzare con i requisiti descritti in Prerequisiti e Limitazioni.
Poiché per le query in parallelo è necessario che le tabelle utilizzino l'impostazione ROW_FORMAT=Compact
o ROW_FORMAT=Dynamic
, verifica le impostazioni di configurazione Aurora per eventuali modifiche all'opzione di configurazione INNODB_FILE_FORMAT
. Esegui l'istruzione SHOW TABLE STATUS
per confermare il formato di riga per tutte le tabelle in un database.
Prima di modificare lo schema per consentire alla query parallela di lavorare con più tabelle, assicurarsi di eseguire il test. I test devono confermare se la query parallela determina un aumento netto delle prestazioni per tali tabelle. Assicurati inoltre che i requisiti di schema per le query in parallelo coincidano con i tuoi obiettivi.
Ad esempio, prima di passare da ROW_FORMAT=Compressed
a ROW_FORMAT=Compact
o ROW_FORMAT=Dynamic
, compara le prestazioni dei carichi di lavoro rispetto alle tabelle di origine e a quelle nuove. Considera inoltre altri potenziali effetti come un aumento del volume di dati.