1. 程式人生 > >利用Amazon Redshift構建新一代資料分析BI系統

利用Amazon Redshift構建新一代資料分析BI系統

本文主要介紹了Amazon Redshift新一代企業級雲平臺數據倉庫服務,並結合實際的客戶使用案例與場景描述瞭如何基於Amazon Redshift構建高可靠,效能優化,並且成本節約的資料倉庫系統。因為Amazon Redshift優異的計算效率與效能,基於Amazon Redshift的BI系統被廣泛地應用於網際網路資料分析類場景,例如電商中產品維度報表的計算生成,社交類應用中使用者畫像計算與分析,或者用於替代傳統的資料倉庫的解決方案。

Amazon Redshift是效能優異並且完全託管的PB級別資料倉庫服務。Amazon Redshift提供了標準SQL資料庫訪問介面,並且可以十分方便地與現有的主流商業智慧資料分析工具整合,構建企業級資料倉庫。

Amazon Redshift高效能硬體架構

Amazon Redshift底層硬體是基於高度定製化的高效能硬體節點,整個叢集是由頭節點(leader node,又稱領導節點)與計算節點(compute node)的架構組成,如圖1所示。其中,頭節點負責與所有的客戶端程式(標準SQL相容的客戶端,或者通過JDBC/ODBC訪問的客戶端應用)進行通訊,並把對應的SQL命令進行編譯後分發給底層的計算節點。同時,頭節點還負責儲存所有的資料倉庫元資料(metadata)。需要注意的是,所有的計算節點同時也是儲存節點(單個節點最大支援2TB的儲存量)。每個計算節點上配置有定製化的高效能CPU、記憶體及直接連線硬碟的儲存介質。當用戶資料倉庫的資料量增加的時候,可以通過動態地增加計算節點的數目,以及升級對應計算節點的硬體配置提升叢集的儲存容量與計算能力。同時,節點與節點的通訊是基於AWS定製化的高速內網頻寬,減少了因為資料傳輸帶來的時延,提高了計算效率。

圖1 Amazon Redshift架構示意圖

目前,Amazon Redshift主要支援兩大類計算節點型別——DS1/DS2與DC1。其中DS型別節點是為大資料量的工作複雜優化而設計,而且DS2是DS1的硬體升級版本。DC1主要應用於資料計算要求相對更高但是資料總量相對較小的場景。

從應用的角度結合上述架構看,Amazon Redshift的頭節點負責基本的SQL編譯,查詢計劃的優化,以及資料倉庫原資料的儲存。所有的使用者資料會以列式儲存的方式存放與計算節點之上。因為大部分資料倉庫的應用計算圍繞於具體的屬性列做查詢篩選,所以列式儲存的計算方式大大提高了資料倉庫的計算效率。同時,以MPP的架構組織資料為例,Amazon Redshift也從表設計的角度為使用者提供了資料在計算節點的存放方式,使用者可以根據具體的SQL表中的鍵值做分散式存放,或者對某些常用維度表做所有計算節點的全分佈存放,從而大大減少資料在節點之間的傳輸,以提高整體的計算效率。從圖1還可以看到,計算節點以MPP的方式並行的從Amazon S3、Amazon DynamoDB、SSH及Amazon EMR併發的實現資料快速載入。另外,Amazon Redshift的整體設計實現了資料的多份冗餘存放(對使用者使用量透明)——計算節點之間冗餘存放,同時定期對資料以增量快照的方式存放於高持久度的Amazon S3之上。

基於Amazon Redshift的BI大資料分析架構

Amazon Redshift針對資料倉庫提供了優異的計算與儲存效率,利用Amazon Redshift託管服務可以十分方便地構建智慧資料倉庫系統。同時,因為AWS雲端計算平臺提供了一整套完整的資料分析套件與工具,利用這些元件與Amazon Redshift相結合,可以十分輕鬆地實現效能優化、成本經濟、可靠性強、安全度高的大資料分析架構。圖2為一個典型的資料分析平臺的基礎資料架構。

圖2 基於AWS資料分析元件的資料架構

