如何打造高效能大資料分析平台

2021-07-09 23:12:57 字數 3456 閱讀 1164

from: 

原文:

building high performance big data analytics systems

大資料分析系統作為乙個關鍵性的系統在各個公司迅速崛起。但是這種海量規模的資料帶來了前所未有的效能挑戰。同時,如果大資料分析系統無法在第一時間為運營決策提供關鍵資料,那麼這樣的大資料分析系統一文不值。本文將從技術無關的角度討論一些提高效能的方法。下面我們將討論一些能夠應用在大資料分析系統不同階段的技巧和準則(例如資料提取,資料清洗,處理,儲存,以及介紹)。本文應作為乙個通用準則,以確保最終的大資料分析平台能滿足效能要求。

大資料是最近it界最常用的術語之一。然而對大資料的定義也不盡相同,所有已知的論點例如結構化的和非結構化、大規模的資料等等都不夠完整。大資料系統通常被認為具有資料的五個主要特徵,通常稱為資料的5 vs。分別是大規模,多樣性,高效性、準確性和價值性。

據gartner稱,大規模可以被定義為「在本(地)機資料採集和處理技術能力不足以為使用者帶來商業價值。當現有的技術能夠針對性的進行改造後來處理這種規模的資料就可以說是乙個成功的大資料解決方案。

這種大規模的資料沒將不僅僅是來自於現有的資料來源,同時也會來自於一些新興的資料來源,例如常規(手持、工業)裝置,日誌,汽車等,當然包括結構化的和非結構化的資料。

據gartner稱,多樣性可以定義如下:「高度變異的資訊資產,在生產和消費時不進行嚴格定義的包括多種形式、型別和結構的組合。同時還包括以前的歷史資料,由於技術的變革歷史資料同樣也成為多樣性資料之一 「。

高效性可以被定義為來自不同源的資料到達的速度。從各種裝置,感測器和其他有組織和無組織的資料流都在不斷進入it系統。由此,實時分析和對於該資料的解釋(展示)的能力也應該隨之增加。

根據gartner,高效性可以被定義如下:「高速的資料流i/o(生產和消費),但主要聚焦在乙個資料集內或多個資料集之間的資料生產的速率可變上」。

準確性,或真實性或叫做精度是資料的另乙個重要組成方面。要做出正確的商業決策,當務之急是在資料上進行的所有分析必須是正確和準確(精確)的。

大資料系統可以提供巨大的商業價值。像電信,金融,電子商務,社交**等,已經認識到他們的資料是乙個潛在的巨大的商機。他們可以**使用者行為,並推薦相關產品,提供危險交易預警服務,等等。

與其他it系統一樣,效能是大資料系統獲得成功的關鍵。本文的中心主旨是要說明如何讓大資料系統保證其效能。

下圖描述了大資料系統的這些高層次的元件

本節的其餘部分簡要說明了每個組分,如圖1。

由於這些單獨的系統的效能是不在大資料系統的控制範圍之內,並且通常這些系統都是外部應用程式,由第三方**商或團隊提供並維護,所以本文將不會在深入到這些系統的效能分析中去。

第一步,獲取資料。這個過程包括分析,驗證,清洗,轉換,去重,然後存到適合你們公司的乙個持久化裝置中(硬碟、儲存、雲等)。

在下面的章節中,本文將重點介紹一些關於如何獲取資料方面的非常重要的技巧。請注意,本文將不討論各種資料採集技術的優缺點。

第二步,一旦資料進入大資料系統,清洗,並轉化為所需格式時,這些過程都將在資料儲存到乙個合適的持久化層中進行。

在下面的章節中,本文將介紹一些儲存方面的最佳實踐(包括邏輯上和物理上)。在本文結尾也會討論一部分涉及資料安全方面的問題。

第三步,在這一階段中的一部分乾淨資料是去規範化的,包括對一些相關的資料集的資料進行一些排序,在規定的時間間隔內進行資料結果歸集,執行機器學習演算法,**分析等。

在下面的章節中,本文將針對大資料系統效能優化介紹一些進行資料處理和分析的最佳實踐。

最後乙個步驟,展示經過各個不同分析演算法處理過的資料結果。該步驟包括從預先計算彙總的結果(或其他類似資料集)中的讀取和用一種友好介面或者**(圖表等等)的形式展示出來。這樣便於對於資料分析結果的理解。

資料採集是各種來自不同資料來源的資料進入大資料系統的第一步。這個步驟的效能將會直接決定在乙個給定的時間段內大資料系統能夠處理的資料量的能力。 

