Amazon Redshift 常見問答集

一般問題

每天都有成千上萬的客戶使用 Amazon Redshift 在雲端執行 SQL 分析,處理 EB 級資料以取得商業洞察。無論您不斷增長的資料是儲存在營運資料存放區、資料湖、串流資料服務還是第三方資料集中,Amazon Redshift 都能協助您以最少的移動或複製作業安全存取、合併和共用資料。Amazon Redshift 與 AWS 資料庫、分析和機器學習服務深度整合,以採用零 ETL 方法或協助您原地存取資料以進行近乎即時的分析、在 SQL 中建立機器學習模型,以及使用 Redshift 中的資料啟用 Apache Spark 分析。Amazon Redshift Serverless 可讓工程師、開發人員、資料科學家和分析師輕鬆上手,並在零管理環境中快速擴展分析。Amazon Redshift 的大規模平行處理 (MPP) 引擎和架構可分隔運算和儲存以實現高效擴展,以及機器學習驅動的效能創新 (例如:自動具體化視觀表)。Amazon Redshift 是專為擴展而建置,可提供比其他雲端資料倉儲高達 5 倍的價格效能。

成千上萬的客戶選擇 Amazon Redshift 來加快取得洞察的時間,因其為功能強大的分析系統,可與資料庫和機器學習服務完美整合、並經簡化而易於使用,且能成為滿足其所有分析需求的中央服務。Amazon Redshift Serverless 能自動佈建和擴展資料倉儲的容量,為高要求及無法預測的工作負載提供高效能。Amazon Redshift 為各種分析工作負載提供業界領先的價格效能,無論是儀表板、應用程式開發、資料共用、ETL (擷取、轉換、載入) 任務還是其他各種任務。憑藉成千上萬的客戶在 TB 到 PB 級的資料上執行分析,Amazon Redshift 根據機群效能遙測最佳化真實的客戶工作負載效能,並提供可線性擴展至工作負載的效能,同時壓低成本。客戶可以在不增加成本的情況下獲得效能創新。Amazon Redshift 讓您能遍及操作資料庫、資料湖、資料倉儲、串流資料和數千個第三方資料集,對所有資料執行即時與預測性分析,獲得洞察。Amazon Redshift 透過內建的身分管理和單一登入 (SSO) 聯合、多因素身分驗證、資料欄層級存取控制、資料列層級安全性、角色型存取控制、Amazon Virtual Private Cloud (Amazon VPC) 以及更快速的叢集調整大小,支援業界領先的安全性。

Amazon Redshift 為 AWS 全受管,您不必再操心資料倉儲管理任務,例如硬體佈建、軟體修補、設定、組態、監控節點和磁碟機以自故障復原,或是備份。由 AWS 代您管理資料倉儲的設定、操作及擴展所需的工作,讓您專心建置應用程式。Amazon Redshift Serverless 能自動佈建和擴展資料倉儲的容量,為高要求及無法預測的工作負載提供高效能,而且您只需按照所使用的資源付費。Amazon Redshift 還具備自動調校功能,同時在 Redshift Advisor 中提供用於管理倉儲的推薦。透過 Redshift Spectrum,Amazon Redshift 會針對 Amazon S3 中存放的資料管理所有運算基礎設施、負載平衡、查詢的規劃、排程和執行。Amazon Redshift 透過 Amazon Aurora Zero-ETL to Amazon Redshift 等功能深度整合到資料庫服務,以及透過聯合查詢功能,從 Amazon RDS 和 Amazon S3 資料湖等操作資料庫就地存取資料,讓您能在所有資料上進行分析。Redshift 使用可自動擷取串流資料或 Amazon S3 檔案的無程式碼自動化資料管道,進而簡化資料擷取。Redshift 也與 AWS Data Exchange 整合,讓使用者能夠尋找、訂閱和查詢第三方資料集,並與其資料結合以獲得全面的洞察。透過與 Amazon SageMaker 的原生整合,客戶可以直接留在其資料倉儲中,並在 SQL 中建立、訓練和建置機器學習模型。Amazon Redshift 可滿足您所有的 SQL 分析需求,其價格效能比其他雲端資料倉儲高出多達 5 倍。

Amazon Redshift 是全受管服務,佈建與無伺服器兩種選項皆提供,讓您無需管理資料倉儲,即可更有效率地執行分析及擴展其規模。您可以啟動新的 Amazon Redshift 無伺服器端點,在幾秒鐘內自動佈建資料倉儲,或者選擇可預測工作負載的佈建選項。

只要在 AWS 管理主控台中執行幾個步驟,就能開始查詢資料。您可利用預先負載的採樣資料集,包括基準資料集 TPC-H、TPC-DS 及其他採樣查詢,立即開始分析。若要開始使用 Amazon Redshift Serverless,請選擇「試用 Amazon Redshift Serverless」,開始查詢資料。就從這裡開始

