本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Redshift 佈建叢集
在以下各節中,您可以了解經由啟動稱為 Amazon Redshift 叢集的一組運算節點,以建立資料倉儲的基礎概念。
主題
Amazon Redshift 概述
Amazon Redshift 資料倉儲是稱為節點的運算資源的集合,組織成稱為叢集的群組。每個叢集皆執行 Amazon Redshift 引擎並包含一或多個資料庫。
注意
目前,可用的是 Amazon Redshift 1.0 版引擎。但是,等引擎更新後,會有多個 Amazon Redshift 引擎版本可供選擇。
Amazon Redshift 中的叢集和節點
Amazon Redshift 叢集由節點組成。每個叢集會擁有一個領導節點和一或多個運算節點。領導節點接收來自用戶端應用程式的查詢,剖析查詢,並制定查詢執行計畫。領導節點會協調在運算節點上平行執行這些計畫,並彙總這些節點傳回的中間結果,最後將結果傳回用戶端應用程式。
運算節點會執行查詢執行計畫,並在它們之間傳輸資料以服務這些查詢。中繼結果在傳回用戶端應用程式之前,會傳給領導節點進行彙總。如需領導節點和運算節點的相關資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的資料倉儲系統架構。
注意
在 Amazon Redshift 主控台 (https://console.aws.amazon.com/redshiftv2/
啟動叢集時,其中一個要指定的選項為節點類型。節點類型會決定每個節點的 CPU、RAM、儲存容量和儲存磁碟機類型。
Amazon Redshift 提供了不同的節點類型,可滿足您的工作負載需求,並且我們建議根據所需的效能、資料大小及預期的資料增長情況選擇 RA3 或 DC2。
RA3 節點搭配受管儲存,可讓您透過分別擴展運算和受管儲存並分別付費,來優化資料倉儲。使用 RA3 時,您可以根據效能需求來選擇節點數目,並只需為您使用的受管儲存付費。請根據每日處理的資料量調整 RA3 叢集的大小。您可以在虛擬私有雲端 (VPC) 中啟動使用 RA3 節點類型的叢集。您無法在 EC2-Classic 中啟動 RA3 叢集。如需詳細資訊,請參閱 在 VPC 中建立叢集。
Amazon Redshift 受管儲存會在每個 RA3 節點中使用大型、高效能的 SSD 以獲得快速的本機儲存,並使用 Amazon S3 來獲得長期的耐用儲存。如果節點中的資料成長到超過大型本機 SSD 的大小,Amazon Redshift 受管儲存會自動將資料卸載到 Amazon S3。無論資料是在高效能 SSD 或 Amazon S3 中,您都只需要支付與 Amazon Redshift 受管儲存相同的低費率。對於需要不斷增長儲存的工作負載,受管儲存可讓您自動擴充資料倉儲儲存容量,以獨立於運算節點。
DC2 節點讓您建立包含本機 SSD 儲存的運算密集型資料倉儲。您可以根據資料大小和效能需求來選擇所需的節點數目。DC2 節點將資料儲存在本機以提高效能,並且隨著資料大小的增長,您可以新增更多運算節點來增加叢集的儲存容量。針對 1 TB (壓縮) 以下資料集,我們建議使用 DC2 節點,以便以最低的價格獲得最佳效能。如果您預期資料會增長,我們建議使用 RA3 節點,這樣您就可以獨立調整運算和儲存的大小,以獲得改善的價格效能比。使用 DC2 節點類型的叢集需在虛擬私有雲端 (VPC) 中啟動。您無法在 EC2-Classic 中啟動 DC2 叢集。如需詳細資訊,請參閱 在 VPC 中建立叢集。
節點類型具備不同的大小。節點大小和節點數量決定了叢集的總儲存量。如需詳細資訊,請參閱 節點類型詳細資訊。
部分節點類型允許一個節點 (單節點) 或兩個以上的節點 (多節點)。某些節點類型叢集節點的 數量下限是兩個節點。在單節點叢集上,節點由領導者和運算功能共享。不建議執行生產工作負載時使用單一節點叢集。在多節點叢集上,領導節點與運算節點各自獨立。領導節點與運算節點的節點類型相同。您只需支付運算節點的費用。
Amazon Redshift 會將配額套用至每個 AWS 區域中每個 AWS 帳戶的資源。配額限制會限制您的帳號可針對某個 AWS 區域內的特定資源類型 (例如節點或快照) 建立的資源數量。如需套用至 Amazon Redshift 資源之預設配額的相關資訊,請參閱《Amazon Web Services 一般參考》中的 Amazon Redshift 限制。如需申請提高配額,請提交 Amazon Redshift 限制提高表單
叢集的成本取決於 AWS 區域、節點類型、節點數目,以及節點是否預先保留。如需節點成本的相關資訊,請參閱 Amazon Redshift 定價
節點類型詳細資訊
下表摘要說明各節點類型和大小的節點規格。表格中的標頭具有下列意義:
-
vCPU 為各節點的虛擬 CPU 數量。
-
RAM 為各節點的記憶體容量,以 GiB 為單位。
-
「每個節點的配量數」是在建立叢集或使用傳統調整大小進行大小調整時,運算節點分割成的配量數。
如果叢集使用彈性調整來調整大小,則每一節點的配量數目可能會改變。不過,在彈性調整大小之後,叢集中所有運算節點上的切片總數仍然相同。
當您使用來自快照操作的還原建立叢集時,如果您變更了節點類型,結果叢集的配量數可能會與原始叢集不同。
-
儲存為各節點的儲存容量與類型。
-
節點範圍是 Amazon Redshift 針對節點類型和大小所支援的最小和最大節點數量。
注意
您可能只能使用較少的節點,具體取決於您在所選 AWS 區域中套用至您 AWS 帳戶的配額。如需申請提高配額,請提交 Amazon Redshift 限制提高表單
。 -
總容量是叢集的總儲存容量,假如您部署了節點範圍中所指定的節點最大數量。
RA3 節點類型 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
節點類型 | vCPU | RAM (GiB) | 每個節點的預設配量 | 每個節點的受管儲存限制 1 | 具有建立叢集的節點範圍 | 受管儲存總容量 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ra3.xlplus (單節點) | 4 | 32 | 2 | 4 TB | 1 | 4 TB3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ra3.xlplus (多節點) | 4 | 32 | 2 | 32 TB | 2–164 | 1024 TB4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ra3.4xlarge | 12 | 96 | 4 | 128 TB | 2–325 | 8192 TB5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ra3.16xlarge | 48 | 384 | 16 | 128 TB | 2–128 | 16,384 TB |
1 Amazon Redshift 受管儲存的儲存限制。此為硬性限制。
2 受管儲存總限制是節點數目上限乘以每個節點的受管儲存限制。
3 若要將單節點叢集的大小調整為多節點,則只支援傳統調整大小。
4 您可以使用具有多達 16 個節點的 ra3.xlplus (多節點) 節點類型來建立叢集。至於多節點叢集,則可以使用彈性調整大小來將大小調整為最多 32 個節點。
5 您可以使用具有多達 32 個節點的 ra3.4xlarge 節點類型來建立叢集。您可以使用彈性調整大小將其大小調整為最多 64 個節點。
密集運算節點類型 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
節點類型 | vCPU | RAM (GiB) | 每個節點的預設配量 | 每個節點的儲存體 | 節點範圍 | 總容量 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dc2.large | 2 | 15 | 2 | 160 GB NVMe-SSD | 1–32 | 5.12 TB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dc2.8xlarge | 32 | 244 | 16 | 2.56 TB NVMe-SSD | 2–128 | 326 TB |
注意
密集化儲存 (DS2) 節點類型已不再可用。
先前的節點類型名稱
在先前的 Amazon Redshift 版本中,特定節點類型具有不同的名稱。您可以在亞 Amazon Redshift API 和 AWS CLI. 但我們建議您升級任何參考這些名稱的指令碼,使用最新的名稱。目前名稱和先前名稱如下所示。
目前名稱 | 先前名稱 |
---|---|
ds2.xlarge | ds1.xlarge、dw.hs1.xlarge、dw1.xlarge |
ds2.8xlarge | ds1.8xlarge、dw.hs1.8xlarge、dw1.8xlarge |
dc1.large | dw2.large |
dc1.8xlarge | dw2.8xlarge |
決定節點數目
Amazon Redshift 會將查詢平行分配到所有叢集的運算節點上執行,因此只要在叢集中新增節點,即可提高查詢效能。執行包含至少兩個運算節點的叢集時,每個節點上的資料會鏡射至另一節點的磁碟上,如此可降低資料遺失的風險。
您可以在 Amazon Redshift 主控台和亞馬遜 CloudWatch 指標中監控查詢效能。您也可以視需要新增或移除節點,在價格與效能間為您的叢集取得平衡。要求增加節點時,Amazon Redshift 會處理關於部署、負載平衡和資料維護的所有詳細資訊。如需叢集效能的相關資訊,請參閱 監控 Amazon Redshift 叢集效能。
預留節點適合穩定狀態的生產工作負載,且提供較隨需節點更多的折扣。您可以在執行實驗後購買預留節點,並 proof-of-concepts 驗證您的生產組態。如需詳細資訊,請參閱 購買 Amazon Redshift 預留節點。
暫停叢集時,可讓您在叢集暫停期間暫停隨需帳單。在此暫停期間,您只需支付備份儲存的費用。這樣就不必在需求出現之前預先規劃和購買資料倉儲容量,並讓您能在開發或測試時,以經濟實惠的方式管理環境。
如需隨需節點和預留節點的定價相關資訊,請參閱 Amazon Redshift 定價
在建立叢集時使用 EC2-VPC
Amazon Redshift 叢集會在針對您所選 Amazon Redshift 節點類型和大小所設定的 Amazon EC2 執行個體中執行。使用 EC2-VPC 建立叢集。如果您仍在使用 EC2-Classic,我們建議您使用 EC2-VPC 來改善效能和安全。如需有關這些聯網平台的詳細資訊,請參閱 Amazon EC2 使用者指南中的支援平台。您的 AWS 帳戶設定會決定您是否可以使用 EC2-VPC 或 EC2-典型版。
注意
為避免 SQL 用戶端工具和 Amazon Redshift 資料庫之間發生連線問題,建議您採取下列兩項動作其中之一。設定傳入規則,允許主機協調封包大小。或者,在 Amazon EC2 執行個體的網路界面 (NIC) 上將最大傳輸單位 (MTU) 設定為 1500,停用 TCP/IP 巨型訊框。如需這些方法的相關資訊,請參閱 查詢似乎沒有回應且有時無法觸達叢集。
EC2-VPC
使用 EC2-VPC 時,您的叢集會在邏輯上與您的 AWS 帳戶隔離的虛擬私有雲 (VPC) 中執行。如果您在 EC2-VPC 中佈建叢集,您可將一或多個 VPC 安全群組與叢集建立關聯,以控制叢集的存取。如需詳細資訊,請參閱《Amazon VPC 使用者指南》 中的 VPC 的安全群組。
若要在 VPC 中建立叢集,您必須提供 VPC 的子網路資訊,然後在叢集啟動時提供子網路群組,先建立 Amazon Redshift 叢集子網路群組。如需詳細資訊,請參閱 Amazon Redshift 叢集子網路群組。
如需 Amazon Virtual Private Cloud (Amazon VPC) 的相關資訊,請參閱 Amazon VPC 產品詳細資訊頁面
預設磁碟空間警示
建立 Amazon Redshift 叢集時,您可以選擇性地設定 Amazon CloudWatch 警示,以監控叢集中所有節點使用的平均磁碟空間百分比。我們將此警示稱為預設磁碟空間警示。
預設磁碟空間警示的作用是幫助您監控叢集的儲存容量。您可依據資料倉儲需求設定此警示。例如,您可用警告做為需要調整叢集大小的指示。您可調整叢集大小為不同的節點類型,或新增節點,或是購買預留節點以供日後擴充。
當磁碟使用量達到或超過指定百分比經過一定的次數和指定持續期間,便會觸發預設磁碟空間警示。根據預設,此警示會在達到指定百分比時觸發,並保持在該百分比之上超過五分鐘。您可在啟動叢集後編輯預設值。
觸發 CloudWatch 警示時,Amazon Simple Notification Service (Amazon SNS) 會傳送通知給指定的收件人,以警告他們達到百分比閾值。Amazon SNS 會使用主題來指定收件人和要在通知中傳送的訊息。您可用現有的 Amazon SNS 主題,或在啟動叢集時依指定設定建立主題。您可在啟動叢集後編輯此警示的主題。如需建立 Amazon SNS 主題的相關資訊,請參閱開始使用 Amazon Simple Notification Service。
啟動叢集之後,您可以從叢集的 [狀態] 視窗 [CloudWatch 警示] 下檢視和編輯警示。名稱為 percentage-disk-space-used-default-<string
>。您可開啟警示,以檢視與其相關聯的 Amazon SNS 主題並編輯警示設定。如果您未選取要使用的現有 Amazon SNS 主題,則為您建立的主題會命名為 < 叢集名稱
>-預設警示 (< 收件者
>);例如 (notify@example.com)。examplecluster-default-alarms
如需設定及編輯預設磁碟空間警示的相關資訊,請參閱 建立叢集 和 建立或編輯磁碟空間警示。
注意
如果刪除叢集,與叢集相關聯的警示將不會刪除,但也不會觸發。如果您不再需要警報,可以從 CloudWatch 主控台刪除鬧鐘。
叢集狀態
叢集狀態顯示叢集的目前狀態。下表提供各叢集狀態的說明。
狀態 | 描述 |
---|---|
available |
叢集正在執行且可使用。 |
available, prep-for-resize |
叢集正在準備進行彈性調整大小。叢集在執行中且可用於讀取和寫入查詢,但無法使用某些叢集操作,例如建立快照。 |
available, resize-cleanup |
彈性調整大小操作正在完成將資料傳輸到新叢集節點。叢集在執行中且可用於讀取和寫入查詢,但無法使用某些叢集操作,例如建立快照。 |
cancelling-resize |
調整大小的作業正在取消。 |
creating |
Amazon Redshift 正在建立叢集。如需詳細資訊,請參閱 建立叢集。 |
deleting |
Amazon Redshift 正在刪除叢集。如需詳細資訊,請參閱 刪除叢集。 |
final-snapshot |
Amazon Redshift 正在刪除叢集之前為其建立最後快照。如需詳細資訊,請參閱 刪除叢集。 |
hardware-failure |
叢集發生硬體故障。 如果您有一個單一節點的叢集,該節點將無法替換。若要恢復叢集,請還原快照。如需詳細資訊,請參閱 Amazon Redshift 快照和備份。 |
incompatible-hsm |
Amazon Redshift 無法連線到硬體安全模組 (HSM)。請檢查叢集和 HSM 之間的 HSM 組態。如需詳細資訊,請參閱 使用硬體安全模組的 Amazon Redshift 加密。 |
incompatible-network |
基本網路組態發生問題。確認您啟動叢集所在的 VPC 存在且其設定正確。如需詳細資訊,請參閱 管理 VPC 中的叢集。 |
incompatible-parameters |
相關聯參數群組中有一或多個參數值發生問題,且無法套用參數值或數值。請修改參數群組並更新任何無效的值。如需詳細資訊,請參閱 Amazon Redshift 參數群組。 |
incompatible-restore |
從快照還原叢集時發生問題。請再次嘗試從其他快照還原叢集。如需詳細資訊,請參閱 Amazon Redshift 快照和備份。 |
modifying |
Amazon Redshift 正在套用變更至叢集。如需詳細資訊,請參閱 修改叢集。 |
paused |
叢集已暫停。如需詳細資訊,請參閱 暫停和繼續叢集。 |
rebooting |
Amazon Redshift 正在重新啟動叢集。如需詳細資訊,請參閱 重新啟動叢集。 |
renaming |
Amazon Redshift 正在套用新名稱至叢集。如需詳細資訊,請參閱 重新命名叢集。 |
resizing |
Amazon Redshift 正在調整叢集的大小。如需詳細資訊,請參閱 調整叢集大小。 |
rotating-keys |
Amazon Redshift 正在輪換叢集的加密金鑰。如需詳細資訊,請參閱 Amazon Redshift 中的加密金鑰輪換。 |
storage-full |
叢集已達到其儲存容量。請調整叢集的大小,以新增節點或選擇不同的節點大小。如需詳細資訊,請參閱 調整叢集大小。 |
updating-hsm |
Amazon Redshift 正在更新 HSM 組態。 |