天天看點

淺談BI實時圖表實作資料可視化的原理

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

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

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

淺談BI實時圖表實作資料可視化的原理

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

繼續閱讀