Ottimizzazione delle interrogazioni parallele in Aurora My SQL - Amazon Aurora

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.

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'SupportedEngineModeselenco.

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.

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:

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.