BI實時圖表實現數據可視化的原理

不久前,在商業智能實時圖表解決方案的選擇中,我們簡單講了下實時分析的工作流程。今天我們就來詳細討論一下這個話題。

如果你已經使用過實時dashboard,或者正打算建立一個,那麼,這篇文章可以幫助你理解實時dashboard背後的故事以及實時數據如何展現在你的dashboard中,從而實現數據可視化。

除去端到端之間極短的時間,數據實時可視化主要有四大步驟。這裏我們用一張圖來展示。

wKiom1LOGvGxyWdQAAA_m-nM4w0789.jpg

1、捕獲數據流

實時數據流使用 scrapers、collectors、agents、listeners捕獲,並且存儲在數據庫中。數據庫通常是NoSQL數據庫,例如, Cassandra、MongoDB, 或者有時候是你只是Hadoop Hive。關係數據庫不適合這種高展現的分析。NoSQL數據庫的崛起也增強了實時數據分析向他靠攏的趨勢。

2、數據流處理

數據流可以通過許多方式處理,比如,分裂、合併、計算以及與外部數據源結合。這些工作由一個容錯分佈式數據庫系統,比如, Storm、Hadoop,這些都是比較常用的大數據處理框架。但是他們卻不是實時數據分析的理想選擇。因爲他們依賴MapReduce面向批量的處理。不過Hadoop 2.0允許使用其他計算算法代替MapReduce,這樣使得Hadoop在實時分析系統中運用又進了一步。處理之後,數據就可以很可視化組件讀取了。

3、數據可視化組件讀取處理過的數據

處理過的數據以結構化的格式(比如JSON或者XML)存儲在NoSQL數據庫中,被可視化組件讀取。在大多數情況下,這會是一個嵌入到一個內部BI系統的圖表庫,或者成爲像Tableau這種更加廣泛的可視化平臺的一部分。處理過的數據在JSON/XML文件中的刷新頻率,稱爲更新時間間隔。

4、可視化組件更新實時DASHBOARD

可視化組件從結構數據文件(JSON/XML),在圖表界面繪製一個圖表、儀表或者其他可視化行爲。處理過的數據在客戶端展現的頻率叫做刷新間隔時間。在一些應用程序中,比如帶有圖表渲染功能的股票交易應用程序,會預先設置基於數據流的觸發功能。

會不會覺得很複雜呢?只不過這些過程會在幾秒鐘內,甚至更短時間內完成。這些操作因爲不斷進步的數據庫及實時功能變成現實,特別是NoSQL數據庫。再由諸如Storm這種專用於實時進程處理的工具輔助,可以讓其性能效果更上一層能。現在的可視化數據已經支持需求場景,在當今的大數據應用程序中建立了一個實時分析生態圈。

參考資料:http://www.evget.  com/article/2013/12/27/20315.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章