本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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建立平行查詢叢集
-
遵循AWS Management Console中的一般 建立 Amazon Aurora 資料庫叢集程序。
-
對於引擎類型,選擇 [Aurora MySQL]。
-
對於其他組態,請選擇您為資料庫叢集參數群組建立的參數群組。對於 Aurora MySQL 2.09 或更新版本,需要使用此類自訂參數群組。在資料庫叢集參數群組中,指定參數設定
aurora_parallel_query=ON和aurora_disable_hash_join=OFF。這樣做會開啟叢集的平行查詢,並開啟與平行查詢結合運作的雜湊聯結最佳化。
驗證新叢集是否可以使用平行查詢
使用上述技術建立叢集。
-
(若為 Aurora MySQL 第 2 版或第 3 版) 檢查
aurora_parallel_query組態設定為 True。mysql>select @@aurora_parallel_query;+-------------------------+ | @@aurora_parallel_query | +-------------------------+ | 1 | +-------------------------+ -
(若為 Aurora MySQL 第 2 版) 檢查
aurora_disable_hash_join設定是否為 false。mysql>select @@aurora_disable_hash_join;+----------------------------+ | @@aurora_disable_hash_join | +----------------------------+ | 0 | +----------------------------+ -
使用某些大型資料表和資料密集型查詢時,請檢查查詢計畫,以確認某些查詢正在使用平行查詢最佳化。若要執行此作業,請依照 確認哪些陳述式使用平行查詢 中的程序進行。
使用 CLI 建立平行查詢叢集
您可以使用 CLI 來建立新的平行查詢叢集,如下所述。
使用 AWS CLI建立平行查詢叢集
-
(選用) 檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作,請使用
describe-db-engine-versions指令並檢查SupportsParallelQuery欄位的值。如需範例,請參閱 檢查平行查詢的 Aurora MySQL 版本相容性。 -
(選用) 建立具有設定
aurora_parallel_query=ON和aurora_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_groupcreate-db-cluster。替代您自己的參數群組名稱。如果省略此步驟,請建立參數群組,並在稍後將其與叢集產生關聯,如 在 Aurora MySQL 中開啟和關閉平行查詢。 中所述。 -
遵循AWS CLI中的一般 建立 Amazon Aurora 資料庫叢集程序。
-
指定以下一組選項:
-
對於
--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_GROUPaws rds create-db-instance --db-instance-identifier${INSTANCE_ID}-1\ --enginesame_value_as_in_create_cluster_command\ --db-cluster-identifier$CLUSTER_ID--db-instance-class$INSTANCE_CLASS
-
-
驗證您已建立或還原的叢集是否具有可用的平行查詢功能。
檢查
aurora_parallel_query組態設定是否存在。如果此設定值為 1,則平行查詢已準備好供您使用。如果此設定值為 0,請先將其設定為 1,才能使用平行查詢。無論哪種方式,叢集都能夠執行平行查詢。mysql>select @@aurora_parallel_query;+------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+
使用 AWS CLI將快照還原至平行查詢叢集
-
檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作,請使用
describe-db-engine-versions指令並檢查SupportsParallelQuery欄位的值。如需範例,請參閱 檢查平行查詢的 Aurora MySQL 版本相容性。決定要用於還原叢集的版本。 -
找出 Aurora MySQL 相容的叢集快照。
-
遵循AWS CLI中的一般 從資料庫叢集快照還原程序。
aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifiermynewdbcluster\ --snapshot-identifiermydbclustersnapshot\ --engine aurora-mysql -
驗證您已建立或還原的叢集是否具有可用的平行查詢功能。請使用與 使用 CLI 建立平行查詢叢集 中相同的驗證程序。