在 Aurora My 中建立平行查詢資料庫叢集SQL - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Aurora My 中建立平行查詢資料庫叢集SQL

若要建立具有平行查詢的 Aurora MySQL 叢集、為其新增執行個體,或執行其他管理操作,您可以使用與其他 Aurora MySQL 叢集相同的 AWS CLI AWS Management Console 和技術。您可以建立新叢集來使用平行查詢。您也可以從 My SQL相容 Aurora 資料庫叢集的快照還原,以建立資料庫叢集來使用平行查詢。如果您不熟悉建立新 Aurora MySQL 叢集的程序,您可以在 中找到背景資訊和先決條件建立 Amazon Aurora 資料庫叢集

當您選擇 Aurora MySQL 引擎版本時,建議您選擇最新的可用版本。目前,所有可用的 Aurora MySQL 版本都支援平行查詢。如果您使用最新版本,您可以更靈活地開啟和關閉平行查詢,或將平行查詢與現有叢集搭配使用。

無論您是建立新叢集或從快照還原,您都可以使用相同的技術來新增與其他 Aurora MySQL 叢集一起執行的新資料庫執行個體。

您可以使用 Amazon RDS主控台或 建立平行查詢叢集 AWS CLI。

使用主控台建立平行查詢叢集

您可以使用主控台來建立新的平行查詢叢集,如下所述。

使用 建立平行查詢叢集 AWS Management Console
  1. 請遵循 中的一般 AWS Management Console 程序建立 Amazon Aurora 資料庫叢集

  2. 針對引擎類型,選擇 Aurora MySQL。

  3. 對於其他組態,請選擇您為資料庫叢集參數群組建立的參數群組。Aurora MySQL 2.09 及更高版本需要使用此自訂參數群組。在資料庫叢集參數群組中,指定參數設定 aurora_parallel_query=ONaurora_disable_hash_join=OFF。這樣做會開啟叢集的平行查詢,並開啟與平行查詢結合運作的雜湊聯結最佳化。

驗證新叢集是否可以使用平行查詢
  1. 使用上述技術建立叢集。

  2. (針對 Aurora MySQL 第 2 版或第 3 版) 檢查aurora_parallel_query組態設定是否為 true。

    mysql> select @@aurora_parallel_query; +-------------------------+ | @@aurora_parallel_query | +-------------------------+ | 1 | +-------------------------+
  3. (適用於 Aurora MySQL 第 2 版) 檢查aurora_disable_hash_join設定是否為 false。

    mysql> select @@aurora_disable_hash_join; +----------------------------+ | @@aurora_disable_hash_join | +----------------------------+ | 0 | +----------------------------+
  4. 使用某些大型資料表和資料密集型查詢時,請檢查查詢計畫,以確認某些查詢正在使用平行查詢最佳化。若要執行此作業,請依照 驗證哪些語句使用 parallel 查詢 Aurora My SQL 中的程序進行。

使用 建立平行查詢叢集 CLI

您可以使用 建立新的平行查詢叢集CLI,如下所述。

使用 建立平行查詢叢集 AWS CLI
  1. (選用) 檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作,請使用 describe-db-engine-versions 指令並檢查 SupportsParallelQuery 欄位的值。如需範例,請參閱 檢查 Aurora MySQL 版本與平行查詢的相容性

  2. (選用) 建立具有設定 aurora_parallel_query=ONaurora_disable_hash_join=OFF 的自訂資料庫叢集參數群組。使用如下命令。

    aws rds create-db-cluster-parameter-group --db-parameter-group-family aurora-mysql8.0 --db-cluster-parameter-group-name pq-enabled-80-compatible aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \ --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \ --parameters ParameterName=aurora_disable_hash_join,ParameterValue=OFF,ApplyMethod=pending-reboot

    如果您執行此步驟,請在後續 --db-cluster-parameter-group-name my_cluster_parameter_group 陳述式中指定選項 create-db-cluster。替代您自己的參數群組名稱。如果省略此步驟,請建立參數群組,並在稍後將其與叢集產生關聯,如 在我的 Aurora 中打開和關閉 parallel 查詢 SQL 中所述。

  3. 請遵循 中的一般 AWS CLI 程序建立 Amazon Aurora 資料庫叢集

  4. 指定以下一組選項:

    • 對於 --engine選項,使用 aurora-mysql。這些值會產生與 MySQL 5.7 或 8.0 相容的平行查詢叢集。

    • 針對 --db-cluster-parameter-group-name 此選項,指定您建立的 DB 叢集參數群組的名稱,並指定參數值 aurora_parallel_query=ON。如果省略此選項,您可以使用預設參數群組建立叢集,並在稍後加以修改來使用此類自訂參數群組。

    • 針對 --engine-version選項,請使用與平行查詢相容的 Aurora MySQL 版本。如有必要,請使用 最佳化 Aurora My 中的平行查詢SQL 中的程序來取得版本清單。

      以下程式碼顯示做法。將您自己的值替換為每個環境變數,例如 $CLUSTER_ID。此範例也會指定 --manage-master-user-password 選項來產生主要使用者密碼,並在 Secrets Manager 中管理該密碼。如需詳細資訊,請參閱使用 Amazon Aurora 和 進行密碼管理 AWS Secrets Manager。或者,您可以使用 --master-password 選項,自行指定和管理密碼。

      aws rds create-db-cluster --db-cluster-identifier $CLUSTER_ID \ --engine aurora-mysql --engine-version 8.0.mysql_aurora.3.04.1 \ --master-username $MASTER_USER_ID --manage-master-user-password \ --db-cluster-parameter-group-name $CUSTOM_CLUSTER_PARAM_GROUP aws rds create-db-instance --db-instance-identifier ${INSTANCE_ID}-1 \ --engine same_value_as_in_create_cluster_command \ --db-cluster-identifier $CLUSTER_ID --db-instance-class $INSTANCE_CLASS
  5. 驗證您已建立或還原的叢集是否具有可用的平行查詢功能。

    檢查 aurora_parallel_query 組態設定是否存在。如果此設定值為 1,則平行查詢已準備好供您使用。如果此設定值為 0,請先將其設定為 1,才能使用平行查詢。無論哪種方式,叢集都能夠執行平行查詢。

    mysql> select @@aurora_parallel_query; +------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+
使用 將快照還原至平行查詢叢集 AWS CLI
  1. 檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作,請使用 describe-db-engine-versions 指令並檢查 SupportsParallelQuery 欄位的值。如需範例,請參閱 檢查 Aurora MySQL 版本與平行查詢的相容性。決定要用於還原叢集的版本。

  2. 尋找 Aurora My SQL相容叢集快照。

  3. 請遵循 中的一般 AWS CLI 程序從資料庫叢集快照還原

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier mynewdbcluster \ --snapshot-identifier mydbclustersnapshot \ --engine aurora-mysql
  4. 驗證您已建立或還原的叢集是否具有可用的平行查詢功能。請使用與 使用 建立平行查詢叢集 CLI 中相同的驗證程序。