孟小峰:云數據管理技術
中國人民大學信息學院副院長 孟小峰演講全文:
大家好,很高興今天來到第二屆中國云計算大會給大家做一個交流。
我們從去年開始在關注這樣的數據庫技術,做了一些初步的探索,今天借這個機會和大家探索。下面是我報告的內容。
首先我們來看信息技術人們總結一下,有這樣的一個規律,每15年發生一次重大的計算模式變革,我聽專家介紹的,我發現確實很符合這個規律,從50年到65年大型計算機時代,80年進行個人電腦計算模式時代,對學術界帶來新的一場革命,研究新的出現。95年互聯網出現到現在又給我們帶來很多機會。
今天我們仍然面臨重大變革,由于處于初期萌芽,我們無法定義和說清楚到底是什么新的計算模式開始出現,已經隱約在思考這個問題,否則不會像今天這樣的場合聚集這么多人,我想每個人看到這個時間點,為了不被歷史落下積極的尋求。
這個時候思考問題,像95年思考互聯網是模糊不清的,對未來看不透的,但是恰恰這個時候一個機會。
云計算大家從概念上和其他技術比較,這些都不重要,因為他正處在初始的萌芽階段,如果什么都被人們準確刻劃和定義不可能成為新模式出現,我們可以看到存在一些挑戰,就是說能夠給人們提供低廉的一種計算資源,尤其是在云計算上至少要聚集幾十萬,幾百萬甚至幾千萬計算機人,我們傳統研究分布式數據庫,128節點,這是我們支持最大的。顯然這樣的幾萬幾百萬的規模下,我相信量變到質變存在,我雖然說不清楚,幾十幾百萬萬節點出現給我們帶來什么挑戰,但存在問題。
最近看到一個例子,我或許對他有所轉變,是講美國一個房地產公司計算一個67萬家庭,12年間的房產數據,按照傳統的做法去搭自己的平臺,購買自己的軟件產品,要做周期和投入是6個月數百萬美元的一個開銷,但是在云計算初始階段我們看到帶給我們的直接便利,最后這個公司租用亞馬遜的彈性計算云的計算能力,通過強大的數據分析,用3個星期不到5萬美元解決了這樣的問題。我在想如果我們真的能夠構筑這樣的計算資源,給人們提供滿足他們需要又如此廉價的服務,我想沒有任何人拒絕,一是我愿意探討這個技術的原由。
簡單看我們面對的一個形式是什么樣的?信息爆炸大家已經感覺到,IDC統計每年有57%的數據增長,意味著每18個月數據將被Double(音)一次,我們面對數據量對我們提出嚴峻挑戰,使我們[FS:PAGE]目前數據庫技術已經不能應對這些蜂擁而至的數據的浪潮。在各個領域都呈現嚴峻的挑戰形式,這是為什么人們積極尋找構建新的云存儲,云數據庫來應付這樣海量數據到來。
數據不斷從前端向后端聚集,PERVASIVE COMPUTING的普及形成了THIN DEVICE的模式,大部分數據被聚集到了一個中心服務的地帶,因此這兩項趨勢造成我們面臨一個巨大的數據集合。
目前數據管理面臨挑戰性方面包括我們如何去應對不斷開展的數據規模,如何提供一種好的可擴展性,如何提供一種好的成本效益的一種服務,如何去支持在這種模式下一種好的容錯能力,以及如何有持續研發的機制。這是新的系統面對的,這是傳統的不能解決的問題。
未來的數據庫,云數據管理系統,我們設想一下應該在這幾方面得到很好的體現,在可擴展性和成本效益方面和容錯性方面持續的簡化能力方面和易于管理方面等等,更重要的是構造新云數據管理要能支持多種形式的應用,這是一個很復雜的問題,因為每種應用需求都不一樣,目前我們在構造云存儲是針對某種應用或者某種情況設置的,顯得有局限性,要構造一個在60年代面對企業所推出的RDBMS,必須要考慮對多種應用的支持,這是很難的問題。
為了繼續這樣的一個研究,我們做的BENCHMARK有全面性,我們看到雅虎一個小組做了對現有的云數據庫系統的一個分析評測,和我們相比很有限。目前來看,在云數據管理上出現的一些技術,大家已經很清楚,主要是有一些企業,由于內部面臨剛才我們呈現的這樣一個海量數據管理問題,限制了DBMS不能支持,根據他們業務情況和需要構造了一些我認為是專屬的一些所謂的DBMS的雛形,像60年代初數據庫技術沒有出現的時候,第一個數據系統是一個文件存儲系統,在對數據管理方面做了一些能力的加強,目前這個情況大致可以類比當時30、40年前的情況。
這些系統如果從劃分來看,典型兩類,一個是基于Google的一個系統,結構用了儲存的方式,此外DYNAMO為主體采用P2P處理結構。
以上這些系統主要應用在如下的一些企業,在構筑自己的一些專有的應用系統。對現有的云數據庫系統我們做一個大致的分類,總的來看,目前我們從市面上可以看到的有開元的,有企業自主開發的,我們認為總的分兩類。一類是DFS為基礎的,在每個節點上管理數據借助現有的DMS管理,在這上借助云計算平臺構建一個云數據庫系統,大致有這樣兩類。兩類中能[FS:PAGE]支持SQL的是這樣的集合。
我們為了做系統評測選取以下有代表性的四個系統。前三個系統大家熟悉,HADOOPDB是耶魯大學一個研究小組開發的一個系統,是基于MYSQL基礎上。
下面簡單給大家介紹這方面情況,HBASE是基于HDFS做存儲,是不支持SQL的,目前HBASE應用很廣泛,在雅虎等等領域得到應用,可以做分析型的處理。CASSANDRA是另外一個代表,支持P2P,不支持SQL魏源清:,另外也很紅火,獨立一支,試圖在數據庫領域創出另外一派,號稱以他為基礎的標志,目前在這些系統上得到很好的應用和體現。
HIVE是支持SQL的。HADOOPDB是基于MYSQL的一個方式,在節點是靠MYSQL,可以支持SQL。從簡單以上幾類系統做一個分析看,按這樣三個分類,在DFS這得的云數據庫方面,他們在以下方面有優勢,在可擴展性,容錯性,數據復制等等方面是非常好的,但是這些系統目前不支持SQL。
DBMS這類云數據庫系統可以比較容易支持SQL,可以容易利用一些優化方法,但是瓶頸仍然在數據存儲上面。此外,在數據復制能力上有限。HADOOPDB結合兩種特性的DBMS,總體看似乎是未來趨勢,但是性能是一個主要問題,這是目前我們需要積極解決的。
我們做了一個很周密的一個BENCHMARK,看他們的性能對比怎么樣,我們的目標是想測不同的存儲云存儲系統在各種條件下的性能對比情況,以及他們在各種學院情況下技術差異性。這是我們搭建的一個平臺,有20個節點,采用的操作系統是LINX系統,測試系統基本用最新版本,HADOOPDB是一個學者自己開發的,并不是很完善。
BENCHMARK我們做第一個方面是看各個系統在讀寫能力的差異,和可擴展性方面的表現,數據集采用的是一個5G大小的一個DABO(音),有個測試系統有兩個系統,主要是想測試主從機構和P2P結構呈現什么優勢。這是一個基本結構,HBASE的執行情況,總的來看,HBASE讀的性能要好于寫性能,我們在寫的方面初始順序寫和正常順序寫方面,初始順序寫的代價很高,之后性能會穩定下來,這是由于他的結構造成的,這是我們得到的一些基本的一些結論。順序讀很快。
這是HBASE擴展性的表現,在10、15、19個節點,因為有一個節點作為MAST,我們是看這樣的情況下,他們的讀寫性能的一些表示,總的趨勢還是增長的。這條線很奇怪,在5個10個15個節點還好,但是到19個節點,SCAN下降,原因怎么樣,這些結構剛剛得到我們沒有做詳細[FS:PAGE]分析。這個圖和上面一樣,是看每一個節點上的性能表現,在5個節點的時候我們看每個節點的量的情況。這是CASSANDRA的情況,和HBASE比,寫性能明顯有優勢,但讀性能相應的要差一些,這是兩個系統的根本區別。
這是CASSANDRA的一個能力,在5、10、20個節點性能表現。這方面實驗很多,這組實驗主要是做測試,他們在SQL支持的能力,我們構筑三個表,測試系統有4個系統。我們看能力表現是什么形式。
這是第一個圖,從這里可以看到四個系統讀寫能力情況,目前來看,我們說在紅色這塊的性能最好。這是對SELECT的查詢,的一個測試情況。這是對GREP查詢是一種模糊查詢,數據庫中是一個LIKE查詢,效率比較差。
還有一個有意思的結論,這是一個容錯的測試,我們在系統運行過程中,制造一個故障點,看系統重新執行的性能表現,從這個圖看CASSANDRA容錯能力強,藍圖是正常時間,紅圖是故障情況下的執行時間。這個測試我們說很困難,我們也是費很大盡做的。
我們介紹我們實驗室基于上述分析和考慮,以及對系統對比我們給出一個原形系統架構,我們基本考慮提到的,我們希望設計一個云數據庫系統支持多種應用形式,能夠針對分析型的應用,也能夠針對流媒體的應用,也能針對頻繁訪問的WEB2.0的應用,包括需要很強移植性的應用,這樣的情況下我們怎么樣構筑高效的可靠的容錯的系統。
我們項目目標是要去開發一種新的數據庫系統,能夠支持下一代的數據存儲和管理,可以應用到一些領域上。為此我們設計了一種叫雙核結構的太極,命名為太極系統,主體思想是力圖把HBASE和CASSANDRA優勢結合起來,構造一個有效的體系能夠支持多種應用的一個需要,為什么用太極,因為很能夠反應我們這個思想,太極是陰陽兩態能夠和諧一致共存。太極更重要體現了由混沌到有序的思想,因此這正是我們要構筑我們的太極DB的核心理念,整個系統架構很簡單,三個層次,在數據存儲層,這個側訊是能夠支持SQL。
這是這個結構的具體架構,是對剛才結構的細化,包括了前端的用戶接口,可以支持SQL支持一些API,我們架構一個查詢處理層,有一些管理。
我們在存儲層和查詢處理層間構筑了一個統一的執行引擎,使得能夠把我們所謂的雙核結構有效統一起來,支持SQL執行的需要。
這是一個總體結構,這面我們也有相應的一些管理工具配合整個系統執行,這是我[FS:PAGE]們目前初步有了一個系統,在這個系統里,用戶在我們系統里可以支持兩種存儲結構,用戶可以致用用SQL用,這樣的數據出來為我們應用開發帶來多大的便利。這是一個很長遠的目標。
歸納一下我們的工作,就是試圖去構造一個更優化的存儲的系統來支持數據庫的查詢技術,最主要是我們能夠支持多種應用這里有很多研究問題,包括雙核結構如何共存,怎么樣能夠有效支持用戶應用,需要用戶自己選擇。在這方面有一個很重要的工作需要開發,一個云模擬環境,我們在實驗室里構筑20節點我的實驗室構造不出幾萬幾十萬節點環境,真實云計算環境沒有幾萬幾十萬規模不能談,如何開發出一個可為大家共用的云模擬平臺,能夠在20到100節點上開發一個模擬出幾萬幾十萬的一個云仿真系統是非常現實的課題,誰先做出來,企業界和學術界都會為他拍手。
這是我們目前小組開發團隊。謝謝大家。
提問:您提到很多數據庫,數據庫比較大的是Oracle沒有提到,你認為云計算數據庫,Oracle沖擊是什么?以前我們很多應用,現在要轉到云數據庫方面你們有什么建議?
孟小峰:
技術趨勢變革是無人能比的,目前我們在云數據庫方面研究完全在一種新的平臺和新架構,新應用模式上開發,Oracle是那個時代,找到機會并且開發了這個平臺,Oracle有能力把握現在一個新的挑戰。至于現有的基于傳統數據庫是不是適用于未來,這需要兩方面努力,我們其實在開發系統就想達到這樣的目的,使得原有的應用能夠平滑的移植到云平臺架構上,為什么我們著力開發一種這種存儲能力,能夠支持SQL,就是使原有技術能夠方便移植。
相關文章
RFID技術推動智能電網建設
隨著科技水平與生活水平的不斷提高,地球也付出了環境污染、氣候變化、能源枯竭等方面的代價,環保與能源問題成為不可回避的重要母題。而電網作為人類社會最大的能源輸送樞紐,對我們的日常生活和活動有著無比的重要性。因此,提高電網的利用率...