租用幫助
Amazon Redshift 是一個強大的云原生數(shù)據(jù)倉庫解決方案。但 AWS Redshift 上手難度較大,對知識儲備要求較高,設計和優(yōu)化相當復雜。作為云數(shù)據(jù)倉庫,AWS Redshift 沒有本地倉庫操作快速便捷。使用云端Redshift服務,您無需管理龐大的服務器集群,分析數(shù)據(jù)的成本不到傳統(tǒng)解決方案的十分之一,也能和您現(xiàn)有的BI產品集成。使用Redshift服務有眾多的優(yōu)勢。
AWS Redshift遷移:http://www.ukunilife.com/zt/2023-05-06/
一、Amazon Redshift 的優(yōu)勢
1、完全托管,快速上手:使用Redshift云服務,您可以根據(jù)業(yè)務需要在幾分鐘內建立幾個到幾十個節(jié)點的數(shù)據(jù)倉庫集群,立刻開始您的數(shù)據(jù)分析的任務,也能根據(jù)需求隨時增加或減少集群資源。Redshift是完全托管平臺,承擔了大量的集群管理、數(shù)據(jù)庫管理、監(jiān)控、集群健康檢查、備份、升級等工作,讓您能專注業(yè)務分析,無需花大量時間在服務器管理,安全及數(shù)據(jù)備份等工作上。
2、為數(shù)據(jù)倉庫而優(yōu)化的架構:Amazon Redshift基于企業(yè)級PostgreSQL數(shù)據(jù)庫,有大規(guī)模并行處理 (MPP) 架構,MPP可以通過將數(shù)據(jù)分布到各個計算節(jié)點來解決海量數(shù)據(jù)的處理難題。在Redshift中,每個集群有1個管理節(jié)點和多個計算節(jié)點,集群內部使用私有、高速、 低延時的網絡連接。每個計算節(jié)點都有單獨的CPU,內存和附加存儲,并且每個計算節(jié)點有多個分區(qū),您的數(shù)據(jù)被分布保存在計算節(jié)點的多個分區(qū)內,因此每個分區(qū)的數(shù)據(jù)量大大減少,您的查詢會在多個分區(qū)并行執(zhí)行,大大的增加了查詢的效率。
3、高性能:很多用戶使用Redshift獲得了幾十倍甚至上百倍的查詢加速,Redshift能為您提供非常高效的查詢性能,除了專為數(shù)據(jù)倉庫而優(yōu)化的架構外,
4、成本低:使用Redshift無需昂貴的服務器及管理人員成本,僅按使用量付費,并且可以通過購買預留實例來進一步減少成本,實際成本只有傳統(tǒng)數(shù)據(jù)倉庫分析的十分之一。
5、安全:創(chuàng)建Redshift集群的時候,可以選擇啟用加密來保護數(shù)據(jù)倉庫中的數(shù)據(jù),啟用加密后,所有的數(shù)據(jù)庫、系統(tǒng)表及備份數(shù)據(jù)都會被加密,保障了數(shù)據(jù)的安全。連接Redshift的時候,您也可以使用SSL連接,保障網絡傳輸安全。另外AWS也通過身份管理IAM,虛擬網絡VPC,防火墻安全組等保護您數(shù)據(jù)的安全 。
6、查詢分析:您的應用及工具使用標準的SQL連接Redshift,這意味著開發(fā)人員無需為數(shù)據(jù)分析學習新的技能,您也能使用市場上支持SQL的報表分析工具進行數(shù)據(jù)的分析。Redshift和很多主流的BI工具的整合已經得到了驗證,您可以在AWS的Market Place中尋找合適的BI方案,完成您的數(shù)據(jù)分析及報表工作。
不管您的數(shù)據(jù)是否在云中,都能輕松的使用Redshift分析現(xiàn)有數(shù)據(jù),對于傳統(tǒng)的沒有使用云的用戶,只需要先將數(shù)據(jù)文件上傳到AWS中。AWS提供了多種途徑將云中的數(shù)據(jù)加載到Redshift中。
二、如何將數(shù)據(jù)倉庫從AWS Redshift遷移?
使用本地舊版數(shù)據(jù)倉庫時,擴展數(shù)據(jù)倉庫的大小或提高性能可能意味著購買新硬件或添加功能更強大的硬件。這通常既昂貴又耗時。要運行自己的本地數(shù)據(jù)倉庫,還需要聘請數(shù)據(jù)庫經理和管理員來處理中斷、升級和數(shù)據(jù)訪問請求。隨著企業(yè)愈發(fā)依賴數(shù)據(jù),對集中式數(shù)據(jù)的可靠訪問變得越來越重要。
遷移過程
在此部分中,我們將查看遷移過程的三個高級步驟。兩步式遷移策略和波浪式遷移策略涉及所有三個遷移步驟。但是,波浪式遷移策略包括多次迭代。因為一步式遷移僅適用于無需連續(xù)操作的數(shù)據(jù)庫,所以該遷移過程中只涉及到步驟 1 和步驟 2。
步驟 1:轉換架構和主題區(qū)域
在此步驟中,您可以使用架構轉換工具(如 AWS Schema Conversion Tool(AWS SCT),以及 AWS 合作伙伴提供的其他工具)轉換源數(shù)據(jù)倉庫架構,從而使源數(shù)據(jù)倉庫架構與 Amazon Redshift 架構兼容。在某些情況下,您可能還需要使用自定義代碼來執(zhí)行復雜的架構轉換。我們將在后面的部分中深入探討 AWS SCT 和遷移最佳實踐。
步驟 2:初始數(shù)據(jù)提取和加載
在此步驟中,您將完成初始數(shù)據(jù)提取,并將源數(shù)據(jù)首次加載到 Amazon Redshift 中。如果您的數(shù)據(jù)大小和數(shù)據(jù)傳輸要求允許通過互聯(lián)的網絡傳輸數(shù)據(jù),則您可以使用 AWS SCT 數(shù)據(jù)提取器從源數(shù)據(jù)倉庫中提取數(shù)據(jù),并將數(shù)據(jù)加載到 Amazon S3 中。或者,如果存在網絡容量等限制,您可以將數(shù)據(jù)裝入 Snowball,然后將數(shù)據(jù)加載到 Amazon S3。當源數(shù)據(jù)倉庫中的數(shù)據(jù)在 Amazon S3 上可用時,它就會加載到 Amazon Redshift 中。如果源數(shù)據(jù)倉庫原生工具能夠比 AWS SCT 數(shù)據(jù)提取器更好地完成數(shù)據(jù)卸載和加載作業(yè),可以選擇使用原生工具來完成此步驟。
步驟 3:差異或增量加載
在此步驟中,您將使用 AWS SCT,有時也可使用源數(shù)據(jù)倉庫原生工具來捕獲差異數(shù)據(jù)或增量數(shù)據(jù),并將其從源加載到 Amazon Redshift。這通常被稱為更改數(shù)據(jù)捕獲(CDC, Change Data Capture)。CDC 過程捕獲在數(shù)據(jù)庫中所做的更改,并確保將這些更改復制到目標位置,例如數(shù)據(jù)倉庫。
現(xiàn)在,您應該掌握了足夠的信息,可以開始為數(shù)據(jù)倉庫制定遷移計劃。在接下來的部分中,我將深入探討幫助您將數(shù)據(jù)倉庫遷移到 Amazon Redshift 的 AWS 服務,以及使用這些服務加速成功交付數(shù)據(jù)倉庫遷移項目的最佳實踐。
數(shù)據(jù)倉庫遷移服務
數(shù)據(jù)倉庫遷移涉及到使用一系列的服務和工具來支持遷移過程。首先,您將創(chuàng)建數(shù)據(jù)庫遷移評估報告,然后使用 AWS SCT 將源數(shù)據(jù)架構轉換為與 Amazon Redshift 兼容的架構。要遷移數(shù)據(jù),您可以使用與 AWS Data Migration Service(AWS DMS)集成的 AWS SCT 數(shù)據(jù)提取工具,創(chuàng)建和管理 AWS DMS 任務以及編排數(shù)據(jù)遷移。
要通過源與 AWS 之間的互聯(lián)網絡傳輸源數(shù)據(jù),您可以使用 AWS Storage Gateway、Amazon Kinesis Data Firehose、Direct Connect、AWS Transfer Family 服務、Amazon S3 Transfer Acceleration 以及 AWS DataSync。對于涉及大量數(shù)據(jù)的數(shù)據(jù)倉庫遷移,或者如果互聯(lián)網絡容量有限,您可以使用 AWS Snow Family 服務傳輸數(shù)據(jù)。通過這種方法,您可以將數(shù)據(jù)復制到設備,然后將設備送回 AWS,通過 Amazon S3 將數(shù)據(jù)復制到 Amazon Redshift 中。
對于幫助您加快數(shù)據(jù)倉庫向 Amazon Redshift 的遷移,AWS SCT 是一項必不可少的服務。我們來更深入地研究一下。
使用 AWS SCT 進行遷移
AWS SCT 可自動執(zhí)行將數(shù)據(jù)倉庫架構轉換為 Amazon Redshift 數(shù)據(jù)庫架構的大部分流程。由于源數(shù)據(jù)庫引擎和目標數(shù)據(jù)庫引擎可能會有許多不同的特性和功能,因此 AWS SCT 會嘗試盡可能在目標數(shù)據(jù)庫中創(chuàng)建等效的架構。如果無法直接轉換,AWS SCT 會創(chuàng)建數(shù)據(jù)庫遷移評估報告來幫助您轉換架構。數(shù)據(jù)庫遷移評估報告提供了有關從源數(shù)據(jù)庫到目標數(shù)據(jù)庫的架構轉換的重要信息。該報告匯總所有模式轉換任務,并針對無法轉換為目標數(shù)據(jù)庫的數(shù)據(jù)庫引擎的架構對象,詳細說明了操作項。該報告還針對為無法轉換的架構在目標數(shù)據(jù)庫中編寫等效代碼的工作,估算了所需的工作量。
存儲優(yōu)化是數(shù)據(jù)倉庫轉換的重中之重。使用您的 Amazon Redshift 數(shù)據(jù)庫作為源,將測試 Amazon Redshift 數(shù)據(jù)庫作為目標,AWS SCT 可以推薦用于優(yōu)化數(shù)據(jù)庫的排序鍵和分配鍵。
借助 AWS SCT,您可以將以下數(shù)據(jù)倉庫架構轉換為 Amazon Redshift:
在 AWS,我們將不斷發(fā)布新功能和增強功能來改進產品。有關最新支持的轉換,請訪問 AWS SCT 用戶指南。
使用 AWS SCT 數(shù)據(jù)提取工具遷移數(shù)據(jù)
您可以使用 AWS SCT 數(shù)據(jù)提取工具,從本地部署數(shù)據(jù)倉庫中提取數(shù)據(jù)并將其遷移到 Amazon Redshift。代理會提取您的數(shù)據(jù)并將數(shù)據(jù)上傳到 Amazon S3,對于大規(guī)模遷移,可以將數(shù)據(jù)上傳到 AWS Snowball Family 服務。然后,您可以使用 AWS SCT 將數(shù)據(jù)復制到 Amazon Redshift。Amazon S3 是一種存儲和檢索服務。要在 Amazon S3 中存儲對象,您需要將所存儲的文件上傳到 S3 存儲桶。上傳文件時,您可以在對象上設置權限,也可以對任何元數(shù)據(jù)設置權限。
在涉及將數(shù)據(jù)上傳到 AWS Snowball Family 服務的大規(guī)模遷移中,您可以使用 AWS SCT 中基于向導的工作流,這樣數(shù)據(jù)提取工具可以自動編排 AWS DMS 以執(zhí)行實際遷移的流程。