圖2中的架構是基於AWS的典型的實時與批量疊加的大資料分析架構。其中Amazon Kinesis是託管的高速實時流分析服務,可以從前端的應用伺服器(例如Web伺服器)或者移動的客戶端(手機等移動裝置或者IoT裝置)直接注入流式資料,資料可以通過EMR進行流式處理和計算(例如基於Spark Stream的EMR計算框架),並將資料儲存於Amazon DynamoDB或者物件儲存S3之上。其中,Amazon DynamoDB是託管的高效能NoSQL資料庫,可以承載100TB資料量級別而響應時間低於10毫秒。S3作為高可靠(11個9的持久度)的物件儲存,在大量的AWS應用場景中,被作為典型的資料湖(data lake)的應用。利用Amazon EMR對S3上的原始資料進行基本的ETL或者結構化操作之後,可以直接從S3以SQL的“copy”命令複製到Amazon Redshift資料倉庫中進行SQL的維度計算。另外,可以利用AWS整合的BI分析工具(Quick Sight)或者已有的商業套件直接實現對Amazon Redshift上的資料進行分析與展示。

在實際的業務場景中,資料庫的來源包含Amazon DynamoDB或者Amazon RDS這類業務資料庫,以及使用者活動日誌或者行為日誌等Web前端日誌。這些資料需要以增量的方式匯聚於AWS S3及ETL之後進入到Amazon Redshift之中。常用的做法,可以利用AWS的Data Pipeline服務直接定義對應的原端資料來源及對應的後端資料目標,自定義採集週期,一次性配置之後就可以直接進行資料通路的增量拷貝。

小紅書電商基於Amazon Redshift的使用者資料分析

小紅書是新一代的社群電商,它將海外購物分享社群與跨境電商相結合,精準捕捉85後和90後的消費升級需求,迅速發展成為極具影響力的全球購物分享社群。目前小紅書的註冊使用者數量已超過1800萬,其中近90%是女性、超過50%是90後。作為新一代消費人群,這些使用者有著共同的價值觀,更注重感覺和體驗,對優質商品和生活充滿嚮往。“社群+電商”的模式推動了小紅書的快速發展,在電商平臺成立的半年內,其銷售額就達到7億人民幣。

與小紅書自身高速發展的業務模式一樣,小紅書的資料架構與資料分析團隊也經歷了從基本日誌伺服器指令碼分析到目前利用Amazon Redshift作為資料倉庫與資料分析核心工具的演化。圖3是目前小紅書資料分析的主要架構。

圖3 小紅書資料架構示意圖

NoSQL DB(主要是MongoDB)小紅書的業務資料庫資料,其中的資料庫業務日誌通過Fluentd的流式客戶端經過Amazon Kinesis的方式進入到AWS中國北京區域。之後,Amazon Kinesis的流式資料會寫入S3作為整個原始資料儲存。當然,Amazon S3還會作為資料湖匯聚其他的前段web伺服器的日誌,或者其他的資料來源。其中,構建於AmazonEMR的Spark叢集對S3中的日誌進行批量和實時的ETL。之後,結構化的資料從S3通過並行的拷貝直接進入Amazon Redshift進行資料分析師與工程師的業務分析。整個資料分析鏈條與分析架構實現了端到端的實時分析。其中,資料通路上的各個元件,Amazon Kinesis、Amazon S3、Amazon EMR與Amazon Redshift可以十分簡單與方便地實現水平擴充套件以提高計算與處理能力。因為S3作為整個資料架構的資料湖,並且基於S3自身分散式無限制的容量大小的設計,小紅書的架構系統可以十分方便的實現資料容量的誇張和升級。同時,因為EMR利用EMRFS實現了儲存S3(類似於傳統的Hadoop叢集的HDFS)與計算(EMR計算例項)的分離,從而從架構上解決了資料系統ETL彈性與增長的需求。小紅書又利用Amazon Kinesis來實時地解析同步使用者行為日誌,並開發了銷售實時監控系統。使用AWS使小紅書在兩個方面獲益匪淺:其一是大幅度縮短了資料處理系統上線的時間;其二是改變了整個公司的業務模式。目前,小紅書資料團隊正在持續優化其資料處理架構,包括提供更直觀的展示平臺、提升處理速度等,同時包括Spark在內的離線計算系統也開始投入使用。目前,業務資料的增量以每個月3~5TB的存量增加,並且隨著業務增加還有快速遞增的趨勢。

小紅書的實際使用經驗也已經被更多的電商使用者及資料分析團隊所採用。