TPC-DS 基準測試結果顯示 Amazon Redshift 一開始使用即具有最佳價格效能,即使是相對小型的 3 TB 資料集也可見效果。Amazon Redshift 提供比其他雲端資料倉儲高出多達 5 倍的價格效能。換言之,您無需手動調校,即可從一開始即享有 Amazon Redshift 領先價格效能帶來的利益。根據我們的效能機群遙測,我們也知道大多數工作負載都是簡短的查詢工作負載 (執行時間不到 1 秒的工作負載)。對於這些工作負載,最新的基準測試證明,Amazon Redshift 在高並行、低延遲工作負載上提供的價格效能比其他雲端資料倉儲高出多達 7 倍。在這裡進一步了解

是,Amazon Redshift 專家可回答問題並提供支援。聯絡我們,您將在一個工作日內收到我們的回覆,討論 AWS 如何幫助您的組織。

Amazon Redshift 受管儲存可用於無伺服器和 RA3 節點類型,讓您獨立擴展並支付運算和儲存的費用,因此可以僅依據運算需求調整叢集大小。它自動使用高效能 SSD 的本機儲存作為第 1 層快取,並利用資料區塊溫度、資料區塊使用期限和工作負載模式等優化手段來提供高效能,同時於需要時自動將儲存擴展到 Amazon S3,而無需任何動作。

如果您已經在使用 Amazon Redshift Dense Storage 或 Dense Compute 節點,可以使用「彈性調整大小」將現有叢集升級到新的運算執行個體 RA3。使用 RA3 執行個體的 Amazon Redshift Serverless 和叢集可自動使用 Redshift 受管儲存以存放資料。除使用 Amazon Redshift Serverless 或 RA3 執行個體之外,利用此項功能無需其他動作。

Amazon Redshift Spectrum 是 Amazon Redshift 的一項功能,可讓您對 Amazon S3 中的資料湖執行查詢,無需資料負載或 ETL。當您發出 SQL 查詢時,該查詢會傳送到 Amazon Redshift 端點,並產生和優化查詢計劃。Amazon Redshift 會判斷哪些資料在本機而哪些資料在 Amazon S3、產生一個計劃必須讀取的 S3 資料量減到最少、請求共用資源集區的 Amazon Redshift Spectrum 工作者以便從 Amazon S3 讀取並處理資料。

以下案例中,請考量選擇 RA3 節點類型:

  • 您需要運算與儲存分開擴展及支付的靈活性。
  • 您查詢總計資料的一小部分。
  • 您的資料量迅速成長,或預計將迅速成長。
  • 您想要得到單純基於效能需求以調整叢集大小的靈活性。

隨著資料的規模持續成長至逼近 PB 級,您擷取入 Amazon Redshift 資料倉儲的資料量也相應增加。您自然而然會想找尋方法,以經濟地分析所有資料。

有了帶有受管儲存的新型 Amazon Redshift RA3 執行個體,您可基於效能需求選擇節點數量,僅支付所使用的受管儲存費用。如此即可賦予您靈活性,能根據日常處理的資料量調整 RA3 叢集大小,同時又不增加儲存成本。建置在 AWS Nitro System 之上含受管儲存的 RA3 執行個體,能對熱資料使用高效能的 SSD、對冷資料使用 Simple Storage Service (Amazon S3),於是可發揮易用、經濟的儲存,且又快速查詢的效能。

Amazon Redshift 空間可提供基於位置的分析,讓您從資料取得豐富的洞察。能將空間與商業資料兩相無縫整合,為作出決策提供分析。Amazon Redshift 於 2019 年 11 月啟動原生空間資料處理支援,包括多態資料類型 GEOMETRY 和數個關鍵性的 SQL 空間函數。我們現可支援 GEOGRAPHY 資料類型,我們的 SQL 空間函式庫也成長為 80 個。我們支援所有常見空間資料類型和標準,包括 Shapefiles、GeoJSON、WKT、WKB、eWKT 及 eWKB。如欲進一步了解,請瀏覽文件頁面或 Amazon Redshift 空間教學頁面。

Amazon Athena 和 Amazon Redshift Serverless 這兩項服務雖然皆屬無伺服器型並啟用 SQL 使用者,卻因應不同需求和使用案例。

透過分隔儲存和運算的大規模平行處理 (MPP) 架構以及機器學習帶來自動最佳化功能,Amazon Redshift 這類資料倉儲 (無伺服器或已佈建) 對於需要在任何規模的複雜商業智慧和分析工作負載下具有最佳價格效能的客戶來說,都是理想的選擇。客戶可以使用 Amazon Redshift 做為其資料架構的中央元件,透過 ZeroETL 和無程式碼方法進行深度整合,以便就地存取資料,或輕鬆地將資料擷取或移入倉儲,以進行高效能分析。客戶可以存取存放在 Amazon S3、Aurora 和 Amazon RDS 等操作資料庫、透過與 AWS Data Exchange 整合的第三方資料倉儲中的資料,並與存放在 Amazon Redshift 資料倉儲中的資料結合以進行分析。他們可以輕鬆啟動資料倉儲,並根據這些資料執行機器學習。

