騎樂無窮

上帝不響。如歌單車。
Tune Your Ride. Every Day. Amen.
"Bicycling: Big Brainpower Booster."
個人資料
stillthere (熱門博主)
  • 博客訪問:
歸檔
正文

大數據時代的數據管理

(2011-10-19 21:01:31) 下一個

大數據時代的數據管理

作者 劉慶 發布於 2011年10月24日

領域
 
架構 & 設計,
 
運維 & 基礎架構
 
主題
 
實時 , 
架構 , 
大數據 , 
數據倉庫 
標簽
 
數據存儲 , 
數據倉庫 , 
關係型數據庫 , 
數據庫 , 
《架構師》月刊

不知怎麽地,大數據,Big Data這個詞就變得流行起來。


以前,不說國內,就算是國外,做BI也大多是局限在幾個大行當,電信、金融、零售、政府,他們需要數據來幫助自己理性決策。在國內很長一段時間裏,更是僅限於電信和金融兩個行當。可是尷尬的地方在於,決策者有時候更願意相信自己的直覺,而非數據。這種意識雖然逐漸在變化,可從來沒有發生過根本的變化。意識的變化是艱難的。當一些新興行業的介入,他們對數據的利用方式,價值的榨取,讓人看到數據分析不僅僅用於輔助決策,而是可以從數據中獲得收益了,它已經不再是一種錦上添花的東西了,那正是因為大數據時代的到來。這得感謝互聯網以及還未興起的物聯網,在這些行當裏麵,數據在爆發,不斷增長。他們不甘心隻是如報表、OLAP、儀表盤之類的分析應用。數據分析部門可以按照推薦係統的點擊效果利潤分成;交易的數據可以包裝成分析服務銷售給商戶,讓他們自己去洞察市場商機;根據用戶的點擊流行為和上網內容,個性化廣告布放等等。

處理大數據慣常是屬於商業智能(BI)的事情。抽取數據、挖掘數據,製成報表、OLAP、儀表盤、挖掘模型,作為輔助決策之用。不過在BI領域都不這麽叫法,大夥兒都說海量數據,Large-scale Data。這聽起來還是略顯學術氣,不如Big Data來的通俗——大數據。這大概是因為如今隨處可見的數據,一種爆炸效應帶來的結果,已經脫離某種專業的範疇,人們需要用更簡單的術語來命名這種數據爆炸。這給不溫不火的BI帶來一些新的刺激,讓BI人看到一些希望。

就在剛過去的9月,TDWI(數據倉庫學院)發布了2011年第四季度最佳實踐報告,而這份最佳實踐的主題正是大數據分析。TDWI會通過調查問卷的方式,對全球範圍的企業調查,目標對象既有IT人,有業務單位的人,也有谘詢顧問。問卷的問題一般都會詢問企業應用BI技術的實際情況,現在如何,計劃如何。所以,這類最佳實踐報告可以反映出當下某項技術的現狀和趨勢。報告的內容也遵循一定結構,一下定義,二看現狀,三分長短,四談趨勢,最後再來個廠商介紹。同樣,這份大數據分析的最佳實踐報告也是如此結構。

其中關於“大數據”的定義,值得關注。如果我們僅僅從字麵上看,大數據似乎跟海量數據差別不大,僅僅是變得更加通俗?並非如此,這份報告給出一些區別,TDWI賦予這個術語更多的含義,更多符合目前數據爆炸時代的含義。

大數據的3V

Big Data的3V。大數據有3V的特性。

Volume、Variety、Velocity。這3V表明大數據的三方麵特質:量大、多樣、實時。對,不光是數據量大了。對TB、PB數據級的處理,已經成為基本配置。還能處理多樣性的數據類型,結構化數據和非結構化數據,能處理Web數據,能處理語音數據甚至是圖像、視頻數據。實時。以前的決策支持時代,可以用批量處理的方式,隔夜處理數據,等決策者第二天上班,可以看到昨天的經營數據。但現在的互聯網時代,業務在24小時不間斷運營,決策已經不是第二天上班才做出,而是在客戶每次瀏覽頁麵,每次下訂單的過程中都存在,都會需要對用戶進行實時的推薦,決策已經變得實時。

這個定義非常完美,形式上也很漂亮,3個V。

