聊聊這一款能真正匹配大數據性能的BI工具

最近在看關於大數據、數據倉庫 、數據架構的《數據架構:大數據、數據倉庫以及Data Vault》一書,關於大數據有些思考,結合FineBI的Spider引擎,可看看Spider引擎對於大數據的闡釋,以及在大數據平臺架構中,能夠處於什麼樣的位置。前端

大數據一直被定義爲3W(數量大,速度快,多樣性),但這些特徵用於描述高速公路上運載的各類貨物也沒有問題。所以數倉之父 Inmon提出大數據的識別特徵爲:算法

(1)數據量大;數據庫

毋庸置疑,這條必須有。緩存

(2)在廉價存儲器中存放的數據;服務器

以昂貴存儲介質創建海量數據存儲所帶來的成本,將使得大數據處理無心義。所以大數據的存儲介質須要廉價。網絡

(3)以羅馬人口統計方法管理的數據;架構

古羅馬人想要對羅馬帝國的每一個居民徵稅,因此要作一次人口統計。起初視圖讓羅馬帝國的每一個公民穿過羅馬城門計數。可是古羅馬地域遼闊(當時包括北非、西班牙、德國、伊朗、以色列等等),居民分佈廣,這種方式不現實,須要使用一直集中式處理方法。最終決定組建一我的口統計團,各我的口統計員統一在城門集合,以後被派向各地,在約定的一天進行人口統計,以後在羅馬城彙總數據。分佈式

海量數據處理也是這種方式,將數據處理方式發送給不一樣區域(分區)的數據,實現分佈式數據處理。這樣能夠實現幾乎無限數據量的數據處理。ide

(4)以非結構化格式存儲和管理的數據。工具

總結下來,大數據就是以非結構化格式存儲在廉價介質中的大量數據,須要以分佈式處理方式來作數據計算。

而大數據平臺的建設,要作的事情可就多了,將來還有更多未知與可能性。以前介紹過的數據平臺階段,各個架構設計等都是底部的一小部分。

聊聊這一款能真正匹配大數據性能的BI工具

而爲了支撐數據分析服務的正常運行,帶有敏捷數據集市的BI工具也就要與時俱進了。即便不爲長遠考慮,當下的快速展現問題也需儘快解決。從多個方面看,FineBI與其自帶的Spider引擎,都服務於解決大數據量展現分析的問題。

FineBI是一款自助式分析工具,在功能上將數據準備工做與業務數據分析工做分開。提倡IT部門準備好數據,提供給其餘數據部門或業務部門作自助分析或敏捷開發,讓各個部門發揮各自長處,作各自最擅長的事情。解放IT部門壓力的同時,也能讓業務部門快速得到即席分析結果。

聊聊這一款能真正匹配大數據性能的BI工具

關於Spider引擎的詳細介紹能夠看這裏:《10億數據秒級展現,FineBI5.0的大數據支撐有個「幕後BOSS」!

不少用戶自己就有高性能數據查詢引擎,或業務的實時性要求特別高,那就可使用Spider引擎直接對接數據庫,常規的大數據平臺均可以支持,詳細能夠看上述文章。

然而,不少時候,BI工具須要一個爲靈活自助分析提供的敏捷型數據引擎。也就是須要將數據抽取到中間層中存儲下來,以便計算不受數據庫影響,而且快速獲得分析結果。抽取數據的狀況下,FineBI默認的應用與數據引擎能夠是一臺服務器,數據量在億級之內的狀況下,展現速度十分優秀。因爲沒有網絡傳輸的限制,本地計算效果會優於分佈式擴展後的分佈式計算效果。在數據量激增以後,就須要擴展以後的Spider分佈式引擎,在功能實現上,依舊是將數據抽取到敏捷型數據集市中作分佈式存儲,從而對接前端的分析查詢,實現快速分析展現。

以上的數據抽取或實時從數據庫獲取的方式可靈活切換,即數據既可來自數據庫,也能夠來自中間存儲引擎,且這兩種方式又能夠任意切換,前端分析展現不受影響,從而在BI分析的各類應用場景中更加靈活。

下面迴歸正題,來看FineBI的Spider引擎對於大數據分析的闡釋。

FineBI的Spider引擎基於ALLUXIO 、SPARK、 HDFS等大數據組件,結合自研高性能算法,解決了大數據量分析問題與展現時的性能問題。列式存儲、並行內存計算、計算本地化加上高性能算法,保證在FineBI中快

速的數據分析展現。可橫向擴展節點知足數據增加的需求,從架構上也保證了業務系統整年可正常使用。

下圖來自帆軟靈魂畫手~

聊聊這一款能真正匹配大數據性能的BI工具

(1)大數據量存儲上,首先面對大量級數據存儲,迴歸前面的定義,須要有廉價的存儲方式,能存儲非結構化數據,能作分佈式計算。那首先就想到Hadoop中的分佈式文件系統——HDFS。HDFS的穩定性以及容錯性機制都比較完善,Hadoop 2.X版本以後實現對HA的支持,可作到存儲數據整年可用。天然,其在大數據領域的生態也比較好的~

可是HDFS的存儲仍是基於磁盤的,其I/O性能難以知足流式計算所要求的延時,頻繁的網絡數據交換進一步拖累了計算處理過程。所以咱們引入Alluxio做爲分佈式存儲系統的核心存儲系統。Alluxio之內存爲中心的存儲特性使得上層應用的數據訪問速度比現有常規方案快幾個數量級。利用Alluxio的分層存儲特性,綜合使用了內存、SSD和磁盤多種存儲資源。經過Alluxio提供的LRU、LFU等緩存策略能夠保證熱數據一直保留在內存中,冷數據則被持久化到level 2甚至level 3的存儲設備上,將HDFS做爲長期的文件持久化存儲系統。

聊聊這一款能真正匹配大數據性能的BI工具

(2)存儲上,hadoop的HDFS實現了分佈式存儲,而其自帶的MapReduce計算性能有不足,且沒法以標準格式對接外部應用,SQL On Hadoop 應運而生。其種類繁多,impala、Spark SQL、hive等都是你們熟知的。可是呢,選擇什麼方式不重要,你們的出發點都要可以實現大數據量狀況下的並行分佈式計算。

FineBI的Spider引擎的核心計算部分,也是SQL On Hadoop技術的實現。列式存儲,數據字典壓縮,分區與塊級索引,數據本地化等SQL On Hadoop技術都獲得應用。 類SQL設計與基於BI計算場景的優化,以及結合了內存分佈式計算,使得大數據量下的展現速度達到秒級。

聊聊這一款能真正匹配大數據性能的BI工具

(3)內存計算:大數據平臺中,內存計算服務也是很重要的一個模塊。爲了實現經常使用分析數據與計算場景能夠快速展現,根據上述數據存儲的原則,須要使用到的計算都是在內存中的,從而保證了計算速度最優。同時將不經常使用數據持久化到HDFS中備份下來,也減小了內存資源的佔用。

綜上,Spider引擎既能夠是聯結用戶的數據平臺與展現的中間層,實際不作數據存儲與計算,只將結果進行最終展現。同時也可看做是大數據平臺中的一個內存計算應用,將計算結果展現在FineBI前端。

相關文章
相關標籤/搜索