Amazon Athena 非常適合透過可擴展的連接器架構 (包括適用於應用程式和內部部署或其他雲端分析系統的 30 多個立即可用連接器) 對資料湖或任何資料來源中的資料進行資料探索,而不必擔心擷取或處理資料。Amazon Athena 建立在開放原始碼引擎和架構 (例如 Spark、Presto 和 Apache Iceberg) 上,讓客戶能靈活地使用 Python 或 SQL 或處理開放資料格式。如果客戶想要使用開放原始碼架構和資料格式進行互動式分析,Amazon Athena 會是很好的起點。

否,Redshift 預留執行個體不具有靈活性,且僅適用於您預留的確切節點類型。

無伺服器

Amazon Redshift Serverless 是 Amazon Redshift 的無伺服器選項,能在幾秒內更有效率地執行及擴展分析,無需設定和管理資料倉儲基礎設施。使用 Redshift Serverless,任何使用者 (包括資料分析師、開發人員、商業專業人員和資料科學家) 只需負載並查詢資料倉儲中的資料,便能從資料獲得洞察。

只要在 AWS 管理主控台中執行幾個步驟,您就能選擇「設定 Amazon Redshift Serverless」,開始查詢資料。您可以利用預先載入的採樣資料集,例如天氣資料、民調資料和基準資料集,連同採樣查詢立即展開分析。您可從 Amazon S3、Amazon Redshift 資料共用,或從現有 Redshift 所佈建的叢集快照復原,建立資料庫、結構描述、表格及負載資料。也能以開放格式直接查詢資料,例如 Amazon S3 資料湖中的 Parquet 或 ORC,亦可查詢操作資料庫中的資料,例如 Amazon Aurora、Amazon RDS PostgreSQL 和 MySQL。請參閱入門指南。

就算您沒有管理資料倉儲的經驗,也不必擔心設定、組態、管理叢集或是調校倉儲。您可專心從資料衍生有意義的洞察,或是透過資料產生核心商業成果。只需按實際用量付費,保持成本管理能力。您可繼續從所有 Amazon Redshift 的一流效能、豐富的 SQL 功能、與資料湖和操作資料倉儲無縫整合,以及內建的預防性分析及資料共享功能獲得利益。如您需要精細地控制資料倉儲,可佈建 Redshift 叢集。

您可繼續使用 Amazon Redshift 所有的豐富分析功能,例如複雜聯結、直接查詢 Amazon S3 資料湖和操作資料庫中的資料、具體化視觀表、存放的程序、支援半結構化資料、機器學習 (ML) 及在大規模之下發揮高效能。Amazon Redshift 與之整合的所有相關服務 (例如 Amazon Kinesis、AWS Lambda、Amazon QuickSight、Amazon SageMaker、Amazon EMR、AWS Lake Formation 及 AWS Glue) 繼續適用於 Amazon Redshift Serverless。

您可繼續執行所有分析使用案例。具有簡單的開始使用工作流程、自動擴展,並可按使用量付費,Amazon Redshift Serverless 的體驗現在讓執行開發和測試環境變得更有效率、也更加經濟,滿足必須快速開始、臨機商業分析、具有多變且無可預期之運算需求,以及間歇或偶爾需要的工作負載等特性。

資料擷取和載入

您可以從各種資料來源將資料載入 Amazon Redshift,其中包括 Amazon S3Amazon RDSAmazon DynamoDBAmazon EMRAWS GlueAWS Data Pipeline 和/或 Amazon EC2 或內部部署的任何已啟用 SSH 主機。Amazon Redshift 會嘗試將資料平行載入每個運算節點,將資料倉儲叢集擷取資料的速度提到最高。用戶端可使用 ODBC 或 JDBC 連接到 Amazon Redshift,並發出 'insert' SQL 命令以插入資料。請注意,這會比使用 S3 或 DynamoDB 稍慢,因為那些方法是將資料平行載入每個運算節點,而 SQL insert 陳述式則是透過單一領導節點載入資料。如需將資料載入 Amazon Redshift 的更多詳細資訊,請查看我們的入門指南

Redshift 自動複製功能可追蹤 Amazon S3 資料夾並擷取新檔案,無需客戶介入,即可自動執行複製陳述式。如果沒有自動複製,複製陳述式會立即啟動現有檔案的檔案擷取程序。自動複製擴展了現有複製命令,並提供了以下功能:1/ 透過監控指定新檔案的 Amazon S3 路徑,實現檔案擷取程序的自動化;2/ 重複使用複製組態,減少為重複擷取任務建立和執行新的複製陳述式的需求;3/ 追蹤載入的檔案以避免資料重複。

若要開始使用,客戶應該擁有 Amazon S3 資料夾,該資料夾可由其 Redshift 叢集/無伺服器端點使用關聯的 IAM 角色存取,並建立用作目標的 Redshift 資料表。一旦 Amazon S3 路徑和 Redshift 資料表準備就緒,客戶就可以使用複製命令建立複製任務。建立複製任務後,Redshift 會在幕後開始追蹤指定的 Amazon S3 路徑,並啟動使用者定義的複製陳述式,以自動將新檔案複製到目標資料表中。