綜上所述,Amazon Redshift作為一款AWS資料倉庫的明星產品,因為其優異的計算效能(10億條記錄TPC-H測試個位數秒級別)被越來越多的使用者熟悉和使用,並且結合Amazon天然的高可擴充套件的雲平臺被廣泛地應用於各個行業應用和資料分析中。

作者介紹

肖凌,AWS解決方案架構師,負責基於AWS的雲端計算方案架構的諮詢和設計,同時致力於AWS雲服務在國內和全球的應用和推廣,在大規模併發後臺架構、跨境電商應用、社交媒體分享 、Hadoop大資料架構以及資料倉庫等方面有著廣泛的設計和實踐經驗。在加入AWS之前曾長期從事移動端嵌入式系統開發,IBM伺服器開發工程師。並負責IBM亞太地區企業級高階儲存產品支援團隊,對基於企業儲存應用的高可用儲存架構和方案有深入的研究。

相關推薦

利用Amazon Redshift構建一代資料分析BI系統

本文主要介紹了Amazon Redshift新一代企業級雲平臺數據倉庫服務,並結合實際的客戶使用案例與場景描述瞭如何基於Amazon Redshift構建高可靠,效能優化,並且成本節約的資料倉庫系統。因為Amazon Redshift優異的計算效率與效能,基於Amazon Redshift的

資料量越發龐大怎麼辦?一代資料處理利器Greenplum來助攻

作者:李樹桓 個推資料研發工程師   前言:近年來,網際網路的快速發展積累了海量大資料,而在這些大資料的處理上,不同技術棧所具備的效能也有所不同,如何快速有效地處理這些龐大的資料倉,成為很多運營者為之苦惱的問題!隨著Greenplum的異軍突起,以往大資料倉庫所面臨的很多問題都得到了有效解決,Greenplu

一代資料倉庫HAWQ的體系架構

        從首次提出到發展至今,資料倉庫大概可以分為三個階段,第一階段是採用共享架構的傳統資料倉庫,這類數倉主要是面向傳統的BI分析,可擴充套件性較差,大概是十幾個節點;第二階段是無共享架構的MPP,這類數倉主要是面向有複雜需求的傳統BI分析,典型的代表有Terada

一代資料中心的七大特徵

雲端計算是未來IT基礎設施的基礎,如今不管是BAT還是初創企業都毫無例外的跟雲端計算打交道,那麼雲端計算的基礎依然是IDC,是資料中心,所以資料中心在如今又有了哪些新的特徵呢? 1. 模組化的標準基礎設施 在新一代資料中心中,為了使IT基礎設施具有適應性與可擴充套件性,需要對伺服器、儲存裝置、網路等

Table Store一代資料實時消費通道:Tunnel Service介紹

概述 通道服務Tunnel Service是基於Table Store資料介面之上的全增量一體化服務,它通過一組Tunnel Service API和SDK為使用者提供了增量、全量和增量加全量三種類型的分散式資料實時消費通道。通過為資料表建立Tunnel Service資料通道,使用者可以簡單地實現對錶中歷

一代資料倉庫HAWQ獲“中日韓開源軟體技術優勝獎”

11月15-16日,“第十六屆中日韓三國IT局長OSS會議暨東北亞開源軟體推進論壇”在天津舉辦。大會集中展現了中日韓三國近年來在開源產業和技術發展中取得的成果,頒發了“中日韓開源軟體特殊貢獻獎”、“中日韓開源軟體技術優勝獎”,對在開源領域做出突出貢獻的傑出人物和優秀專案進行

利用pandas對初創公司進行資料分析

資料來源 Kesci的CrunchBase 初創公司資料集 資料集內容 acquisitions.csv: 初創公司被收購的記錄 acquisitions 初創公司被收購的記錄 company_permalink company_name

螞蟻金服一代資料視覺化引擎 G2

新公司已經呆了一個多月,目前著手一個數據視覺化的專案,資料視覺化肯定要用到圖形庫如D3、Highcharts、ECharts、Chart等,經決定我的這個專案用阿里旗下螞蟻金服所開發的G2圖表庫。 官方地址:https://antv.alipay.c

耗時兩年,終於--我的一代敏捷專案管理系統終於開發出來了!!歡迎下載使用

經過了近兩年的努力,我用Flex開發的敏捷專案管理系統Myteam終於初步完成了,這個系統包含了我個人對專案管理的部分理解和信念,也是我期望系統的樣子。當然還有一些不夠完善的地方,我還會繼續努力完善。這是我個人在許多個日夜奮力編碼、除錯、測試、修改,研究再開發、再除錯的結晶

