在「2013中關村大資料日」的大資料智慧城市論壇上,雲人科技CEO吳朱華帶來主題"關於智慧城市的思考-即時大資料處理的機遇與挑戰"演講。 他認為大資料在各行業的機遇如下:金融證券(高頻交易、量化交易),電信業務(支撐系統、統一營帳、商業智慧),能源(電廠電網監控、用電資訊採集分析),互聯網與電商(使用者行為分析、商品模型分析、信用分析),其他行業如智慧城市、 物聯網。
吳朱華:非常榮幸來到這個論壇,我是上海雲人科技有限公司的CEO。 因為我們公司這一兩年都是專注于大資料即時分析,我這邊想分享一下在我們眼中大資料的機遇和挑戰,應對大資料的分析,以及一些比較經典的案例。
我的名字叫吳朱華,我2006年、2009年都在中關村軟體園,IBM中國研究院做一些雲作業系統的開發工作。 2009年年底,我從中國IBI中國研究院離職,2010年回到上海。 2010年我寫一本書叫《雲計算核心技術剖析》,我從2011年開始,2012年,2013年到現在,一直在上海組建上海雲人科技的團隊,非常注重大資料的分析領域,推出了一個產品叫Yun table。
接下來給大家講一下大資料分析的一些機遇和場景。 我們這兩年的實踐感覺,現在大資料已經在轉變,從這兩年的大,慢慢的轉變為又大又快。 所以說即時的處理對很多的行業而言,已經是一個剛需。
我們發現只要這個公司有大資料的資產,他一般非常需要即時的分析。 我以智慧城市、物聯網、車聯網為例。 一個城市,大概有十幾萬的攝像頭在城市里面,每秒都會發資料到雲端的資料中心裡面,每天有TB級別的資料需要處理,並且需要即時的回饋,這個場景需要即時處理的技術。
比如說車聯網,我們有一個客戶做車聯網,他大概一個城市每台電腦上,都要裝終端,這個終端每分鐘會發一個路況的資訊發到雲端,要發一億條資料到雲端裡面,並且是每分鐘進行一些計算,即時的判斷路況,給使用者最好的行車建議。
比如金融的證券方面,也需要一些分析。 比如金融交易電話交易是一個主流的方向,我們為一個證券的機構構建了一個非常大的雲平臺,有幾百億條資料放在後臺裡面,可以即時的提供資料的分析,資料的介面,讓他們快速的運行。
比如電信,我們這邊在移動那邊有一個案例。 我們在一個省裡面,我們把一個省的所有上網的資訊,都載入到我們的集權裡面,我們的集權可以把一些統計回饋給他們,支撐他們一些業務的支撐系統,還有商業技能,還有統計相關的。
比如能源的分析,主要用於電廠電網的監控,用電資訊採集的分析。
比如說互聯網的電商他們可以即時的做一些分析,即時的推廣廣告給使用者,他們可以做商品模型的分析,把最好的產品推薦給使用者。 比如說互聯網裡面,有一個商品模型,還有信用分析。 我有一個朋友是做信用分析的,在十幾秒鐘之內把這個人的資料進行一個分析,給使用者做一個評級,迅速的判斷這個使用者是不是值得放貸款給他。
只要這個行業有大資料的資產,只要這個公司有大資料的資產,一般都需要大資料分析的力量,提升綜合的競爭力。
我談一下為什麼需要大資料即時的分析。 第一、即時的決策,量化交易,我可以即時的計算資料,迅速的判斷我是買股票還是不買。
第二、提高業務效率。
第三、對於到資料,我們可以自由的嘗試一些新的演算法,或者是新的策略。 這樣通過即時的嘗試,我們可以快速發現新的觀點和機會。
第四、提供業務產出。 我發現越來越的行業,開始需要這樣的能力。
大資料的挑戰是什麼呢? 什麼是大資料的即時分析,就是在幾秒,或者1秒內完成億萬級資料的處理和分析。 快:10秒以內,100毫秒為佳給出結果。 互聯網公司,百度他們希望100毫秒給出結果。 一些金融機構他們希望微秒給出結果,需要即時的能力,第一點就是快,就是即時的分析。
第二、就是大,我希望我針對的資料量,是10億每TB的級別,是非常龐大的,遠遠超過我們之前對於資料的理解。 之前我們認為資料超過1000萬不算大。 我們現在碰到最大的集權,大概是接近萬億條資料這樣的級別。
第三、希望可以做各種各樣的分析操作。 最簡單的是查詢,也可以是邏輯複雜一些的演算法和資料分析。 這是大資料最重要的三點標準。 第一是快,最起碼是10秒,有一些行業是微秒。 第二個是大,我針對資料量是10億以上、百億TB的級別。 第三、是分析操作多樣。 基本上是這三點,對於有一些行業可能有一些併發,我們曾經為證券公司做了大資料的平臺,說你超過100毫秒以內這是必須的。 所以要實現大資料的即時分析,挑戰是非常巨大的。
有哪些技術可以選型? 第一個是hadoop,hadoop本身是谷歌研發出來的,它是在大資料方面的演算法,他是TB最起碼的,在大方面沒有問題。 並且操作多樣化,因為他上線的工具有很多的演算法都是非常不錯的。 但是它的快比較尷尬,他需要一分鐘以內才可以,他很多要做一個reduce,需要很長的時間。
第二、No SQL。 在大方面,應該可以支撐大。 Hbase可以滿足大的特點,它可以做到一個大。 Hbase底層是資料庫,只能支援簡單的查詢。 Hbase很難做一些邏輯複雜的資料分析和挖掘。 比如說淘寶那邊,他們可能比較有錢,他們用大量的硬體和大量的開發成本,有一套Hbase的資料開發集群。 對於中小企業,和傳統的企業是不的太適合用No SQL做分析的。 它需要巨大的硬體成本和開發成本。
傳統的資料庫甲骨文支援大資料的分析嗎? 支援演算法可以,但是天生對大比較吃力。
介紹一下我的方案,就是叫Yun Table,它支援基於記憶體計算,產品形態方面,也可以認為是新一代的資料倉儲。 Yun Table的核心著力點,我們在設計方面,比較專注兩個方面:第一優化方面,是專注于記憶體,是專注能夠從摩爾定律不斷提升的東西,我們這邊對記憶體SD做了很好的優化。 但是它很貴,我們引入了列存,壓縮比很高,他能把資料壓得很小。 Column storage彌補了前面的高成本。
我們能夠通過硬體的發展,不斷的體現我們在大資料方面的優勢。 第三點特色是比較快,我們可以很快的處理海量的資料,並且可以做資料的統計和分析。 性能上,跟甲骨文相比,我們的單機性能是他的幾十倍,我們做大資料的即時分析。 這是我們幾個比較核心的特性。
第一、我們能夠對大資料,十億行,百億行的資料進行計算。
第二、通用X86的硬體。
第三、可以擴展至百台集群。
第四、PB級別的存儲量。
第五、提供多平臺的SQL驅動、其支援R資料採礦語言。
看一下我們的整體架構,最上端是驅動。 中間會有一個虛擬的IP,能夠讓Mastes Nodes裡有兩個管理。
地層是資料節點,通過一些演算法,到每一個節點上,這些節點都是我們自主產生的。 並且性能的核心價值,都在這裡面體現。
講一下我們的核心技術,為什麼這樣快?
一、並行處理。
二、行列混合存儲。
三、壓縮。
四、記憶體計算。
什麼是並行處理? 一個資料到集群裡面,它自動會分發到各個節點上面。 比如我10個節點的集群,我把一份資料分成十份,每一個節點處理單獨的資料,可以加快10倍。 並且一份資料可以複製多份,這樣任何的節點down機都不會影響業務的完整了資料的連續性。 我們支援最新的指令集,可以進一步的優化,嘗試支援GPU,這是我們的定性處理。
第二是行業混合存儲。 這樣一張簡單的表,裡面有一些名字、歲數、性別三列的資料,先到我們的區域裡面的,我們首先會保證分區。 我們前端是基於傳統行的,我們有行分區,這樣能夠節省很多的開發成本。 之後我們到底層會進行一個轉化。 傳統的行是趙、25、男,我們的後端會把名字存在一起,性別、年齡存一起。 我做一個查詢,我沒必要去找名字跟性別,我找年齡就可以了,這樣一下子減少了三分之二,減少IO量,我只需要我所需要的列就可以,不需要把每個列都讀出來。 還有就是高效壓縮,我們能做一些快速的聚合,我們看出最大的值是31,最小值是24,這時候有一個查詢,是大於32個。 最大的就是31,可以加快整體的運行。
最後就是在列的基礎上,加了一些新的索引結構。 據我們瞭解,傳統的基於位置索引,它的成本會非常高,不一定適合大資料這樣的場景。
這是高效壓縮,我們在列的基礎上面,做一些優化,所以使得我們的壓縮率非常高。 高大7到20倍,並且我們支援多種壓縮的演算法,支援輕度的,也支援深度的。 比如說一些熱資料,我們可以採用競標的演算法。 但是對於一些不大常用的資料,可以把它壓的很小。
如果壓縮資料,我們還需要解壓縮,我們現在是希望不解壓縮,直接進行處理,這樣性能更進一步的加大。
最後就是記憶體計算,現在的潮流就是伺服器越來越多,記憶體越來越多,我們可以通過構建非常大的集群,有很多的資料。 公司核心的業務資料都放在裡面。 之前我們給金融機構做一個大資料的平臺,這大概有10台機器。 我們記憶體大概是2.5T的記憶體量,我們壓縮比是10倍,他能夠降25T的資料放在記憶體裡面,就相當於這個機構10年的業務資料進行處理。 第一點它能夠快速的處理,它能夠做很強的變化,因為都是記憶體,可以做很多併發的操作。
最後講一下,這邊是甲骨文,他對1TB的資料進行分析,需要從硬碟到記憶體需要幾個小時。 一個50頁的表,真正的處理從5頁就可以,我50頁只要5頁,45頁就不需要了,這樣減少了IO的讀取率。
最後也是壓縮,我們是記憶體計算,這樣我已經將1TB的IO,從幾小時算到幾秒。
給大家講幾個比較簡單的案例。 第一個是互聯網,互聯網可以用我們的即時技術作為電商的社交網路。 講互聯網播放效果,即時的監測。 廣告業主可以在淘寶平臺上購買廣告,可以把這些廣告發布到網站上,比如說QQ,新浪,使用者看這個廣告的時候,使用者就會產生一些日誌,這些日誌都會發送到監測的平臺,這個時候監測平臺,就會送到Yun Table裡面。 Yun Table會對資料進行分析。
可以做這些分析,我們看這個廣告點選一次有幾個人,通過我們平時分析這種東西,我們能夠做一些防錯的措施。 重合度分析,多維度的分析。
第二點就是電信運營商,運營商很多系統可以用到。 我們在某個省的移動,它大概是使用者上網投訴系統,使用者我上網我一下發現自己的網費用的很厲害,我可以打10086問一下。 10086會即時的調出他一個月上網的資料,說你上優酷,或者是什麼網站,所以你用了很多。 但是10086他們希望10秒內給出結果,他們之前試了很多。 最後我試一下我們,我們大概是6個節點,放了一千一百五十三億條的資料,我們做一些查詢,都可以在一兩秒之內出結果。 是非常迅速的。
這邊是英特爾的Hbase,他們是放一條資料,而我們是六個節點,是放了一千多位的資料,這是一千倍的差距。
第三點是金融。 我們給每一個國內的證券機構做一個量化的交易。 我們底層2.5T,存了800億條的資料。 我們提供介面,幫他們即時的處理。 我們這10個節點,我們按照30秒的力度,對他一條的交易進行一個匯總,算一下他的價格,和加起來的平均值。 我可以取某個時間端,前50個資訊,我們做一些查詢。 我們都是在100毫秒,50毫秒量級完成。 並且我們會支援併發,我們支援同時有一千人有類似的操作。
我們這個產品Yun Table,能為大資料進行即時的處理,並且我們已經在電信方面有成熟的案例。 歡迎大家交流起來。
(責任編輯:蒙遺善)