主要使用案例包括:1/ 使用 Amazon EMR 和 AWS Glue 執行 Apache Spark 任務的客戶,這些任務作為資料擷取和轉換管道 (批次和串流) 的一部分存取,並將資料載入 Amazon Redshift 中 2/ 使用 Amazon SageMaker 的客戶,以執行使用 Apache Spark 的機器學習,而且這些機器學習須存取儲存在 Amazon Redshift 中的資料以進行特徵工程和轉換。3/ 使用 Apache Spark 對 Amazon Redshift 中的資料執行互動式分析的 Amazon Athena 客戶。

Baikal 具有以下優點:

  • 方便用來在 Amazon Redshift 中的資料上開始使用並且執行 Apache Spark 應用程式,不需要擔心設定和維護未經驗證版本 Spark 所涉及的手動步驟
  • 方便從各種 AWS 服務使用 Apache Spark,例如 Amazon EMR、AWS Glue、Amazon Athena 和 Amazon SageMaker,使用 Amazon Redshift 和最低組態
  • 在 Amazon Redshift 上執行 Apache Spark 應用程式時可改善效能

Amazon Aurora Zero-ETL to Amazon Redshift 藉由提供全受管解決方案,讓來自 Amazon Aurora 的交易資料在寫入後的幾秒鐘內在 Amazon Redshift 中可用,從而讓 Amazon Aurora 和 Amazon Redshift 的客戶對 PB 級的交易資料進行近乎即時的分析和機器學習。使用 Amazon Aurora Zero-ETL to Amazon Redshift 時,客戶只需選擇包含他們想要使用 Amazon Redshift 分析的 Amazon Aurora 資料表,該功能就能無縫地將結構描述和資料複寫到 Amazon Redshift 中。它減少了客戶建立和管理複雜資料管道的需求,讓客戶得以專注於改善應用程式。透過 Amazon Aurora Zero-ETL to Amazon Redshift,客戶能將多個 Amazon Aurora 資料庫叢集中的資料複寫到同一個 Amazon Redshift 執行個體中,以跨多個應用程式獲得全面的洞察,同時還能整合其核心分析資產,大幅節省成本並提高營運效率。透過 Amazon Aurora Zero-ETL to Amazon Redshift,客戶也可以存取 Amazon Redshift 的核心分析和機器學習功能,例如具體化視觀表、資料共享,以及對多個資料存放區和資料湖的聯合存取。這讓客戶能結合近乎即時的核心分析,以有效地獲得有時效性的洞察,為商業決策提供資訊。此外,客戶使用 Amazon Aurora 進行交易,並使用 Amazon Redshift 進行分析,因此沒有共享運算資源,從而可產生高效能且操作穩定的解決方案。

Amazon Aurora 與 Amazon Redshift 的零 ETL 整合,可在這兩項服務之間提供無縫整合,以進行交易分析。

串流資料與傳統資料庫資料表不同,因為您在查詢串流時,您是在擷取時間變化關係的演變。另一方面,資料表會擷取此時間變化關係的時間點快照。Amazon Redshift 的客戶習慣於使用傳統批次模型 (例如「ELT」) 在一般資料表上操作並執行下游處理 (即轉換) 資料。我們提供了一種使用 Redshift 具體化視觀表 (MV) 的方法,以便客戶可輕鬆具體化串流的時間點視觀表,該視觀表是在查詢串流之前累積的,以盡快地支援 ELT 工作流程。

資料共用

主要使用案例包括:

  • 以中央 ETL 叢集與許多 BI/分析叢集共享資料,提供讀取工作負載隔離與選擇性計費能力。
  • 資料供應商對外部消費者分享資料。
  • 共享共通資料集,例如消費者、橫跨不同商業團體的產品,以及協作進行寬廣分析與資料科學用途。
  • 將資料倉儲分散以簡化管理。
  • 於開發、測試和生產環境之間共享資料。
  • 從其他 AWS 分析服務存取 Redshift 資料。

藉助跨資料庫查詢,您可以無縫地查詢和聯結有權存取的任何 Redshift 資料庫中的資料,而不受所連線資料庫的限制。這可以包括叢集上的本機資料庫,以及從遠端叢集提供的共享資料集。跨資料庫查詢可讓您具靈活性地將資料組織為獨立的資料庫,以支援多租用戶組態。

AWS Data Exchange 可讓 AWS 客戶在 AWS 中更有效率地安全交換和使用第三方資料。資料分析師、產品經理、產品組合經理、資料科學家、量化分析師、臨床試驗技師及幾乎每一產業的開發人員都很希望多加存取資料以驅動分析、訓練機器學習 (ML) 模型,和作出資料驅動型決策。可是並無一個地方能自多重供應商尋找資料,加上供應商遞送資料的方式也不一致,導致其必須應付所交付的各種實體媒體、FTP 憑證和專屬 API 呼叫。反之,許多組織樂意將資料供作研究或商業用途,可惜建置及維護資料遞送、權利及帳單技術過於困難且又昂貴,使得寶貴資料的供應事宜更加令人頭痛。

可擴展性和並行

