本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
並行擴展
使用並行擴展功能,您可以藉由持續的快速查詢效能,支援數千個並行使用者和並行查詢。開啟並行擴展時,Amazon Redshift 會自動新增額外的叢集容量以處理增加的讀取及寫入查詢。使用者會看到最新資料,無論查詢是執行於主要叢集或並行擴展叢集。
您可以透過設定WLM佇列來管理要傳送至並行擴展叢集的查詢。當您開啟並行擴展時,合格查詢會傳送到並行擴展叢集,而非在佇列中等待。
我們只會向您收取並行擴展叢集實際執行查詢的費用。如需定價的相關資訊,包括費用應計方式與最低費用,請參閱並行擴展定價
並行擴展功能
當您開啟WLM佇列的並行擴展時,它適用於讀取操作,例如儀表板查詢。也適用於常用的寫入操作,例如用於資料擷取和處理的陳述式。
寫入操作的並行擴展功能
並行擴展支援常用的寫入操作,例如擷取、轉換和載入 (ETL) 陳述式。當您想要在叢集收到大量要求時維持一致的回應時間時,寫入操作的並行擴展特別有用。這會改善在主叢集上爭用資源的寫入操作輸送量。
並行擴展支援 COPY、INSERT、UPDATE、 DELETE和 CREATE TABLE AS (CTAS) 陳述式。此外,並行擴展支援不使用彙總MVs的 具體化檢視重新整理。不支援其他資料處理語言 (DML) 陳述式和資料定義語言 (DDL) 陳述式。當不受支援的寫入陳述式,例如CREATE沒有 TABLE AS,包含在受支援寫入陳述式之前的明確交易中時,任何寫入陳述式都不會在並行擴展叢集上執行。
當您為並行擴展累積點數時,此點數累積適用於讀取與寫入操作。
並行擴展的限制
以下是使用 Amazon Redshift 並行擴展的限制:
-
不支援對使用交錯排序索引鍵的資料表進行查詢。
-
不支援對暫存資料表進行查詢。
-
它不支援存取受限制性網路或虛擬私有雲端 (VPC) 組態保護之外部資源的查詢。
-
它不支援包含 Python 使用者定義函數 (UDFs) 和 Lambda 的查詢UDFs。
-
它不支援存取系統資料表、PostgreSQL 目錄資料表或無備份資料表的查詢。
-
當有限制性IAM政策許可時,它不支援COPY或UNLOAD查詢存取外部資源。這包括套用至資源的許可,例如 Amazon S3 儲存貯體或 DynamoDB 資料表或來源。IAM 來源可以包括下列項目:
aws:sourceVpc
– 來源 VPC。aws:sourceVpce
– 來源VPC端點。aws:sourceIp
– 來源 IP 地址。
在某些情況下,您可能需要移除限制資源或來源的許可,以便將存取資源的 COPY和 UNLOAD查詢傳送至並行擴展叢集。
如需資源政策的詳細資訊,請參閱 AWS Identity and Access Management 使用者指南中的政策類型,以及使用儲存貯體政策 控制VPC端點的存取。
-
Amazon Redshift 寫入操作的並行擴展不支援 DDL操作,例如 CREATETABLE或 ALTER TABLE。
-
它不支援 ANALYZE COPY命令。
-
它不支援目標資料表上的寫入操作,其中 DISTSTYLE 設定為 ALL。
-
它不支援COPY下列檔案格式:
Parquet
ORC
-
不支援對具有身分資料欄的資料表進行寫入操作。
-
Amazon Redshift 僅支援對 Amazon Redshift RA3節點進行寫入操作並行擴展。其他節點類型不支援寫入操作的並行擴展。
AWS 區域 用於並行擴展
透過 Amazon Redshift,您可以使用並行擴展來管理跨 Redshift 叢集的並行工作負載需求。本主題詳細介紹哪些區域可與 Amazon Redshift 搭配使用並行擴展。
並行擴展適用於以下 AWS 區域:
-
美國東部 (維吉尼亞北部) 區域 (us-east-1)
-
美國東部 (俄亥俄) 區域 (us-east-2)
-
美國西部 (加利佛尼亞北部) 區域 (us-west-1)
-
美國西部 (奧勒岡) 區域 (us-west-2)
-
亞太區域 (孟買) 區域 (ap-south-1)
-
亞太區域 (首爾) 區域 (ap-northeast-2)
-
亞太區域 (新加坡) 區域 (ap-southeast-1)
-
亞太區域 (雪梨) 區域 (ap-southeast-2)
-
亞太區域 (東京) 區域 (ap-northeast-1)
-
加拿大 (中部) 區域 (ca-central-1)
-
中國 (北京) 區域 (cn-north-1)
-
中國 (寧夏) 區域 (cn-northwest-1)
-
歐洲 (法蘭克福) 區域 (eu-central-1)
-
歐洲 (愛爾蘭) 區域 (eu-west-1)
-
歐洲 (倫敦) 區域 (eu-west-2)
-
歐洲 (巴黎) 區域 (eu-west-3)
-
歐洲 (斯德哥爾摩) 區域 (eu-north-1)
-
歐洲 (蘇黎世) 區域 (eu-central-2)
-
歐洲 (西班牙) 區域 (eu-south-2)
-
南美洲 (聖保羅) 區域 (sa-east-1)
-
AWS GovCloud (美國東部)
並行擴展候選項目
使用 Amazon Redshift,您可以橫向擴展查詢處理,以加速並行查詢的執行。下列主題說明 Amazon Redshift 用來判斷要路由至並行擴展的查詢的條件。
只有在主要叢集符合以下要求時,查詢才會路由至並行擴展叢集:
-
EC2-VPC 平台。
-
節點類型必須為 dc2.8xlarge、dc2.large、ra3.large、ra3.xlplus、ra3.4xlarge 或 ra3.16xlarge。只有 Amazon Redshift RA3節點支援寫入操作的並行擴展。
-
對於具有 ra3.xlplus、ra3.4xlarge 或 ra3.16xlarge 節點類型的叢集,最多 32 個運算節點。此外,最初建立叢集時,主要叢集的節點數不得超過 32 個節點。例如,如果叢集最初建立時為 40 個節點,即使叢集目前具備 20 個節點,也不符合並行擴展的需求。相反地,如果DC2叢集目前有 40 個節點,但最初建立的節點為 20 個,則確實符合並行擴展的需求。
-
非單一節點叢集。
設定並行擴展佇列
使用 Amazon Redshift,您可以透過設定並行擴展來管理並行和系統資源。並行擴展佇列可讓您設定可同時執行的查詢或使用者工作階段數量限制。下一節說明如何在 Amazon Redshift 中啟用並行擴展佇列,讓您有效地處理並行查詢和使用者工作階段。
您可以在工作負載管理器 (WLM) 佇列中啟用並行擴展,將查詢路由至並行擴展叢集。若要開啟佇列的並行擴展,請將 Concurrency Scaling mode (並行擴展模式) 值設定為 auto (自動)。
當路由至啟用並行擴展之佇列的查詢數量超過佇列的並行容量時,無論該容量是手動設定還是自動決定,合格的查詢都會傳送至並行擴展叢集。當主叢集上可用的佇列插槽時,查詢會路由至主叢集並在主叢集上執行。與任何WLM佇列一樣,您可以根據使用者群組,或根據將查詢指派給佇列 中定義的相符條件,將查詢路由至並行擴展佇列。您也可以藉由定義 WLM 查詢監控規則 來路由查詢。例如,您可以將耗時超過 5 秒的所有查詢路由至並行擴展佇列。請記住,佇列行為可能會有所不同,取決於您使用的是自動WLM還是手動 WLM。如需詳細資訊,請參閱實作自動WLM或實作手動。 WLM
並行擴展叢集的預設數目為一。可使用的並行擴展叢集數目由 max_concurrency_scaling_clusters 控制。
監控並行擴展
透過 Amazon Redshift,您可以監控和管理並行擴展,以最佳化資料倉儲工作負載的效能和成本效益。並行擴展可讓 Amazon Redshift 在工作負載需求增加時自動新增額外的叢集容量,並在需求減少時移除該容量。下一節提供監控 Amazon Redshift 叢集並行擴展的指引。
若要查看查詢是執行於主要叢集或並行擴展叢集,您可以瀏覽至 Amazon Redshift 主控台中的叢集,然後選擇一個叢集。然後選擇查詢監控索引標籤和工作負載並行,檢視有關執行中查詢和佇列查詢的資訊。
若要尋找執行時間,請查詢concurrency_scaling_status
資料欄上的 STL_QUERY 資料表和篩選條件。以下查詢可針對執行於並行擴展叢集與執行於主要叢集的查詢,比較其佇列時間與執行時間。
SELECT w.service_class AS queue , CASE WHEN q.concurrency_scaling_status = 1 THEN 'concurrency scaling cluster' ELSE 'main cluster' END as concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND q.starttime > '2019-01-04 16:38:00' AND q.endtime < '2019-01-04 17:40:00' GROUP BY 1,2 ORDER BY 1,2;
根據您的需求調整 starttime
和 endtime
值。
並行擴展系統檢視
透過 Amazon Redshift,您可以使用並行擴展系統檢視來監控和管理叢集中的並行擴展活動。下一節說明查詢這些系統檢視,並解譯結果,以有效利用 Amazon Redshift 環境中的並行擴展。
一組具有字首的系統檢視SVCS提供系統日誌資料表中有關主要和並行擴展叢集查詢的詳細資訊。
下列檢視具有與對應STL檢視相似的資訊SVL:
以下檢視專屬於並行擴展。
如需並行擴展的相關資訊,請參閱《Amazon Redshift 管理指南》中的下列主題。