iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

30天初探 Amazon Web Services系列 第 7

[Day7] Amazon Redshift

AWS 2013年在美國區域發布了雲數據倉庫Redshift服務,讓用戶無需任何硬體、低成本、快速的分析企業數據中心或者雲中的數據。

什麼是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,馬上得到您想要的答案!

Redshift Column types參考
https://ithelp.ithome.com.tw/upload/images/20200925/20130683rCYgmjPUxv.png

/images/emoticon/emoticon29.gif


上一篇
[Day6] AWS Secrets Manager
下一篇
[Day8] AWS CloudWatch
系列文
30天初探 Amazon Web Services30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言