Amazon Redshift Serverless 會自動佈建資料倉儲容量,並智慧地擴展基礎資源。Amazon Redshift Serverless 可在幾秒鐘內調整容量,即使是要求最高且不穩定的工作負載,也能提供持續的高效能和簡化操作。透過「並行擴展」功能,您可以支援不受限制的並行使用者和並行查詢,同時保有一致的快速查詢效能。啟用「並行擴展」時,Amazon Redshift 會在您的叢集遇到查詢佇列增加時自動新增叢集容量。

對於手動擴展,如果您想提高查詢效能或對 CPU、記憶體或輸入/輸出的過度使用做出回應,可透過 AWS 管理主控台ModifyCluster API,使用「彈性調整大小」增加資料倉儲叢集內的節點數量。當您修改資料倉儲叢集時,所請求的更改會立即套用。透過 AWS 管理主控台或 Amazon CloudWatch API,可免費提供運算使用率、儲存使用率和 Redshift 資料倉儲叢集讀/寫流量的指標。您也可透過 Amazon CloudWatch 的自訂指標功能,新增使用者定義的指標。

使用 Amazon Redshift Spectrum 可以執行存取相同 Amazon S3 資料的多個 Redshift 叢集。您可以在不同的使用案例使用不同的叢集。例如,您可以使用一個叢集執行標準報告,然後使用另一個叢集執行資料科學查詢。行銷團隊可使用自己的叢集,無須與營運團隊使用一樣的叢集。Redshift Spectrum 會將查詢自動分配到共享資源集區的多個 Redshift Spectrum 工作者執行,以讀取和處理 Amazon S3 中的資料,並將結果放回 Redshift 叢集以進行後續的其他處理。

這隨情況而異。當您使用並行擴展功能時,叢集的讀取和寫入在並行擴展期間完全不受影響。使用彈性調整大小功能,叢集在調整大小期間會有四到八分鐘無法使用。使用受管儲存中的 Redshift RA3 儲存彈性時,叢集完全可用,而資料會在受管儲存和運算節點之間自動移動。

「彈性調整大小」可在數分鐘內從單一 Redshift 叢集新增或移除節點,以管理其查詢輸送量。例如,可能需要額外的 Amazon Redshift 資源才能準時完成日報告或月終報告中特定時段的 ETL 工作負載。並行擴展可新增額外的叢集資源,以增加整體查詢並行。

否,並行擴展是可大規模擴展的 Amazon Redshift 資源集區,且客戶沒有此集區的直接存取權。

安全性

Amazon Redshift 支援業界領先的安全性,方法包括內建身分管理和單一登入 (SSO) 的聯合、多因素身分驗證,以及精細存取控制 Amazon Virtual Private Cloud (Amazon VPC)。使用 Amazon Redshift,資料在傳輸過程中和靜態時都會加密。所有 Amazon Redshift 安全功能均立即可用,不必額外付費,以滿足最嚴苛的安全性、隱私權和合規要求。相較於其他供應商,AWS 支援更多的安全標準和合規認證,包括 ISO 27001、SOC、HIPAA/HITECH 和 FedRAMP 等,您將獲得更多優勢。

是,Amazon Redshift 提供對角色型存取控制的支援。資料列層級的存取控制可讓您為使用者指派一個或多個角色,並按角色指派系統和物件許可。您可以使用現成的系統角色 – 根使用者、dba、操作人員和安全管理員,或者建立自己的角色。

藉助 AWS Lambda 使用者定義函數 (UDF),可以將 AWS Lambda 函數用作 Amazon Redshift 中的 UDF,並從 Redshift SQL 查詢中叫用此函數。此功能可讓您為 SQL 查詢撰寫自訂擴展,以實現與其他服務或第三方產品更加緊密的整合。可以撰寫 Lambda UDF,以透過與 Protegrity 等供應商整合來啟用外部字符化、資料遮罩、資料識別和去識別,同時可在查詢期間根據使用者的許可和所屬群組保護或取消保護敏感資料。

透過支援動態資料遮罩,客戶可以管理資料遮罩政策,輕鬆保護其機密資料並控制精細存取。假設您的應用程式有多個使用者和物件,其敏感資料不能暴露給所有使用者。您有需求提供不同的精細安全層級,以便為不同的使用者群組提供這些安全性層級。Redshift 動態資料遮罩可設定為允許客戶定義一致、格式保留和不可逆轉的遮罩資料值。一旦該功能正式發布,您就可以立即開始使用。安全管理員只需幾個命令即可建立和套用政策。

是。若客戶欲使用其公司身份供應商 (例如 Microsoft Azure Active Directory、Active Directory Federation Services、Okta、Ping Federate 或其他 SAML 合規身分供應商),則可以將 Amazon Redshift 設定為提供單一登入。您可以使用 Microsoft Azure Active Directory (AD) 身份登入 Amazon Redshift 叢集。這讓您可登入 Redshift,而無須在 Redshift 中複製 Azure Active Directory 身份。

是。在對 Amazon Redshift 叢集進行身份驗證時,可以使用多重要素驗證 (MFA) 來提高安全性。

可用性與耐久性

