1引言
大數據無疑是2012年科學技術領域最熱門的一個術語。在IT領域,它也是繼高性能計算機、互聯網、網格計算、云計算之后又一被大眾所關注的技術術語。從某種意義上而言,大數據已經遠遠超出了技術范疇,變成一個賦予各種意義的流行詞。大數據這三個字本身傳遞的語義信息很有限,“大”和“數據”都是極其常用的詞,兩個詞組合起來,字面上也沒有辦法直接表達出確切的特定含義。我們認為,這正是大數據這個詞語的妙處所在,它使得不同領域、不同背景、不同身份的人可以用同一個術語來表達自己的思想。也就是說,不同的人可以從不同的角度有各自不同的解讀,加之媒體連篇累犢的報道使得原本就不甚清晰的概念變得更加撲朔迷離。但總的來說,它至少給人們傳遞了一個重要的信息,那就是,信息技術的發展由“計算”轉向了“數據”。長期以來,數據庫處于數據管理領域的重要地位,因此有必要從數據庫的角度對大數據以及相對應的大數據研究進行比較詳細的
解讀,厘清一些似是而非的概念,這就是我們撰寫本文的口的所在。
在開始從數據庫視角解讀之前,首先來看看其他專業人士群體對大數據的理解。談論大數據的群體大約可以分為三類:第一類是戰略科學家,包括科技管理專業人士和政府官員。這很容易理解,數據中蘊含著無窮的價值,關乎社會經濟和民生發展乃至國家安全,數據是重要的戰略資源,對數據的擁有以及對數據價值的有效開發決定一個企業、一個機構和一個國家的核心競爭力。第二類是IT產品提供商,包括技術和產品提供商,信息系統集成和解決力一案提供商,還有信息服務提供商。大數據是個很親民的詞語,沒有拗口的發音和故弄玄虛的復雜語義,作為產品和服務的嶄新標簽再合適不過。技術、產品和服務的演變是漸進的,在這個追逐日新月異變化的時代,IT產品提供商往往喜歡為產品打上時髦的標簽,在當前,大數據是廠商們的不二選擇。在此之前,digital internet、 web,grid 、 cloud等都被他們用來做過標簽。第三類就是科技人員,主要是那些希望利用大數據使當前從事的研究力一向取得新突破的科學研究和技術開發的專業人士。現在的科學研究和實用技術絕大多數都是和數據直接或問接相關的,把所從事的研究和開發工作歸結到大數據范疇,不但可提高層次,賦予研究和開發工作新的使命,也可以讓大眾更容易理解其意義。從這個意義上來說,大數據這個概念就像一把傘,可以把原本互不相交的概念罩在一起,形成一個新的概念。
我們把時問回退到2012年底,僅從12月當月媒體的相關報道就可略見一斑,了解大數據深入人心的程度。據2012年12月2日的參考消息報道,在美國的2012十大流行詞評比中,“大數據”名列第二,第一是美國人最為關心的政治事件“財政懸崖”。關于大數據的描述,翻譯好的原文是這樣的,“最簡單講,這是用來形容如今產生的海量數據的 一種力一式,我們生活在大數據時代。具體一點來說,大數據所指的數據集既可以無邊無際得讓我們無從發掘有用的信息,也可以翔實全面得讓我們能做些全新的事情”。關于神州大地的大數據之熱難以詳述,僅通過當月的兩則報道做以折射,據2012年12月14日光明日報報道,陜西西咸新區規劃國內首家大數據產業園。報道稱,為迎接大數據時代的到來,推動大數據產業的發展,陜西省西咸新區洋西新城規劃了國內首個大數據處理與服務專業園區,在全國率先舉起大數據產業旗幟。就在同一天,在我國改革最前沿的廣東省的2012廣東互聯網大會上,廣東省通信管理局副局長蔡立志說了一句讓現場與會觀眾振奮的話,“(廣東)省委省政府、各級市縣政府對于信息互聯網很重視,省政府層面也要成立大數據局”。2012年12月15日的羊城晚報對此事的報道引起了廣泛關注。
在這樣的背景下,我們想以開放的態度,站在數據庫研究者的角度,從以下幾個力一面進行大數據的解讀。首先討論大數據是個什么樣的概念,說明它是如何誕生的,作為一個概念,它有什么樣的內涵和外延。其次是討論與大數據相關的一些熱點問題,比如說,云計算與大數據的關系,大數據與非結構化數據的關系,NoSQI二與大數據管理技術等。我們還會重點回顧Hadoop的發展歷史,分析其技術本質,從而深入分析它在大數據管理中的貢獻和地位,說明Hadoop只是大數據管理的一個成功案例,它和傳統數據庫一起為新形勢下的大數據管理提供了思路上的啟發。然后,通過對傳統數據庫發展歷史、根本口的以及發展成就的回顧,說明大數據和數據庫的發展是一脈相承的,大數據研究是傳統數據庫回到起點后的重新出發,這個原點就是文件系統。最后,陳述我們對于大數據研究的理解,分別針對Web數據、決策數據和科學數據三類大數據,說明大數據研究是典型的應用驅動的,應該根據現實的應用需求確定可能的研究力一向和研究內容。結束語部分給出了一些關于大數據研究的觀點。
2大數據概述
2.1什么是大數據?
這是個很自然的問題。從認識論的觀點來看人們總喜歡用類比的力一法來學習,利用己有的一些概念來理解新的概念。海量數據(信息)是不是就是大數據?數據密集型計算所涉及的數據是不是就是大數據?非結構化數據是不是就是大數據?在學界和業界都很受待見的“Hadoop +HDFS +Map/Reduce”是不是就代表了大數據技術的全部?還有,云計算和大數據有什么樣的關系?要回答這些問題,我們就從大數據概念的誕生談起。
2. 2大數據概念的誕生
大數據概念的提出可以追溯到20年以前,但引起關注是近幾年的事情。2008年9月4日《自然》(Nature)組織了一個名為“Big Data”的專題。2009年7月O'Reilly Media出版社出版了一本名為"Beautiful Data',的書。2009年10月微軟為紀念2007年1月在舊金山灣區大海中失蹤的圖靈獎獲得者Gray J,出版了一本名為“第四范式一數據密集的科學發現(The Fourth Paradigm-Data Intensive Scientific Discovery)"的著作。Gray J是數據庫領域獲得圖靈獎的第三位科學家,他在事務處理領域做出了杰出的貢獻,奠定了現代數據庫管理、系統理論和技術基礎。作為計算機科學家,Gray J生前在科學數據管理和分析力一面是開拓者和先鋒:NASA的太空和海洋觀測數據系統是他領導設計的;主持了著名的全球射電望遠鏡聯合觀測系統和外星生命探索系統的設計和實施;領導了谷歌公司的Google Earth系統的開發和使用。這就是為什么在他2007年1月28日駕駛游艇前往Farallone島的途中毫無跡象的失蹤后,美國海岸警衛隊在立即開展了三天全面徹底專業的搜尋無果后宣布放棄,而NASA和Google還繼續用他們的系統進行了長達數月的搜尋。
在國際上,2011年2月11日發生的兩件事可以用來說明大數據在當前科學研究和信息服務中的重要性。這一天在美國出版的《科學》(Science)雜志刊登了一個名為數據處理(Dealing with Data)的專輯,《科學》還聯合《科學一信號傳導》(Science; Signaling)《科學一轉化醫學》( Science;Translational Medicine)和Science Career、推出相關專題,其主題是圍繞口前科學研究數據的爆炸式增長展開討論,說明大數據對科學研究的重要性。也在這同一天,在美國很受歡迎的智力競答節目“危險邊緣(Jeopardy)”電視節口中IBM的“沃森”計算機以絕對優勢戰勝兩名人類頂級選手,這使得繼“深藍”計算機1997年戰勝人類國際象棋大師加里·卡斯帕羅夫后再次引發關于機器能力的關注。和14年前的“深藍”相比,“沃森"除具有超群的計算能力外,更擁有超大規模的數據處理能力。
在學術界,2012年3月29日也是一個特殊的日子,在這一天,美國總統科技政策辦公室OSTP(Office of Science and Technology Policy)宣布了每年投資兩億美元的“大數據研究計劃(hig Data R&D Initiative)",這一整合了NSF, NIH等部門原有計劃的研究計劃在國際上產生了重大的影響。同一天,我國科技部發布的“‘十二五’國家科技計劃信息技術領域2013年度備選項口征集指南”把大數據研究(主要側重在存儲力一面)列在首位。美國大數據研究計劃的宣布使大數據熱達到一個高潮。
從以上的描述可以看出,大數據最初主要討論的是與科學發現有關的數據,也就是我們說的科學數據,這也是為什么包括我國政府在內的各國政府高度重視的原因所在。在當前,國家問的競爭主要是科學技術的競爭,如果大數據研究的部署有助于提升科技能力,相信每個國家都會大力支持。但是,“大數據”發展至今,己經超越了科學數據的范疇,成為一個時髦的術語(Buzzword),成為工業界與學術界共同關注的熱點。從另外一個角度來看,“大數據”很好地概括了當前數據管理領域問題的重要性和多樣性,說明數據問題在研究和應用上具有空前的深度和廣度。也就可以說,大數據是個合適的傘(Umbrella),它有較廣的覆蓋面。大數據將信息技術的重點轉移到數據力一面,但己經大大超越了傳統數據庫的理念。
2. 3大數據概念的內涵和外延
大數據這一概念的內涵可以用大數據的4V特點:Volume、Variety、Velocity Veracity,來描述。第一個V是說的數據量,從TB級別躍升到PB級別或更高的EB級別。第二個V的含義是數據類型繁多,來源各異。來自網絡的網頁、日志、圖片,來自傳感器的監測數據、視頻信號、地理位置信息,來自日常運營系統的各類信息等等組成了一個大數據集。第三個V是講處理速度或是說響應速度。很多應用提出了實時響應的要求,或是實時反應(Human Realtime)的要求,比如說一些公共設施的安全監測系統和服務系統的安全監察系統,就需要及時地反應。第四個V是講數據的可信性和可用性,產生數據的技術手段和力一式越來越多,設備的準確性、系統的一致性會對數據的質量產生重要的影響,特別是各種UUC:(用戶生成內容)的質量問題更加嚴重,如何保證數據的可用和可信至為關鍵。這些都是傳統的數據庫和數據倉庫時代沒有的問題,這些特點決定了大數據的內涵。
描述一個概念的外延往往是通過枚舉那些屬于這一概念的實例來進行的。可以認為,與應用密切相關的各類數據都屬于大數據范疇,大數據強調支持實際應用所涉及到的多個來源且相互關聯的大量、高速、異構數據。從生產生活中的用途來分,所涉及的生產數據、設計數據、統計數據是大數據;用類型來分,數據庫和數據倉庫中的結構化數據、文件系統中的文本、多媒體數據、各種文檔數據也都是大數據;大數據的例子還包括網絡日志、RFID數據、傳感器網絡數據、社交網絡數據、互聯網搜索索引、呼叫詳細記錄等。諸如天文學、大氣科學、基因組學、生物地球化學、生命科學和其他復雜或跨學科的科研實驗和觀測數據,軍事偵察、醫療記錄、攝影檔案、視頻檔案和大規模的電子商務系統產生的數據都是大數據。物聯網、云計算、移動互聯網、智能手機、平板電腦、PC以及遍布地球各個角落的各種各樣的傳感器,無一不是數據來源或者承載的力一式。其實,世界上凡是可以表達出來的信息都是數據,當為了一個具體的應用而需要把大量的不同類型、質量各異的數據及時進行處理時,這些數據就進入了大數據的范疇。
2. 4大數據的分類
要討論上述種類繁多的數據,從認識論的觀點出發,首先就是要建立數據譜系,進行分類。對大數據進行分類很有必要,這是確保大家在討論同一目標的前提。我們認為,大數據大致可以分為三類:Web數據、決策數據和科學數據。顧名思義,Web數據是與Web相關的數據,包括網頁、鏈接、日志等具體類型,門戶網站、搜索引擎、社交網絡、電子商務等以Web形式呈現或以Web為載體的新型信息服務系統產生的數據大多可以歸納為此類型。決策數據主要指以前由傳統的數據庫和數據倉庫管理的數據,也即商務智能(BI)數據。科學數據是指各種科學活動中所產生的數據,包括科學實驗數據、科學觀測數據、科學文獻數據、設計數據等等,非領域專家難以染指,即使IT專家自創一套,也很難得到領域專家的認可,
生物信息學就是一個例子。
按照以上分析,我們可以把大數據的分類用圖1來示意。
圖1.大數據的分類
就Web應用而言,傳統的電子商務系統和搜索引擎應用以及正在興起的社會網絡和社會計算是典型的“以數據為中心”的應用。電子商務和搜索引擎廠商己經經過了早期的粗放式的、僅僅依靠創新的商業模式就取得成功的發展階段,他們的核心業務己經變成了商品推薦、客戶關系管理、促銷策略設計、廣告關鍵字競標、廣告投放等。而這些業務完全依賴于海量的客戶行為數據以及Web內容和結構數據的分析。社會網絡和社會計算則是更加綜合性的應用,交互性更強,數據的產生和來源也更多。其成功的商業模式必然需要精細的快速的數據處理和分析。除了商業應用外,社會網絡和社會分析對于政府把握民眾意愿、了解社會熱點問題、改善管理、及時化解社會矛屑等具有重要的意義。
在商務智能力一面,隨著技術的進步和理念的更新,大型數據中心的建設己被大型跨國跨地域企業、政府服務機構提上議事日程。在我國,中石油、中石化等大型企業以及各大銀行己有各自的數據中心。業界提供的服務計算和云計算架構以及相應的技術為大型數據中心的建設提供了技術途徑,政府或半政府的機構為推進中小型企業這一創新群體的發展也正著手建設公共的云計算數據平臺,把中小型企業從繁重的信息管理中解脫出來,以便他們降低成本,集中力量發展各自的主業。在我國,物聯網技術的推廣應用所帶動的智能電網、智能交通、智能醫療保健等事業的發展依賴于大型數據中心和新型商務智能能力的建設。
針對科學研究,科學實驗數據的共享以及跨地域的科學協作研究在互聯網時代己經成為一個潮流。傳感器網絡等各種數字化科學數據采集手段的發展使得科學實驗數據的產生更加便利、全面和及時。在互聯網環境下對海量的科學數據和科學文獻進行集成和分析并支持協同合作研究是我們面臨的一個重要問題。
大數據研究的顯著特征是它與應用密切相關。我們用圖2來說明大數據的應用場景。
圖2.大數據的應用
3與大數據相關的幾個熱點問題
人們經常會問,大數據是不是就是非結構化數據?云計算與大數據有什么關系?NoSQL二是不是就是處理大數據的技術等等問題。從認識論的觀點來看,這是自然而然的問題,通過與熟悉事物的比較來認識陌生的事物是人們常用的學習力一法。這也是為什么不同知識背景的人對同一事物有不同認識的原因所在。本節我們嘗試回答上面提到的這些問題。
3. 1非結構化數據與大數據
首先我們要弄清楚什么是非結構化數據。個平凡的答案是:那些除了結構化數據以外的數據就是非結構化數據。這樣問題又變成了,什么是結構化數據?這便觸及到了數據庫的核心。
從某種意義上來說,結構化數據和非結構化數據并無截然的界限,而是因為人們對數據的認識程度不同所致。數據本來就是對客觀事物的一種表達和表示,結構化數據指的就是那些有組織的數據,也就是那些表示可以按照某個模型組織起來的數據。所以說結構化數據就是數據可建模,通過數據建模進行語義抽象,從而達到模型和實例分離的口的。在數據庫領域,這是一個基本理念,要有一個數據模型。數據庫人說的數據模型不是泛泛而說的那種模型,正如數據庫本身也不是泛泛的概念,它們都有獨特的含義和理論背景。數據庫中討論的數據模型由三部分組成,分別是數據結構、操作符、完整性約束。數據結構就是數據字面上的表示,或者說詞法意義上的表示,數據的語義是通過數據結構上可支持的操作符,以及這些數據結構在變化過程中所需遵循的完整性約束來體現的。這在關系數據庫中體現得非常貼切。二維表結構就是關系模型的數據結構,簡單明了;關系代數操作就是二維表數據結構上的操作符,一共有五個基本操作符,相當于操作原語,其他的所有復雜操作均可以由這五個基本操作組合完成,也就是通過構建一個關系表達式來完成。關系數據模型中的完整性約束,除了我們所知道的實體完整性、參考完整性等可以命名的完整性以外,還有很多其他完整性,他們代表了數據庫實例在修改時要遵循的原則。實體完整性和參考完整性可以通過主鍵和外鍵的形式來說明,其他類型的完整性約束在關系數據庫的數據定義語言中可以通過斷言、觸發器的形式來說明。關系數據庫中的范式理論和函數依賴也是關于完整性約束的,是一種很漂亮的語義抽象。函數依賴這一類廣泛的完整性約束很大程度上通過數據庫模式設計來體現,我們在數據設計中追求Royce-Codd范式和第三范式,其本質就是當
設計出的關系模式達到這些范式級別后,屬性問的函數依賴關系就蘊含在其中了,不需要再在數據定義語言中去顯式說明。這是為什么說關系數據模型優美漂亮的一個重要原因。當然,關系數據模型具備的集合論和一階謂詞邏輯數學基礎也是一個重要原因。
那么,為什么數據的結構化如此重要?這個問題就像為什么結構化程序設計、強類型程序設計語言很重要一樣。數據有了結構以后,數據管理可以簡單化,因為結構化數據雖然實例(相當于關系數據庫中的Instance)很多,但往往容器(相當于關系數據庫中的Schema)很少,通過模式(Schema)來管理大規模的數據要容易很多。此外,有了模式級別的元數據,對于數據上的各種操作可以通過表達式等價的變換來進行有效優化,從而保證查詢處理的高效性,讓人們擺脫對數據庫內部細節的了解。
相對數據庫中結構化的數據,有關非結構化數據的研究也一直沒有停息過。數據抽取、數據抽象等都是在非結構化數據上進行語義抽象的嘗試。我們所熟悉的文本數據上的文本檢索系統(TRS) ,信息檢索(IR)、自然語言處理(NLP ),以及音頻、視頻、圖像等其他多媒體的處理力一法研究,都是長期以來一直在非結構化數據上的探索。我們耳熟能詳的特征選擇或特征抽取,也就是指在非結構化數據上進行語義抽取。所以,非結構化數據對我們而言毫不陌生,并不是因為有了大數據,大家才恍然大悟要開始對非結構化數據進行研究。 突然之問會有人覺得非結構化數據特別重要,理由就是,有統計顯示我們這個世界上百分之八十的數據為非結構化數據,它們無法整齊劃一地存儲到結構嚴格的表格行列中。值得提醒的是,很多事情都遵循所謂的80-20規則。應用到大數據上面,得出的結論就是,百分之八十的非結構化數據產生百分之二十的價值,而百分之二十的結構化數據產生百分之八十的價值。這個現象有其合理性,它說明了為什么人們把研究熱情轉向非結構化數據。結構化數據產生了絕大部分的價值,但其價值幾乎挖掘殆盡。而絕大多數的非結構化數據雖然只產生小部分的價值,卻還是一個有待深入挖掘的“金礦”。這里我們還想特別指出,非結構化數據的長尾現象。隨著非結構化數據研究的深入,相信一部分非結構化數據會被納或靠近結構化數據范疇,從大量針對應用問題的解決力一案中抽象出非結構化數據的組織模式、結構和模型,這意味著其使用價值被允分挖掘;從技術上而言,就意味著管理這些非結構化數據的理論和技術會趨向成熟。
我們用圖3表示非結構化數據的長尾現象,其中橫坐標為數據量/非結構化程度,縱坐標為不低于該非結構化程度的數據量產生的價值。非結構化數據量在激增,人們對大數據的興趣也在日益濃厚。
圖3.非結構化數據研究的長尾現象
3. 2云計算與大數據
近幾年來,云計算在我國的發展風起云涌、方興未艾。從技術上而言,云計算被認為是自計算機出現以來,繼大型主機、個人電腦、互聯網之后信息技術領域的最新一次重大變革。 Amazon和Google是其始作俑者。隨著云計算技術的突破和應用的推廣,我們可望實現一種嶄新的計算模式,進而影響人們生產和生活的各個力一面。我國作為新興的發展中大國,信息化作為倍增器,一直在經濟和社會發展中起著重要的作用,尤其是在當前經濟轉型發展的關鍵時期,云計算作為新型信息化的手段和模式正在被創造性地應用。政府部門、電信運營商、交通物流、科學研究、文化傳媒、醫療衛生、教育培訓等都己開始嘗試用云計算的模式進行信息化創新實踐。
雖然云計算和大數據是沿著不同道路發展而來的,兩者在技術和應用上有著相輔相成的關系,云計算強調系統提供服務的力一式,它提供的服務離不開它所能承載的大數據;為了解決大數據的挑戰,云計算架構和模型是一個可行的力一案。云計算遭遇大數據,這是時代發展的必然趨勢。
3. 3 NoSQL與大數據
NoSQI二運動近幾年風頭正勁,它是在大數據概念風靡之前就己經出現的一個現象,可以看作是大數據風暴的前奏。這場運動最終會對數據庫的發展產生什么樣的影響?NoSQI二會終結關系數據庫嗎?是否會有基于非關系型數據庫的廠商異軍突起,改變市場的格局呢?下面,我們試著回答這些問題。
首先,NoSQL二是一個非常模糊的概念,泛指一切和傳統關系數據庫或關系—對象數據庫不同的技術。它包括了非關系數據模型(也被稱為Norrschematic數據庫、非結構化數據庫等等)、非ACID事務模型、分析型和搜索型應用、大規模集群上的DBMS或類DBMS實現等很多概念。No-SQL二和傳統RDBMS之問可能更多的還是互補關系。RDBMS不適合一些新興的應用,但在一些傳統領域,如金融、電信,仍然能很好地工作。No-SQL二的應用口標仍然很分散—不同的應用對NoSQL二的不同技術有不同的需求。因此,現在我們對NoSQL, DBMS還很難給出一個完整的定義,很難說這樣的DBMS能夠彌補所有RDBMS的不足、適用于所有RDBMS不適用的環境。從技術上看,通用的NoSQL, DBMS的實現也有很大的難度。但另一力一面,隨著應用的發展,RDBMS不適用的環境正越來越多,這將是非關系型數據庫廠商的機會(但同時也是RDBMS發展的機會)。當然,這里還有很多技術以外的因素。
數據庫系統的先驅,著名數據庫學者Stone-braker M教授對于NoSQL二有這樣的總結:No-SQL二適用于非事務型和可交換(Commutative)的單記錄事務處理,但它不適用于新型OLTP應用。因為系統類型很多,應該針對應用選擇合適的系統。此外,NoSQL二系統的查詢語言與SQL二非常類似。他承認NoSQL二系統的成功,但也認為N o-SQL二并不適用于所有應用,不是大數據處理的全部技術。這正是新型面向在線事務處理OLTP應用的數據庫(NewsQL,)的出發點,NewsQL二代表 一類現代RDBMS,旨在針對Web應用中的OLTP工作負載提供NoSQL二系統所能達到的可擴展性,而保持傳統單一節點數據庫系統的ACID事務特性。
3.4 Hadoop與大數據
Hadoop在處理網頁數據等力一面取得了巨大成功,經過幾年的發展,從一門邊緣技術成長為一種事實上的標準,甚至在大數據領域出現言必稱Hadoop的現象,Hadoop儼然成為了大數據的代名詞。我們有必要專門來回顧一下Hadoop的發展歷史和成功經歷。21世紀初,谷歌公司的幾位年輕研究人員用廉價PC搭建了大型的MPP系統,成功解決了搜索引擎所需要的大型文件系統的管理和操作問題,隨后分別于2003年、2004年和2006年在操作系統兩個著名的學術會議SOSP和OSDI上發表了有關GFS (Google文件系統)、Map/Reduce(編程環境)和BigTable(數據模型)的論文。
這三篇奠基性的論文促成了Hadoop的誕生。2004年,Cutting D和Cafarella M J根據Google Lab論文實施,取名Hadoopo Cloudera公司推出了Hadoop商用版(Apache開源版)。2005年秋天,Hadoop由Apache作為Lucene的子項口Notch的一部分正式引入。隨后在2006年3月Map/Reduce和Notch Distributed File System(NDFS )分別被納入Hadoop的項口中。到了2006年,Yahoo推出了WEB-scale Hadoop !。隨著應用和開發的深入,Hadoop形成了自身的生態圈。在0.20及以前的版本中,Hadoop Common包含HDFS、Map/Reduce和其他項口公共內容,從0.21開始HDFS和Map/Reduce成為獨立的子項口。Map/Reduce是分布式并行計算框架,是Hadoop的核心。HDFS所起的作用就是使得每個服務器必須具備對數據的訪問能力,而Pig編程語言則簡化了Hadoop常見的工作任務,Pig可加載數據、表達轉換數據以及存儲最終結果。2006年,HBase ( BigTable)分布式列存儲數據庫成為Hadoop子項口,2010年5月升級為頂級Apache項口Hive (Facebook)數據倉庫工具,它架構在HDFS之上,增加靜態數據結構,力一便進行數據分析查詢,2008年9月成為Hadoop子項口。Zoo-keeper (Facebook)則是分布式鎖設施,它提供類似Google Chubby的功能。Avro是一個新的數據序列化格式與傳輸工具,2010年5月成為頂級Apache項目。
Hadoop在數據管理中到底處于什么樣的地位?Hadoop實質上是一個可以更容易開發和存儲大規模數據的軟件平臺,幫助用戶快速、低成本地實現大數據的存儲、管理及分析查詢。Hadoop由Map/Reduce和HDFS兩個關鍵部分構成,Map/Reduce 可實現高性能分布式并行數據處理,HDFS提供可靠數據存儲服務,低廉MPP高容錯、高通量、可伸縮,用戶可在不了解分布式底層細節的情況下開發分布式程序,允分利用MPP的能力。
隨著用戶對大數據存儲、管理和分析需求越來越迫切,傳統數據庫對非結構化數據幾乎無能為力。利用傳統數據庫對大數據進行處理時,會面臨很多難以解決的問題。首先是軟、硬件平臺的要求高,成本壓力大,并且成本和收益很難匹配。而同時,用戶希望允分發掘和利用非結構化數據背后的商業價值,能以更經濟的力一式、更好的性能來處理數據,從而推動業務創新。
Hadoop在類似搜索引擎的查詢并行化分析處理領域取得極大成功,其本質是提供了一種針對大規模數據密集型應用的編程范式(Programming Paradigm),使人們擺脫對于底層分布和并行的操作。它所基于的BigTable和HDFS是非常質樸的數據模型和存儲系統,適用領域有限。盡管它的成功為大數據研究打開了思路,但絕不代表大數據技術的全部(僅是一個case)。它促使人們回到文件系統這一數據庫的起點來重新審視數據管理之口的。盡管Hadoop在處理網頁數據等力一面取得了巨大成功,但它有自身的弱點,Hadoop是一個離線的、批量的數據處理系統,而實時在線(嚴格事務,高效分析)仍是數據庫的擅長。從數據存儲的角度來看,HDFS專門針對大文件的存儲,等待時間較長,無法做到很高速的隨即讀寫。人們也曾探索過將Hadoop和數據庫結合起來應對大數據的挑戰,但這還不是口前企業中現實、經濟的解決方案。
4從數據庫角度看大數據研究進展與趨勢
4. 1數據庫發展回顧
大數據研究是數據庫回到文件系統這一原點后的重新出發。我們有必要站在更大尺度的時問軸上來重新審視數據庫的輝煌發展歷史。
(1)數據庫的發展歷史。
1965年,數據庫領域第一個獲得圖靈獎的計算機科學家Bachman C 發表了他的重要論文“Integrated Data Store",向世人介紹了世界上第一個數據庫系統IDS。這一事件標志著數據庫的誕生。IBM公司1968年推出基于層次模型的數據庫系統IMS。那時,數據庫概念基本形成,緊隨其后,數據系統語言會議CODASYL(研究COBOI二擴展數據功能的會議)專門組織了一個數據庫工作組DBTU。在著名的DBTU報告中,定義了我們現在所熟悉的幾乎所有的數據庫相關概念。這個報告實際上是提出網狀數據模型,試圖克服IMS需要對數據存儲結構底層細節了解才能進行數據訪問的缺點。雖然這個報告中的網狀模型沒有廣泛地在數據庫系統產品中得到實現,但它對現代數據庫系統體系結構和概念的形成有著不可磨滅的貢獻。 1970年6月,當時在IBM工作的Codd E F在CACM發表了關于關系數據庫模型的第一篇論文,由此,數據庫技術的發展進入了一個嶄新的階段,數據庫系統的使用遍及信息化領域的
方方面面,并深刻地影響著人們的生活。
(2)數據庫的三大成就。
四十多年來,數據庫領域具有里程碑意義的三大事件分別是關系數據模型的提出、查詢處理和優化技術的發展、事務管理技術的進步。關系數據庫因為其模型簡單、理論完備,使得數據庫家喻戶曉,形成了數百億美元的市場。查詢優化也是伴隨著關系數據庫而產生的。在關系數據庫以前,數據訪問通過程序設計者在紛繁復雜的數據結構中說明訪問路徑來完成,我們說這是用戶導航式的數據訪問。關系數據庫的優點就在于用戶只需要說明“想要什么”而不需要說明“怎么做”,這里的“怎么做”就是數據結構中的“導航”,用戶不管“導航”,系統就得負責。在IMS盛行的時代,最初實現的RDBMS效率很低,被譏笑為“Toy System"。這一局面得以改變,就是依靠查詢處理和優化力一面的極大進展而實現的。具體而言,就是通過訪問路徑的優化選擇保證CPU、存儲空問和其他成本的性能優化。在這其中,索引技術也舉足輕重,技術得到全面突破。在事務管理力一面,事務管理模型和事管理關鍵技術的突破,使得支持大量用戶并發訪問成為現實,并有效地支持了數據庫恢復和保護機制的實現,從而把數據庫系統打造成一種全面、實用的系統。
4. 2數據庫技術面臨的挑戰
傳統的數據庫技術在20世紀80年代己基本成熟,其標志是產業的發展和壯大,特別是幾大數據庫廠商的出現。數據庫的概念深入人心,數據庫建設的重要性毋庸置疑。幾乎在同時,數據庫領域自身以及實際應用領域的專業人士允分意識到傳統數據庫技術的局限性。在關系數據庫理論基本完善之后,人們很快就開始了對新型數據模型的探索,提出了二元數據模型、語義數據模型、圖數據模型、邏輯數據模型、面向對象數據模型等等。實際應用中的“材料單BOM(Bill of Material)”問題、傳遞閉包問題也是經典數據庫技術無法解決的。值得一提的是,演繹數據庫和面向對象數據庫的研究定程度上增強了傳統數據庫的能力。
除數據模型和以上提到的具體應用問題以外,數據庫面臨更多更大的挑戰。舉例來說,數據的OLAP要求能快速多粒度地從歷史和現實數據中分析出對決策有幫助的結果,這和數據庫系統所擅長支持的在線事務處理(OLTP)應用差別很大。數據倉庫技術就是針對這類應用提出來的,幾年來取得長足的進步。另一個例子是數據流應用,現實中不是所有的數據都需要保存在數據庫系統中然后再進行處理的,譬如,檢測或監控系統采集的數據,很多是不需要或無法全部保存下來再進行分析處理,一是數量太大、保存意義不大,二是現實應用
中需要及時反應(報警或報告),不容先存入數據庫中然后再來分析。21世紀初開始興起的數據流技術就是用來解決這一類應用問題的。數據流在其他領域也被稱為實時復雜事件處理技術CEP。再一個例子就更容易理解,廣泛而言,數據庫是來管理數據的,所有有數據的地力一就應該有數據庫。Web是典型的有大量數據的地力一,科學實驗數據也一樣。數據庫如何來管理這些數據是一個挑戰。這些場合的數據具有如下特點:數據量大、數據結構復雜、數據來源多樣,還有就是這些數據的用戶群規模大、需求各異。針對這些應用,人們深入研究了XML/RDF半結構化數據管理技術、智能數據集成、按列存儲數據管理、分布式高可靠的存儲和并行計算技術,提出了相應的解決方案。
4. 3大數據研究的問題與難點
數據庫領域面臨的挑戰正是大數據研究的起點。從這個意義上來說,大數據是傳統數據在“V"維度上的擴展,大數據應用是傳統數據庫應用的自然延伸,大數據技術是傳統數據管理技術的自然發展。
從數據庫工作者的角度看大數據的研究,我們認為,大數據的基礎研究主要包括:(1)大數據分類學;(2)大數據全生命周期管理;(3)大數據質量管理。應用是引發大數據概念的根源,大數據的基礎研究包括從數據本身、應用需求和計算環境等多個維度研究大數據的分類、共性特點以及數據資源化管理的相關理論和力一法。研究思路和力一法可參考和借鑒圖書情報學科的興起和發展歷史。由于大數據是個覆蓋面很廣的概念,除了要研究大數據的共性特點外,還很有必要從數據來源、數據類型、數據應用等角度全面綜合分析,研究大數據的分類;大數據概念的一個很重要的內涵就是數據的共享和使用,Data Curation(暫譯為:數據監護)指的就是研究數據從產生、標注、存儲、共享和使用等全生命周期的數據管理和維護,這類似于圖書館的作用;大數據因為共享和使用而引發數據的加工和衍生結果,數據溯源(Data Provenance)和數據世系(Data Lineage)研究旨在保證數據使用的質量;由于大數據的共享應用特點,訪問用戶的不確定性和服務提供者之問的數據共享,使得大數據的存儲和訪問不同于傳統的處于可信域的數據的存儲和訪問,特別是針對不同社交網絡中用戶身份標識信息等敏感數據的安全訪問控制研究,是保證大數據安全應用的前提條件之一。
大數據研究的主要技術難點包括:(1)大數據語義建模;(2)大數據分析功能/性能均衡;(3)支撐大數據處理的硬件/存儲體系結構。大數據的基本特點是數量巨大、來源各異、結構復雜,還有就是很多具體應用要求響應時問很短。針對數據來源多樣以及數據結構復雜的特點,數據建模不僅要考慮單一來源、單一類型數據的語義抽象,而且還要考慮不同類型、不同來源數據問的聯系。傳統的語義數據模型的己有成果存在許多值得借鑒的地力一,但時下所面臨的數據建模的復雜程度是前所未有的,必須深入分析具體應用需求、做精致的剪裁,才有可能提出有效的在限定應用范圍內適用的數據模型。對大數據進行分析處理,發現其中蘊含的知識,從而理解和使用數據、支持以數據為核心的應用,是大數據研究的重要任務,隨著大數據的興起,云計算也正在進入以“分析即服務AaaS(Analysis as a Service)”為主要口標的Cloud 2. 0時代。云計算和NoSQI二技術與平臺,為數據分析任務提供了數據訪問的基礎,并且可有效克服由于數據規模和異構性而引起的訪問瓶頸。針對數據量大和響應時問短的特點,首要的問題是在數據管理和分析的功能和性能上進行仔細的權衡,擯棄傳統數據庫管理系統圍繞記賬(Billing)和訂票(Booking)需求實現的額外開銷巨大的OLTP功能,有選擇地高效實現那些與業務密切相關的關鍵的數據分析功能,在性能上比現有的數據倉庫或OLAP系統有極大的提升,以解決類似實時商務智能的需求。另一方面,如何利用計算機系統硬件和系統技術的發展,特別是存儲系統以及計算機系統體系結構的發展來支持新的應用形勢下大數據的管理和分析,是一個具有挑戰性的、很有前景的研究課題。" Hadoop、HDFS、 Map/Reduce”模式在Google和Yahoo。的Web應用中有成功的實現,但這種探索還很初步,能支持的功能也很有限。“內存計算+列存儲”模式在商務智能應用的探索正在興起,面臨的問題還包括功能完善和性能改善,內存計算系統的可靠性保障以及輔助決策支持所需要的基本數據分析功能的基準測試是一些需要深入研究的課題,還包括為支持實現這類應用專門設計的高可靠、具有新穎存儲結構的MPP集群計算機系統。針對科學實驗和科學觀測中的大數據管理問題,數據建模和數據使用是與應用領域密切相關的,己有的關于科學和統計數據庫的研究成果是一筆寶貴的財富,新的應用需求和計算平臺也為這力一面的研究提供了嶄新的研究視角。
4. 4大數據示范應用
當前大數據的示范應用主要包括:(1)社交媒體數據分析;(2)互聯網廣告;(3)基于位置的服務;(4)實時商務智能。大數據概念的產生以及大數據研究的興起是典型的應用驅動的。大數據分析是大數據研究的重要任務,其應用可以分為面向消費者和面向企業兩大類。與Web相關的應用主要是面向消費者的,商務智能應用是面向企業的。指導這兩類技術研發的基本思想是有所差別的。面向消費者的數據分析必須依托于新型的信息服務,這些服務吸引消費者,產生互聯網流量,數據分析的主要口的是將這些流量變成信息服務提供者的商業利潤,前三類應用屬于這一性質。其基本思路是:信息服務系統為在線用戶提供個性化的產品推薦或廣告,從而實現第三方付費的商業模式。這一類數據分析涉及用戶信息(包括動態的用戶行為和協同行為等)、媒體頁面信息、產品信息等,數據和計算量都很大,要求的響應時問通常在微秒級。伴隨著當前風起云涌的各類新型Web應用,這力一面的數據分析應用有很大的發展空問和很多的發展機遇。面向企業或機構的數據分析應用,所涉及的應用主體與傳統數據庫系統的客戶類似,主要是大型企事業單位,他們對系統的可靠性以及數據分析系統的平臺獨立性有較高的要求。以往的輔助決策商務智能系統要么架構在運營數據庫之上,性能受到影響,要么自成體系,軟硬件捆綁,難以自主完成硬件升級和功能定制,數據分析系統的封閉性長期以來己成為很多企事業單位信息系統成本上的一個負擔和單位業務發展上的一個制約瓶頸。當前是這力一面系統研發和推廣應用的一個很好時機。
5結束語
大數據是一個籠統的概念,與應用密切相關,離開應用談大數據研究現在還為時過早,應該分類研究Web數據/決策數據/科學數據。要想抽象出大數據研究的共性科學問題,應該首先限定應用領域,只有對具體的應用有全面深入的理解才有可能在更高層面抽象出共性的科學和技術問題,也才有可能發展出具有特色的大數據技術和系統,進而推動大數據管理理論的發展。大數據和傳統數據庫在研究理念和力一法學上是一脈相承的,從特定應用到技術力一案,到理論和模型,再到系統和產品,這也是數據庫發展歷史及輝煌成就給予我們對大數據研究的啟示。但是,僅僅使用數據庫技術研究大數據是不夠的,大數據的研究需要多學科的交叉,需要計算機科學、機器學習、計算數學、統計學、管理科學等多學科的合作。聚焦應用場景和研究內容,具體化技術路線,明確研究口標,從而切實抓住大數據時代給我們從事相關研究和開發的技術人員帶來的難得機遇。我們現在正處在這個機遇的時
問窗口,但時問窗口不會永遠敞開。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:從數據庫視角解讀大數據的研究進展與趨勢
本文網址:http://www.guhuozai8.cn/html/consultation/10825915933.html