當前位置:
首頁 > 最新 > 大數據技術詳解比較分析!

大數據技術詳解比較分析!

1. Hadoop 的神話正在破滅

IBM leads BigInsights for Hadoop out behind barn. Shots heard

IBM has announced the reTIrement of the basic plan for its data analyTIcs software platform, BigInsights for Hadoop.

The basic plan of the service will be reTIred in a month, on December 7 of this year.

「IBM把BigInsights for Hadoop牽到牧棚後面,只聽一聲槍響…」

這個是前不久英國知名媒體The Register對IBM 產品BigInsights產品下線的報道。

BigInsights 是IBM在Apache Hadoop上增加了不少IBM分析技術能力後形成的一個大數據分析產品。 在面臨近乎2年的前途未卜的窘境之後,IBM終於決定將其關閉。

無獨有偶,前不久Gartner的一篇文章也指出 「70%以上的Hadoop部署未能天線的業務價值…」

Hadoop大數據是怎麼了呢?

我們從DBMS資料庫管理系統的角度,來剖析下常見產品的能力:RDBMS,MPP,Hadoop,NoSQL以及NewSQL。 這幾類產品對數據處理的能力各有什麼樣的特點?

2. 常見幾種數據技術比較

我們首先試圖對大數據這個被第一濫用的名詞來統一一下概念。按照Gartner的說法,大數據具備以下幾個特徵(3個V):

Volume: 數據量夠大

Velocity: 數據訪問並發夠高,夠實時

Variety: 數據的類型多

從另一方面講,大數據也是數據,對常規數據的管理離不開我們熟悉的ACID事務性來保證對數據操作時候的原子性,一致性,隔離性和持久性。有了這個幾個衡量標準以後,我們可以來對上述幾個產品列表比較一下。

9. MongoDB vs. HBase

事實上HBase正式作為一個NoSQL通常是Hadoop生態系統里用來支持操作型大數據的實時讀寫需求的。可惜HBase 是個扶不起的劉阿斗,跟著Hadoop的大旗沾了不少光,用起來問題一堆:

1、原生不支持二級索引,只能通過主鍵訪問。社區實現的二級索引功能支持和數據更新有時延,導致頭疼的一致性問題

2、寬表模型概念拗考,難於理解並且要求實現建模,不夠靈活

3、數據類型低級,只支持比特流,開發很不友好

4、支持程序語言種類少(Java,Thrift, RESTful API)

5、集群結構複雜,有8種不同類型節點

6、無一致性快照功能

7、需要定時compact,對持續讀寫場景影響很大

因為這些原因,HBase只能在真的是超級大量數據的場景下才值得去忍受著種種不便去使用。和HBase相比,MongoDB也有一些自己的不足:

1、多表事務還在研發中,導致對原子性要求較高需要回滾的時候只能通過變通手段來實現,增加了開發複雜度(所有NoSQL基本都不支持事務)

2、常為讀性能優化而鼓勵冗餘,但是又不提供這些冗餘數據變化時候的自動同步

但是MongoDB在取悅開發者,提高開發效率上可是做的淋漓盡致:支持數十種程序語言;有最大的開發社區;JSON文檔模型是個程序員都懂,API式管理資料庫,非常自然;支持二級索引,關係型資料庫的複雜查詢基本都能支持;MEAN stack,全JS開發;無須ORM,減少服務層和持久化層的摩擦;動態模型,無須顯式建模,適合快速開發;傻瓜式水平擴展。正是這些原因,DBTA 2017年的「讀者最喜歡的資料庫」裡面,MongoDB傲視群雄,奪得了桂冠。

除上述之外,基於分片機制的自動擴容的機制更可以支持數以百TB級的業務數據量;異構資料庫實時同步工具可以把來自於數十個業務系統庫內的數據同步到數據服務層,並提供秒級的數據一致;在同步過程中實現數據模型轉換,快速搭建服務;批量方式或者連接器方式直接接受來自Hadoop集群的分析結果,如個性化標籤及推薦信息等,提高Hadoop的可操作性 等等優勢。

RBS銀行在2015年就開始實施了這樣的DaaS架構,短短兩年時間,RBS聲稱已經獲得了以下的價值:

1、降低的成本:數百萬歐元的Coherence及Oracle商業授權的節省

2、簡化的技術棧:一套方案已經支持了數十個數據應用

3、開發加速:新應用上線時間從12個月到數個星期

與此類似的成功案例還有巴克萊銀行,Vodafone電信公司等,均是在其數字化轉型中經過審慎評估,選擇了操作性強,易用性高,分散式能力可靠的MongoDB作為其新一代數據服務平台。

11. 結語

每一種技術都有它的應用場景,在這篇文章里我們想要討論的是一種操作型大數據解決方案,所以我們花了不少筆墨在NoSQL並認為MongoDB是一個非常不錯的選擇。NewSQL或許會是一個潛在的選擇,如果不是因為現在它還沒發展成熟。況且,NewSQL對半結構化、非結構化數據的需求支持估計也還是無法很好滿足, 所以我們拭目以待。最後,在做一個大型決策的時候,我們要充分考慮到企業對技術能力的需求,把需求列出來,然後對照數據產品各自的長短板,有理論有方法的進行選型,並對最後2-3個選擇進行POC驗證,最終確定合適的方案。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Joelde 的精彩文章:

TAG:Joelde |