Amazon Redshift 將自動偵測並替換資料倉儲叢集中的故障節點。在 Dense Compute (DC) 和 Dense Storage (DS2) 叢集中,資料存放在運算節點,以確保具有高度資料耐久性。更換節點時,會從另一節點上的鏡像副本重新整理資料。RA3 叢集和 Redshift 無伺服器不受這樣的影響,因為資料存放在 Amazon S3,本機磁碟僅用作資料快取。資料倉儲叢集必須等到替換節點佈建並新增至資料庫之後,才能提供進行查詢和更新。Amazon Redshift 會讓替換節點立即可供使用,並先從 Amazon S3 載入最頻繁存取的資料,讓您儘快恢復資料查詢。單一節點叢集不支援資料複寫。如果發生磁碟機故障,您必須從 S3 上的快照還原叢集。我們建議您至少要為生產環境使用兩個節點。

如果 Amazon Redshift 資料倉儲是單一可用區域部署,且叢集的可用區域變成無法使用,則 Amazon Redshift 會自動將叢集移至另一個 AWS 可用區域 (AZ),而不會遺失任何資料或變更應用程式。為此,您必須在叢集組態設定中啟用搬遷功能。

與單一可用區域部署不同,客戶現在可以透過在多可用區部署中執行資料倉儲來改善 Redshift 的可用性。多可用區部署可讓您同時在多個 AWS 可用區域 (AZ) 執行資料倉儲,並在無法預見的故障情況下繼續操作。多可用區部署是以具有單一端點的單一資料倉儲形式管理,所以不需要變更應用程式即可維持業務連續性。多可用區部署透過保證自動復原的能力來縮短復原時間,適用於具有業務關鍵分析應用程式的客戶,這些應用程式需要最高層級的可用性和對可用區域故障的復原能力。這也可讓客戶實作更符合 AWS Well-Architected Framework 之可靠性支柱建議的解決方案。若要進一步了解 Amazon Redshift 多可用區域,請參閱此處。

RPO 是復原點目標的首字母縮寫,是用於描述發生故障時的資料新近性保證的術語。RPO 是自上次資料復原點以來可接受的時間上限。這決定了最後一個復原點和服務中斷之間可接受的資料遺失。Redshift 多可用區域支援 RPO = 0,這代表在發生故障時,資料保證為最新和最新狀態。我們的啟動前期測試發現,在不太可能發生 AZ 失敗的情況下,Amazon Redshift 多可用區部署的 RTO 不到 60 秒或更短。

預設情況下,所有新的 RA3 叢集和無伺服器端點都會啟用 Redshift 重新定位,如此一來,在發生大規模中斷時,可在另一個可用區域重新啟動資料倉儲,而不會造成任何資料遺失或額外成本。雖然使用重新放置是免費的,但限制在於它是盡力而為的方法,需視可用區域中的資源可用性而定,而復原時間點目標 (RTO) 也可能受到與啟動新叢集相關的其他問題的影響。這可能會導致 10 到 60 分鐘之間的復原時間。Redshift 多可用區域透過提供在數十秒內測量的 RTO 來支援高可用性需求,並提供保證的持續運作,因為其不會受到容量限制或建立新叢集的其他潛在問題的影響。

查詢和分析

相容,Amazon Redshift 使用產業標準 SQL,並可使用標準 JDBC 和 ODBC 驅動程式存取。您可以從 Redshift 主控台的連線用戶端標籤下載 Amazon Redshift 自訂 JDBC 和 ODBC 驅動程式。我們與熱門的 商業智慧和 ETL 供應商進行的整合已經獲得驗證,其中許多都提供免費試用,以協助您開始載入和分析資料。您也可以前往 AWS Marketplace,只需幾分鐘,就可以部署和設定專為與 Amazon Redshift 搭配使用而設計的解決方案。

Amazon Redshift Spectrum 支援所有 Amazon Redshift 用戶端工具。用戶端工具可使用 ODBC 或 JDBC 連線持續與 Amazon Redshift 叢集端點連線。不需要進行任何變更。

在 Redshift Spectrum 中使用的查詢語法和存取表格的查詢功能與 Redshift 叢集本機儲存中的表格完全一樣。外部表格使用 CREATE EXTERNAL SCHEMA 命令 (其註冊的位置) 定義的結構描述名稱加以參考。

Amazon Redshift Spectrum 目前支援多種開放原始碼資料格式,包括 Avro、CSV、Grok、Amazon Ion、JSON、ORC、Parquet、RCFile、RegexSerDe、Sequence、Text 和 TSV。<br>Amazon Redshift Spectrum 目前支援 Gzip 和 Snappy 壓縮。

如同本機表格,您可以透過查詢中的 schema_name.table_name 使用結構描述名稱選擇您要的表格。

是。CREATE EXTERNAL SCHEMA 命令支援 Hive 中繼存放區。我們目前不針對 Hive 中繼存放區支援 DDL。

您可以查詢系統表格 SVV_EXTERNAL_TABLES 以取得該資訊。