資料採集​​過程基於對該系統的個性化需求,但一些常用執行的步驟是 - 解析傳入資料,做必要的驗證,資料清晰,例如資料去重,轉換格式,並將其儲存到某種持久層。

涉及資料採集過程的邏輯步驟示如下圖所示:

下面是一些效能方面的技巧:

一旦所有的資料採集步驟完成後,資料將進入持久層。

在本節中將討論一些與資料資料儲存效能相關的技巧包括物理儲存優化和邏輯儲存結構(資料模型)。這些技巧適用於所有的資料處理過程,無論是一些解析函式生的或最終輸出的資料還是預計算的彙總資料等。

資料處理和分析是乙個大資料系統的核心。像聚合,**,聚集,和其它這樣的邏輯操作都需要在這一步完成。

本節討論一些資料處理效能方面的技巧。需要注意的是大資料系統架構有兩個組成部分,實時資料流處理和批量資料處理。本節涵蓋資料處理的各個方面。

精心設計的高效能大資料系統通過對資料的深入分析,能夠提供有價值戰略指導。這就是視覺化的用武之地。良好的視覺化幫助使用者獲取資料的多維度透視檢視。

需要注意的是傳統的bi和報告工具,或用於構建自定義報表系統無法大規模擴充套件滿足大資料系統的視覺化需求。同時,許多cots視覺化工具現已上市。

本文將不會對這些個別工具如何進行調節,而是聚焦在一些通用的技術,幫助您能打造視覺化層。

像任何it系統一樣安全性要求也對大資料系統的效能有很大的影響。在本節中,我們討論一下安全對大資料平台效能的影響。 

- 首先確保所有的資料來源都是經過認證的。即使所有的資料來源都是安全的,並且沒有針對安全方面的需求,那麼你可以靈活設計乙個安全模組來配置實現。 

- 資料進過一次認證,那麼就不要進行二次認證。如果實在需要進行二次認證,那麼使用一些類似於token的技術儲存下來以便後續繼續使用。這將節省資料一遍遍認證的開銷。 

- 您可能需要支援其他的認證方式,例如基於pki解決方案或kerberos。每乙個都有不同的效能指標,在最終方案確定前需要將其考慮進去。 

- 通常情況下資料壓縮後進入大資料處理系統。這麼做好處非常明顯不細說。 

- 針對不同演算法的效率、對cpu的使用量你需要進行比較來選出乙個傳輸量、cpu使用量等方面均衡的壓縮演算法。 

- 同樣,評估加密邏輯和演算法,然後再選擇。 

- 明智的做法是敏感資訊始終進行限制。 

- 在審計跟蹤表或登入時您可能需要維護記錄或類似的訪問,更新等不同的活動記錄。這可能需要根據不同的監管策略和使用者需求個性化的進行設計和修改。 

- 注意,這種需求不僅增加了資料處理的複雜度,但會增加儲存成本。 

- 盡量使用下層提供的安全技術,例如作業系統、資料庫等。這些安全解決方案會比你自己設計開發效能要好很多。

本文介紹了各種效能方面的技巧,這些技術性的知道可以作為打造大資料分析平台的一般準則。大資料分析平台非常複雜,為了滿足這種型別系統的效能需求,需要我們從開始建設的時候進行考量。

本文介紹的技術準則可以用在大資料平台建設的各個不同階段,包括安全如何影響大資料分析平台的效能。

EXCEEDDATA 工程大資料分析平台

在此背景下,整車廠研發部門關心的是 如何將企業內部的研發 實驗 測試 生產資料,社會使用者的用車資料,網際網路第三方資料等結合起來,將異構資料和同構資料整合到一起,並在此基礎上,實現業務系統 分析系統和服務系統的一體化 怎樣利用深度的駕駛員行為感知 智慧型的車輛預防性維護 與實時的環境狀態互動,通過...

大資料分析平台 專案2

注意的點 為什麼這麼寫?能不能加些其它的列操作?資料!什麼樣的資料!object模組下建立object main模組 建立usersession object類 思路 session的步長和時間 我從首頁進入到商品詳情到購物車 使用者到底跳轉了多少頁面就是步長 當這個資料統計之後 這個使用者在網頁中...

大資料分析平台有哪些功能

大資料分析平台作為大資料應用最前沿的技術,一直受到人們的期待和關注。大資料分析平台能承載從資料提取到資料價值變現過程中所有功能。而在這個過程中,有三個方面值得關注和重點發展。資料清洗功能 在大資料應用技術中,前端的資料清洗功能遠比我們想象的更重要。沒有好的清洗自然也不可能有後續的資料建模和資料探勘。...