可細細想想,這每個方麵的V,難道不是傳統BI一直在試圖征服的嘛?也許所謂大數據時代,是新瓶裝舊酒。隻是換了一個稱呼,而具體要解決的問題,仍是那些存在已久的問題。可畢竟大數據時代轟轟烈烈地,踏著舊的海量數據浪潮而來,而且這將是更高一浪。平常人站在下麵,是否會腿腳發軟,或是識破浪頭的力度,來個漂亮的轉身衝浪呢?

大數據管理的需求與挑戰

在這樣的大數據時代,數據仍然是最關鍵的。如何將大數據管理好,仍然是對企業的考驗。

無處不數據。手機通話、移動在產生數據,ATM在產生數據,商品上的RFID在產生數據,包裹從一個城市到另一個城市在產生數據。就算是一個小小的店鋪,當它銷售出去一瓶水,也可能會記錄到Excel裏麵,產生了數據。數據記錄這世界的存在和變化。

當企業的某項資產非常重要,數量巨大時,就需要有效管理。如今,數據已經成為這種資產。以前人們還不會將它看做是資產,而是一種附屬物。客戶來辦理業務,在係統中產生了這種附屬物。而現在,發現在客戶辦理業務這條信息中,蘊含這一些客戶的需求,成千上萬條這類信息累積下來,就能洞察客戶所需,為設計新產品,為客戶個性化營銷產生新的價值。數據變成一種資產了,需要被管理起來。

數據倉庫是管理數據的工具。在近二三十年裏,以某種類似蝸牛的速度爬行,它始終還是貴族家的玩具。隻有那些多金的買主才會為它買單。這讓數據管理變得高高在上,數據當做資產隻是停留在理念層麵。人們還在爭論著,數據倉庫能夠給我們帶來什麽?

我自己曾總結過一句話,體現數據倉庫的六項價值——“能快速、及時、方便、準確而安全地訪問整合過的數據。”現在看看,發現這個描述還蠻符合大數據時代,對數據管理的需求。

而這六方麵價值也對應了不同的技術領域。

  • 數據倉庫硬件、軟件、模型要保障對數據的快速訪問。比如專用設備,按照數據溫度選擇數據是否高速存儲,采用特殊存儲技術;
  • DW模型確保數據的整合性,當你需要企業視圖的數據,需要以年為周期的數據,需要數據模型的支持;
  • ETL保障數據及時性。批量的ETL已經不足夠,需要準實時,甚至是數據流式處理;
  • 元數據管理讓數據訪問更方便,不僅僅將數據以表、字段的方式管理,要將數據切分地更小,可管理;
  • 數據質量管理保障數據的準確一致,讓數據可信;
  • 數據倉庫架構、權限管理保障數據訪問安全。

大數據時代對六項價值之一——快速訪問數據的性能,有明顯推動。人們最迫切的希望還是從無到有,從慢到快吧。讓數據唾手可得。

數據庫技術在變化

傳統數據庫並未專為數據分析而設計,數據倉庫專用設備的興起(Data Warehouse Appliance),如Teradata、Netezza、Greeplum、Sybase IQ等等,正表明麵向事務性處理的傳統數據庫和麵向分析的分析型數據庫走向分離,涇渭分明。數據倉庫專用設備,一般都會采用軟硬一體,以提供最佳性能。這類數據庫會采用更適於數據查詢的技術,以列式存儲或MPP(大規模並行處理)兩大成熟技術為代表。另外,新興的互聯網企業也在嚐試一些新技術,比如MapReduce技術(這得感謝Google將它發揚光大),Yahoo的開源小組開發出Hadoop,就是一種基於MapReduce技術的並行計算框架。在2008年之前,Facebook就在Hadoop基礎上開發出類似數據倉庫的Hive,用來分析點擊流和日誌文件。幾年下來,基於Hadoop的整套數據倉庫解決方案已日臻成熟。目前在國內也有不少應用,尤其在互聯網行業的數據分析,很多就是基於這個開源方案,比如淘寶的數據魔方。而在一些商業性的產品中,也已經融入MapReduce技術,如AsterData。

低廉的數據倉庫解決方案降低了數據管理的門檻,長尾的中小企業不一定非得去跟Oracle、IBM這樣的大公司去談高高在上的價格。開源的產品,配置足夠的硬件存儲,有一支專業的服務團隊,就可以架構一個數據倉庫平台。在去年,就曾有多位朋友向我谘詢的數據倉庫方案,他們有一個不約而同的期望,價格不要太高。他們有服務團隊。我沒有其他推薦,隻有推薦Hadoop。