電子商務BI資料商務資料分析平臺系統開發

電子商務作為線上銷售渠道,它的特點就只擁有大量客戶源和運營資料。因此BI大資料分析系統就非常適合電商這個領域。BI可以更好地促進電子商務發展,通過資料對電子商務日常運營進行業務優化,提高效益。 電子商務的行業痛點: 1.每天產生的海量資料使得效率變慢,資料使用率也不高,更為煩惱的是,分不清哪

spark高階資料分析-推薦系統(學習筆記)

1.資料準備 資料集地址 http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html 主要的資料集在檔案user_artist_data.txt 中,它包含141 000 個使用者

【產業智慧官】 用一代技術+商業作業系統(AI-CPS OS:雲端計算+大資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧

產業智慧官 用新一代技術+商業作業系統(AI-CPS OS:雲端計算+大資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧...

Lakehouse: 統一資料倉庫和高階分析一代開放平臺

![](https://blog-static.cnblogs.com/files/leesf456/powedby-0123.gif) ### 1. 摘要 數倉架構在未來一段時間內會逐漸消亡,會被一種新的Lakehouse架構取代,該架構主要有如下特性 * 基於開放的資料格式,如Parquet; *

國內主流一代用戶行為分析系統選型過程分享

預測 框架 前三 自動分析 用戶id 診斷 可見 精準營銷 方式 企業在選擇用戶行為分析工具時,大都不清楚如何選擇適合自己業務的用戶行為分析工具。筆者自己公司之前網站分析用百度統計APP分析用友盟,公司是做電商行業的,最近公司提出要精細化運營,用數據驅動業務增長,因此在10

一代免費雲平臺Nano: 3分鐘構建你的私有雲-圖文教程

add nano 成了 參數 困難 監聽 構建 斷開 技術分享 前言 虛擬化是目前很多開發和運維同學的剛需,但是目前的產品要麽笨重繁雜,資源消耗高學習困難,要麽收費昂貴,於是就有了Nano這個項目,一方面是為了自己用起來舒服,另一方面也是讓不滿現有產品的同學們有更多選擇。

【雲+社區極客說】一代大數據技術:構建PB級雲端數倉實踐

方式 以及 攝像頭 raft 問題 產業 簡單的 主題 影視 本文來自騰訊雲技術沙龍,本次沙龍主題為構建PB級雲端數倉實踐 在現代社會中,隨著4G和光纖網絡的普及、智能終端更清晰的攝像頭和更靈敏的傳感器、物聯網設備入網等等而產生的數據,導致了PB級儲存的需求加大。 但數據

App推廣攻略:6種渠道追蹤方法及渠道資料分析思路

市場運營:App 渠道追蹤的5種方法以及渠道資料分析的兩大思路,移動網際網路的流量紅利逐漸褪去,數以百萬的 App 正在一個存量市場中搶佔使用者;誰能提高獲客效率,誰就有可能在激烈的競爭中勝。 都在做 App 推廣,為什麼就你的客單價居高不下? 同樣的100塊錢,為何別人花出了500

利用python進行資料分析(第二版) pdf下載

適讀人群 :適合剛學Python的資料分析師或剛學資料科學以及科學計算的Python程式設計者。 閱讀本書可以獲得一份關於在Python下操作、處理、清洗、規整資料集的完整說明。本書第二版針對Python 3.6進行了更新,並增加實際案例向你展示如何高效地解決一系列資料分析問題。你將在閱讀

利用Python進行資料分析》學習記錄

第8章249頁 原語句:party_counts = pd.crosstab(tips.day, tips.size) 現在的pandas似乎有個size屬性,就是計算資料的大小,而不會返回那一列具體的資料,比如這裡tips這個csv資料,其裡面包含一列size資料,現在來執行這句語句的話,

資料基礎---《利用Python進行資料分析·第2版》第12章 pandas高階應用

之前自己對於numpy和pandas是要用的時候東學一點西一點,直到看到《利用Python進行資料分析·第2版》,覺得只看這一篇就夠了。非常感謝原博主的翻譯和分享。 前面的章節關注於不同型別的資料規整流程和NumPy、pandas與其它庫的特點。隨著時間的發展,pandas發展出了更多適