Amazon Redshift数据库
Amazon Redshift介紹
Amazon Redshift是一種可輕松擴展的完全托管型PB級數據倉庫,它通過使用列存儲技術和并行化多個節點的查詢來提供快速的查詢性能,使您能夠更高效的分析現有數據。使用云端Amazon?Redshift服務,您無需管理龐大的服務器集群,分析數據的成本不到傳統解決方案的十分之一。
Amazon Redshift使用列存儲技術改善I/O效率并跨過多個節點平行放置查詢,從而提供快速的查詢性能。Redshift使用標準的PostgreSQL JDBC和ODBC驅動程序,從而使您能夠使用各種常見SQL客戶端。數據加載速度與集群大小呈線性關系。
作為AWS的服務之一的Redshift有哪些優勢呢?
1、完全托管,快速上手
使用Redshift云服務,您可以根據業務需要在幾分鐘內建立幾個到幾十個節點的數據倉庫集群,立刻開始您的數據分析的任務,也能根據需求隨時增加或減少集群資源。Redshift是完全托管平臺,承擔了大量的集群管理、數據庫管理、監控、集群健康檢查、備份、升級等工作,讓您能專注業務分析,無需花大量時間在服務器管理,安全及數據備份等工作上。
2、為數據倉庫而優化的架構
Amazon Redshift基于企業級PostgreSQL數據庫,有大規模并行處理(MPP)結構,MPP可以通過將數據分布到各個計算節點來解決海量數據的處理難題。在Redshift中,每個集群有一個管理節點和多個計算節點。集群內部使用私有、高速、 低延時的網絡連接。每個計算節點都有單獨的CPU,內存和附加存儲,并且每個計算節點有多個分區,您的數據被分布保存在計算節點的多個分區內,因此每個分區的數據量大大減少,您的查詢會在多個分區并行執行,大大的增加了查詢的效率。
注:MPP是將任務并行的分散到多個服務器和節點上,在每個節點上計算完成后,將各自部分的結果匯總在一起得到最終的結果(與Hadoop相似),詳情點擊;https://blog.csdn.net/qq_42189083/article/details/80610092
3、查詢優化
Redshift提供了針對MPP架構的查詢優化引擎,被編譯后的SQL分布在多個計算節點的分區內并行執行,并且最大化的利用了列式存儲的優勢,因此在復雜的多表連接查詢的情況下,查詢優化器通常能有很大的性能提升。
4、高性能
很多用戶使用Redshift獲得了幾十倍甚至上百倍的查詢加速,Redshift為您提供非常搞笑的查詢性能,除了上面講的專為數據倉庫而優化的架構外,還有以下優勢:
4.1、列式存儲
很多數據庫使用行式存儲,此時如果要基于某個列求和,需要加載整張表的數據,而Redshift列式存儲只需要加載一列的數據,磁盤的IO以及內存的消耗都顯著減少,增加了性能。由于數據倉庫中的大部分查詢只是掃描整張表中的部分字段,因此Redshift列式存儲特別適合數據倉庫查詢,另外列式存儲索引比傳統索引能提供5倍以上的壓縮效果和10倍以上的性能提升。
4.2、數據壓縮
作為一個列式數據倉庫,Redshift還支持列數據壓縮,數據壓縮減少了磁盤占用空間,減少了讀寫I/O、減少了內存占用空間,并提高了查詢的性能。由于Redshift同列的數據類型相同,有些值也相同,因此Redshift的壓縮率很高
5、成本低
使用Redshift無需昂貴的服務器及管理人員成本,僅按使用量付費,并且可以通過購買預留實例來進一步減少成本,實際成本只有傳統數據倉庫分析的十分之一。
6、安全
創建Redshift集群的時候,可以選擇啟用加密來保護數據倉庫中的數據,啟用加密后,所有的數據庫、系統表及備份數據都會被加密,保障了數據的安全。連接Redshift的時候,您也可以使用SSL連接,保障網絡傳輸安全。另外AWS也通過身份管理IAM,虛擬網絡VPC,防火墻安全組等保護您數據的安全 。
7、負載性能監控
Redshift監控讓您能了解集群運行的細節,比如您可以隨時檢查集群節點的CPU、內存、網絡、存儲的使用狀況,了解節點當前負載,確保您使用合適的資源來滿足當前的業務需求。Redshift和云監控CloudWatch服務高度集成,CloudWatch能夠監測Redshift的各種指標,也可以設置警報,在集群出現故障時第一時間通知您。CloudWatch簡單易用,是保障集群健康的重要環節。
8、數據遷移到Redshift
不管您的數據是否在云中,都能輕松的使用Redshift分析現有數據,對于傳統的沒有使用云的用戶,只需要先將數據文件上傳到AWS中。AWS提供了多種途徑將云中的數據加載到Redshift中,下面介紹幾種:
8.1、從S3中加載數據
傳統的用戶可以將數據文件通過上傳到AWS的云存儲S3上。對于敏感數據,可以在上傳前加密數據或者使用S3云端加密功能,因此無需擔心數據安全。Redshift提供了命令自動將S3中的數據并行加載到Redshift中。
8.2、從Dynamo DB中加載數據
您也可以將數據加載AWS的NoSQL數據庫(Dynamo DB)中,Dynamo DB中的數據可以實時或者批量的導入到Redshift。
8.3、從EMR中加載數據
EMR是AWS基于hadoop框架的大數據處理服務,通過大數據處理平臺加工后的數據,可以使用Redshift命令將HDFS中的數據加載到Redshift中。
8.4、通過SSH從遠程服務器加載數據
Redshift也提供了命令從云中或您數據中心主機上通過SSH連接加載數據。
AWS提供了豐富的功能幫助您將數據中心或云中的數據加載到Redshift中,加載完成后您就可以在Redshift中建立模型,分析數據,使用AWS的QuickSight、Elasticsearch Service等服務顯示報表,也可以在AWS的Market Place中尋找行業BI工具分析和顯示數據。
轉載于:https://www.cnblogs.com/FengGeBlog/p/9816144.html
總結
以上是生活随笔為你收集整理的Amazon Redshift数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 生成微信小程序二维码(可以指定
- 下一篇: 亲测能用的mysqli类,挺好用的