還有一些其他的技術可以讓數據訪問性能提高,比如數據溫度技術,可以區分經常被訪問和很少被訪問的數據,經常訪問的就是高溫數據,這類數據將存儲在高速存儲區,訪問路徑會非常直接,而低溫數據則可以放在非高速存儲區,訪問路徑也可一些相對複雜一些。近兩年,存儲訪問的技術也在變化著,比如Teradata前幾年推出固態硬盤數據倉庫,用接近閃存的性能訪問數據,比原來在磁盤上順序讀取數據快很多。後來又興起一批內存數據庫產品,這類產品在DBMS軟件上進行優化,規避傳統數據庫(數據倉庫)讀取數據時的磁盤IO操作,再次大大節省訪問時間。比如SAP的HanaBI、Oracle的TimesTen、SolidDB、extremeDB、Altibase。

文本、語音、圖像、社交網絡、地理位置…大數據時代的數據類型如此豐富。用關係型數據庫存儲這類數據,再深入去分析挖掘這些數據,開始有些負累。

於是,越來越多的NoSQL數據庫湧現出來,其中很大一部分是用於分析用途。比如西班牙有個小廠商,叫illumnate,他們擁有一個叫Correlation DBMS的數據庫產品。它不像關係數據庫那樣按照表、字段存儲,那樣冗餘很大。CDMBS的做法是,針對每個不同的值,隻有一個地方存儲,而所有對這個值的引用,都在索引中記錄。比如有個客戶的姓名叫“張三”,而還有一個公司名字也叫“張三”,那麽在CDBMS裏麵,隻存有一個“張三”這個值,但在索引裏麵記錄了有兩個地方引用它。這種數據庫是專門為分析而設計的。因為不存儲冗餘數據,所以它對於海量數據,非常節省空間。如果說這個有點不太吸引人的話,另一個據稱的優點就是做ad-hoc查詢非常快捷。

社交網絡很火熱,Facebook、Twitter、QQ、MSN,甚至是普通的電信通話、郵件,都構成社交網絡。人們決策的一個重要依據其實就跟社交群體相關,周圍人的決策會帶動你的決策,用社交網絡理論來做決策支持是一個重大方向。

用關係型數據庫來存儲社交數據有點吃力。我跟你打電話,“我”是一個“用戶”的實體,“你”是另一個“用戶”的實體,我們之間存在了“通話”的關係;“你”還可能跟“她”發生了關係。但社交網絡的分析還需要關注圈子、關係緊密度…… 人們想從中找到人與人之間的關係、圈子,是不是一個家庭的,是不是一個公司的,是不是情侶關係。甚至還要去發現一個人的重要程度,是否具備某種影響力。用實體關係來表述這種社交網絡需要繞些彎路轉換。所以,自然出現了一種圖數據庫(Graph DBMS)。數據按照節點、關係和屬性鍵值存儲。開源產品Neo4j就是這類GDBMS。基本上這也是一種鍵值數據庫,也就是說其最底層數據存儲都是按照key-value存放的,這種存儲方式是比較適合並行處理,適用於分析。而graph database的重要特點就是內置了常見的graph算法,它的存儲結構讓這類算法性能倍增。可想,未來也許會出現專為圖像分析而出的數據庫,專為視頻分析的,等等。

數據的量越來越大,種類越來越豐富,大數據時代需要新的數據管理手段。列式、MPP的關係型數據倉庫在改變著,NoSQL的CDBMS、GDBMS也試圖在改變著。關係型數據庫是企業IT建設時代的數據管理基石,而在Big Data時代,也許需要一種新的,正在探索中的數據管理基石。

作者簡介

劉慶(網名:Q),定居合肥,BI獨立顧問,兼職於Teradata,從事電信業的BI谘詢服務工作,入BI一行10餘年,早期研究BI架構,近些年偏重業務分析。另一身份為ttnn BI論壇創辦人,寫寫文章,編編雜誌。

[ 打印 ]
閱讀 ()評論 (2)
評論
禦樹林楓 回複 悄悄話 謝謝分享。
下一站 回複 悄悄話 好文章,讀後很有啟發,謝謝分享
登錄後才可評論.