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

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

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

若要建立一個具有平行查詢的 Aurora MySQL 叢集,請在其中加入新增的執行個體,或執行其他管理操作。您可以使用您搭配其他 Aurora MySQL 叢集執行的相同 AWS Management Console 和 AWS CLI 技術。您可以建立新叢集來使用平行查詢。您也可以建立資料庫叢集來使用平行查詢,方法為從 MySQL 相容 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. 使用某些大型資料表和資料密集型查詢時,請檢查查詢計畫,以確認某些查詢正在使用平行查詢最佳化。若要執行此作業,請依照 確認哪些陳述式使用平行查詢 中的程序進行。

使用 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 MySQL 中開啟和關閉平行查詢。 中所述。

  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 MySQL 中最佳化平行查詢 中的程序來取得版本清單。

      以下程式碼顯示做法。將您自己的值替換為每個環境變數,例如 $ 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 MySQL 相容的叢集快照。

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

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