支援,Amazon Redshift ML 功能可讓 SQL 使用者使用熟悉的 SQL 命令輕鬆建立、訓練和部署機器學習 (ML) 模型。Amazon Redshift ML 可讓您透過全受管的機器學習 (ML) 服務 Amazon SageMaker 利用 Amazon Redshift 中的資料。Amazon Redshift 支援無監督學習 (K-Means) 和監督學習 (Autopilot、XGBoost、MLP 演算法)。您還可以使用 AWS 語言 AI 服務透過預先建置的 Lambda UDF 函數翻譯、修訂和分析 SQL 查詢中的文字欄位 – 請參閱部落格文章

Amazon Redshift 提供資料 API,可讓您使用所有類型的傳統、雲端原生、容器化、無伺服器 Web 服務式和事件驅動型應用程式,從 Amazon Redshift 輕鬆存取資料。資料 API 簡化了對 Amazon Redshift 的存取,因為您不需要設定驅動程式和管理資料庫連線。現在只需叫用資料 API 提供的安全 API 端點,即可對 Amazon Redshift 叢集執行 SQL 命令。資料 API 會負責管理資料庫連線和緩衝資料。資料 API 是非同步的,因此您可以稍後再擷取結果。您的查詢結果會儲存長達 24 小時。

資料 API 支援 IAM 憑證,同時可使用來自 AWS Secrets Manager 的私密金鑰。資料 API 聯合了 AWS Identity and Access Management (IAM) 登入資料,因此您可以使用身分供應商 (例如 Okta 或 Azure Active Directory) 或儲存在 Secrets Manager 中的資料庫憑證,而無需在 API 叫用中傳遞資料庫登入資料。

是的,您可以透過 aws redshift-data 命令列選項從 AWS CLI 使用資料 API。

可從其他服務使用資料 API,例如 AWS Lambda、AWS Cloud9、AWS AppSync 和 Amazon EventBridge。

不需要,使用資料 API 無需單獨支付費用。

零 ETL 整合

Amazon Aurora MySQL 相容版、Amazon Aurora PostgreSQL 相容版 (預覽版)、Amazon RDS for MySQL 和 Amazon DynamoDB (有限預覽版) 支援與 Amazon Redshift 的零 ETL 整合。

若您需要近乎即時地存取交易資料,則應使用 Amazon Aurora 與 Amazon Redshift 的零 ETL 整合。藉助零 ETL 整合,您可以透過簡單的 SQL 命令,充分利用 Amazon Redshift ML 的優勢。

在支援的 AWS 區域,Aurora 與 Amazon Redshift 的零 ETL 整合可在 Aurora MySQL 3.05 版本 (與 MySQL 8.0.32 相容) 及更高版本的 Aurora MySQL 相容版上使用。

Aurora 與 Amazon Redshift 的零 ETL 整合適用於美國東部 (俄亥俄) 區域中 Aurora PostgreSQL 15.4 的 Aurora PostgreSQL 相容版本。

Aurora 與 Amazon Redshift 的零 ETL 整合可移除建置和維護複雜資料管道的需求。您可以將單一或多個 Aurora 資料庫叢集的資料整合至單一 Amazon Redshift 資料庫叢集,並使用 Amazon Redshift 對 Aurora 的 PB 級交易資料執行近乎即時的分析和 ML 處理。

Aurora 與 Amazon Redshift 的零 ETL 整合與 Amazon Redshift Serverless 和 Amazon Aurora Serverless v2 相容。同時使用 Aurora Serverless v2 和 Amazon Redshift Serverless 時,您可以針對交易資料產生近乎即時的分析,而無需管理任何資料管道的基礎設施。

使用 Amazon RDS 主控台,並指定 Aurora 來源和 Amazon Redshift 目的地來建立零 ETL 整合,即可開始使用。建立整合後,Aurora 資料庫會複寫到 Amazon Redshift,您即可在初始植入完成後開始查詢資料。如需詳細資訊,請參閱 Amazon Aurora 與 Amazon Redshift 的零 ETL 整合入門指南。

Aurora 到 Amazon Redshift 的零 ETL 整合會以原子方式複寫交易,以確保來源 Aurora 資料庫與目標 Amazon Redshift 叢集間的資料一致性。
以下是有關整合交易原子性的一些關鍵點:

  • 唯有 Aurora 中已提交的交易才會複寫至 Amazon Redshift。 不會套用未提交或回復的交易。
  • 整合使用兩階段提交程序,以原子方式將每個交易套用至 Amazon Redshift。正常情況會套用交易中的所有資料變更,但若有發生錯誤則不會套用任何資料變更。
  • 來源與目標之間會保持交易一致性。複寫後,Aurora 和 Amazon Redshift 中的給定交易資料會保持一致。
  • 透過 DDL 或 DML 的結構描述變更也會以原子方式套用以維持完整性。
  • 以原子方式套用交易可確保資料庫之間不會發生部分交易或不一致的資料狀態。
 

Aurora 與 Amazon Redshift 的零 ETL 整合會維持來源 Aurora 資料庫與目標 Amazon Redshift 叢集之間的完整交易一致性。

