什么是Redshift
AWS Redshift是一個完全托管的云端的大規模并行PB級數據倉庫服務,使您能更高效的分析現有數據。使用云端Redshift服務,您無需管理龐大的服務器集群,分析數據的成本不到傳統解決方案的十分之一,也能和您現有的BI產品集成。使用Redshift服務有眾多的優勢。
Redshift的優勢
完全托管,快速上手
使用Redshift云服務,您可以根據業務需要在幾分鐘內建立幾個到幾十個節點的數據倉庫集群,立刻開始您的數據分析的任務,也能根據需求隨時增加或減少集群資源。Redshift是完全托管平臺,承擔了大量的集群管理、數據庫管理、監控、集群健康檢查、備份、升級等工作,讓您能專注業務分析,無需花大量時間在服務器管理,安全及數據備份等工作上。
為數據倉庫而優化的架構
Amazon Redshift基于企業級PostgreSQL數據庫,有大規模并行處理 (MPP) 架構,MPP可以通過將數據分布到各個計算節點來解決海量數據的處理難題。在Redshift中,每個集群有1個管理節點和多個計算節點,集群內部使用私有、高速、 低延時的網絡連接。每個計算節點都有單獨的CPU,內存和附加存儲,并且每個計算節點有多個分區,您的數據被分布保存在計算節點的多個分區內,因此每個分區的數據量大大減少,您的查詢會在多個分區并行執行,大大的增加了查詢的效率。
高性能
很多用戶使用Redshift獲得了幾十倍甚至上百倍的查詢加速,Redshift能為您提供非常高效的查詢性能,除了專為數據倉庫而優化的架構外,還有以下優勢:
列式存儲
很多數據庫使用行式存儲,此時如果要基于某個列求和,需要加載整張表的數據,而Redshift列式存儲只需要加載一列的數據,磁盤的IO及內存的消耗都顯著減少,增加了性能。由于數據倉庫中的大部分查詢只是掃描整張表中的部分字段,因此Redshift列式存儲特別適合數據倉庫查詢,另外列式存儲索引比傳統索引能提供5倍以上的壓縮效果和10倍以上的性能提升。
數據壓縮
作為一個列式數據倉庫,Redshift還支持按列數據壓縮,數據壓縮減少了磁盤占用空間、減少了讀寫I/O、減少了內存占用空間,并提高了查詢的性能。由于Redshift同列的數據類型相同、有些值也相同,因此Redshift的壓縮效率很高。
查詢優化
Redshift提供了針對MPP架構的查詢優化引擎,被編譯后的SQL分布在多個計算節點的分區內并行執行,并且最大化的利用了列式存儲的優勢,因此在復雜的多表連接查詢的情況下,查詢優化器通常能有很大的性能提升。
成本低
使用Redshift無需昂貴的服務器及管理人員成本,僅按使用量付費,并且可以通過購買預留實例來進一步減少成本,實際成本只有傳統數據倉庫分析的十分之一。
安全
創建Redshift集群的時候,可以選擇啟用加密來保護數據倉庫中的數據,啟用加密后,所有的數據庫、系統表及備份數據都會被加密,保障了數據的安全。連接Redshift的時候,您也可以使用SSL連接,保障網絡傳輸安全。另外AWS也通過身份管理IAM,虛擬網絡VPC,防火墻安全組等保護您數據的安全。
查詢分析
您的應用及工具使用標準的SQL連接Redshift,這意味著開發人員無需為數據分析學習新的技能,您也能使用市場上支持SQL的報表分析工具進行數據的分析。Redshift和很多主流的BI工具的整合已經得到了驗證,您可以在AWS的Market Place中尋找合適的BI方案,完成您的數據分析及報表工作。
負載性能監控
Redshift監控讓您能了解集群運行的細節,比如您可以隨時檢查集群節點的CPU、內存、網絡、存儲的使用狀況,了解節點當前負載,確保您使用合適的資源來滿足當前的業務需求。Redshift和云監控CloudWatch服務高度集成,CloudWatch能夠監測Redshift的各種指標,也可以設置警報,在集群出現故障時第一時間通知您。CloudWatch簡單易用,是保障集群健康的重要環節。
數據遷移到Redshift
不管您的數據是否在云中,都能輕松的使用Redshift分析現有數據,對于傳統的沒有使用云的用戶,只需要先將數據文件上傳到AWS中。AWS提供了多種途徑將云中的數據加載到Redshift中。
從S3中加載數據
傳統的用戶可以將數據文件通過上傳到AWS的云存儲S3上。對于敏感數據,可以在上傳前加密數據或者使用S3云端加密功能,因此無需擔心數據安全。Redshift提供了命令自動將S3中的數據并行加載到Redshift中。
從Dynamo DB中加載數據
您也可以將數據加載到AWS的NoSQL數據庫(Dynamo DB)中,DynamoDB中的數據可以實時或者批量的導入到Redshift。
從EMR中加載數據
EMR是AWS基于Hadoop框架的大數據處理服務,通過大數據處理平臺加工后的數據,可以使用Redshift命令將HDFS中的數據加載到Redshift中。
通過SSH從遠程服務器加載數據
Redshift也提供了命令從云中或您數據中心主機上通過SSH連接加載數據,但主機必須要能接受SSH連接。
AWS提供了豐富的功能幫助您將數據中心或云中的數據加載到Redshift中,加載完成后您就可以在Redshift中建立模型,分析數據,使用AWS的QuickSight、Elasticsearch Service等服務顯示報表,也可以在AWS的Market Place中尋找行業BI工具分析和顯示數據。
總結
除了上面談到的Redshift的技術特性外,Redshift給您帶來的真正價值在于,它消除了企業構建數據倉庫的技術壁壘,消除了數據分析需要使用大量基礎設施對企業的拖累,讓企業專注于自己的核心競爭力;它也能讓您隨時執行您想要的任何復雜查詢,并能快速得到響應。無需擔心ETL過程,無需擔心數據存放的成本,您所需要的只是連接Redshift,馬上得到您想要的答案!