以下是關於如何處理結構描述變更的一些關鍵點:

  • CREATE TABLE、ALTER TABLE、DROP TABLE 之類的 DDL 陳述式會自動從 Aurora 複製到 Amazon Redshift。
  • 整合會針對複寫的結構描述變更,在 Amazon Redshift 表格中進行必要的檢查和調整。例如,在 Aurora 中新增一欄時,Amazon Redshift 中也會新增該欄。
  • 來源與目標資料庫間的複寫和結構描述變更會自動即時發生,確保最低延遲。
  • 即使 DML 變更與 DDL 變更同時發生,也會保持結構描述的一致性。

您可以在本機 Amazon Redshift 資料庫中建立具體化視觀表,以轉換透過零 ETL 整合複寫的資料。連線到本機資料庫,並使用跨資料庫查詢來存取目的地資料庫。您可以使用包含三段式標記的完整物件名稱 (destination-database-name.schema-name.table-name),或建立參照目的地資料庫與結構描述配對的外部結構描述,並使用兩段式標記 (external-schema-name.table-name)。

零 ETL 整合和持續的資料變更處理無需額外付費。您需要為使用現有的 Amazon RDS 和 Amazon Redshift 資源,建立和處理做為零 ETL 整合一部分而產生的變更資料付費。這些資源可包括以下內容:

  • 藉由啟用增強的 binlog 使用的額外 I/O 和儲存
  • 初始資料匯出至做為 Amazon Redshift 資料庫種子的快照匯出成本
  • 用於儲存複寫資料的額外 Amazon Redshift 儲存
  • 將資料從來源移至目標的跨可用區域資料傳輸成本

如需詳細資訊,請參閱 Amazon Aurora 定價

若要查看有關 Amazon RDS for MySQL 與 Amazon Redshift 的零 ETL 整合的常見問答集,請參閱 Amazon RDS for MySQL 常見問答集。若要進一步了解此整合定價,請參閱 Amazon RDS for MySQL 定價

備份與還原

Amazon Redshift RA3 叢集與 Amazon Redshift Serverless 使用 Redshift Managed Storage,始終備有資料最新副本。DS2 與 DC2 叢集可將資料鏡映在叢集上,確保萬一故障時有最新副本可用。可對所有 Redshift 叢集類型自動建立備份並保留 24 小時,在無伺服器復原點上則提供過去 24 小時的副本

您亦可自行建立備份,無限期保留。這些備份隨時都能建立,Amazon Redshift 自動備份或 Amazon Redshift Serverless 復原點可轉換成使用者備份,延長保留期間。

Amazon Redshift 還能將您的快照或復原點以非同步方式複製到另一個區域的 Amazon S3 以進行災難復原。

在 DS2 或 DC2 叢集上,免費備份儲存限制為資料倉儲叢集中節點上的總儲存大小,且僅適用於作用中的資料倉儲叢集。

例如,如果您共有 8 TB 的資料倉儲儲存,我們將提供最多 8 TB 的備份儲存,且不收取其他費用。如果您要將備份保留期延長超過一天,可以使用 AWS 管理主控台Amazon Redshift API 執行此操作。如需自動快照的詳細資訊,請參閱 Amazon Redshift 管理指南

Amazon Redshift 只會備份已變更的資料,因此大多數快照僅佔用少量的免費備份儲存。需要恢復備份時,您可以存取備份保留時間內的所有自動化備份。一旦選擇某個要恢復的備份,我們就會佈建新的資料倉儲叢集,並將資料恢復至此叢集。

您可以使用 AWS 管理主控台ModifyCluster API 修改 RetentionPeriod 參數,以管理自動備份的保留期。如果您希望完全關閉自動備份,可以將保留期設為 0 (不建議)。

在您刪除資料倉儲叢集時,可以指定是否在刪除時建立最終快照。這樣就可以在日後還原所刪除的資料倉儲叢集。之前建立的所有資料倉儲叢集手動快照都會保留,並按照標準 Amazon S3 費率計費,除非您選擇將它們刪除。

監控和維護

透過 AWS 管理主控台Amazon CloudWatch API,可免費提供運算使用率、儲存使用率和 Amazon Redshift 資料倉儲叢集讀/寫流量的指標。您也可透過 Amazon CloudWatch 的自訂指標功能,新增更多使用者定義的指標。AWS 管理主控台提供監控儀表板,可協助您監控所有叢集的運作狀態和效能。Amazon Redshift 還透過 AWS 管理主控台提供關於查詢及叢集效能的資訊。這些資訊讓您能夠查看哪些使用者及查詢消耗最多的系統資源,以透過檢視查詢計劃和執行統計資料來診斷效能問題。此外,您可查看每個運算節點上的資源使用率,確保資料和查詢在所有節點之間達到平衡。

Amazon Redshift 會定期執行維護,以便在叢集套用修正、增強功能和新功能。您可以透過程式設計的方式或使用 Redshift 主控台修改叢集,以變更排定的維護時段。在這些維護時段期間,將無法使用 Amazon Redshift 叢集執行一般操作。如需各區域維護時段和排程的詳細資訊,請參閱 Amazon Redshift 管理指南中的維護時段