楊天純
大數據定義、作用及其對數據庫技術影響
1.1 大數據及其影響
大數據(Big Data)是目前最重要的科學、技術和社會話題。借用IDC數據公司的定義:“大數據是一種新一代的技術和架構,具備高效率的捕捉、發(fā)現和分析能力,能夠經濟地從類型繁雜、數量龐大的數據中挖掘出色價值?!?/p>
大數據定義有著如下的基本前提和含義。
① 大量的數據:大數據概念源于數據的爆炸性增長。用世界著名的咨詢公司高德納(Gartner)研究報告的描述:“同一類型的數據量快速增長;數據增長速度的加快;數據多樣性、新數據來源和新數據種類的不斷增加。”
② 多種類型數據積累:新的數據存儲和數據采集的技術發(fā)展使巨量數據的采集、收集、存儲成為可能。網絡技術、移動設備、數字傳感器、數碼攝影/攝像、監(jiān)控影像、衛(wèi)星定位系統、遙感技術、氣候和環(huán)境監(jiān)測技術等等,每時每刻都在各種形式、各種類型的大量數據。
③ 計算技術的進步與發(fā)展:現代計算技術、網絡技術、多媒體技術和數據庫處理技術等可以處理各種形式的海量數據,產生出大量的高附加值的數據、結果、狀態(tài)和知識。
④ 數據處理能力成為戰(zhàn)略能力:數據量的激增、數據類型的多樣、技術平臺對數據的綜合處理,造成了知識邊界擴展、知識價值提升、知識衍生能力加快,它極大地影響到了企業(yè)、個人、社會和政府的決策,極大地促進了社會生產力的發(fā)展,使掌握大數據技術者獲得了競爭優(yōu)勢和難于模仿的核心競爭力。因此,大數據技術也成為了國家的核心戰(zhàn)略資源。
大數據的含義廣博、技術領域廣泛、技術平臺多樣、作用效果巨大、影響意義深遠。理解大數據的理論、方法和架構,適應大數據的變革與發(fā)展,分享大數據所帶來的種種便利和收益,便能夠在大數據時代占領先機。
1.2 大數據對數據庫技術的影響
大數據的宗旨是處理數據,數據庫技術自然占據核心地位。而大數據環(huán)境下的數據庫技術也具有明顯的特殊性。
1.2.1 大數據環(huán)境下數據處理技術面臨的新特點
數據量宏大。對數據庫技術影響最大、最直接的方面莫過于數據的爆炸性增長。即使先不考慮數據類型的變化,需要處理的數據從MB擴展到GB,現在再擴展到TB,不遠的將來數據庫將經常面對PB量級的數據,這必然對數據庫的硬件架構、數據庫系統結構和數據庫應用產生重大的影響。
數據形式多樣。另外一個對數據庫技術產生重要影響的因子是數據的多樣化,傳統數字、圖像、照片、影像、聲音等多種數據資源需要進行處理,并且和傳統關系式數據不同的,許多數據格式中的有價值數據并不多,例如多張圖片中特定對象的變化,連續(xù)視頻影像中對特殊對象的跟蹤等等,其數據抽取方式、過濾方法和存儲、計算方式均有別于傳統數據庫。
單機或小型局域網的數據庫處理無法滿足。當前,數據量爆炸式增長,數據類型日趨多樣,傳統關系數據庫的處理能力已難于滿足,需要新的數據庫處理技術。
傳統的并行數據庫的靈活性具有局限性。并行數據庫系統取得了輝煌的成績,但是它的靈活性不佳,彈性受限,系統規(guī)模的收縮或擴展成本非常高。這樣的系統適合于“相對固定結構”的計算結構,例如機銀行業(yè)務管理系統或城市交通管理系統等。
結構化、半結構化與非結構化形式并存。讓數據庫有能力處理這些半結構化和非結構化(有時不作區(qū)分)數據變成了新型數據庫技術的一項迫切要求。
對結果要求的模糊化。在大數據的時代,計算技術不僅限于回答“是/非”問題,而是需要更多的模糊化結果。例如,流感有很可能在一周后流行、近期可能發(fā)生5級左右地震、近一周國際往返機票將上漲……這些答案并不精確,但足以指導人們的活動。非結構化數據的處理結果常常是給出模糊化的答案。
新數據庫技術的出現與挑戰(zhàn)。新需求的出現,促使了新技術的產生,為處理非結構化數據,Apache、Google、Amazon等公司分別開發(fā)了適應各自需要的新型數據庫系統,相關的專家經過分析和總結提出了NoSQL的設計理念,并創(chuàng)建了許多成功的產品。
1.2.2 新型數據庫技術的特點
與傳統數據庫技術相比較,新型數據庫技術具有一些明顯的特點,具體如下:
可處理的數據總量和數據類型增加。不再為數據結構化或數據代表性而人為地選取部分數據或進行數據抽樣;不再靠樣本規(guī)模的大小來控制結果的置信區(qū)間和置信度。新的數據庫處理技術試圖利用“全部數據”,完成對結果的計算和推斷。
使用更多的非結構化數據,而不是片面地強調全部使用結構化數據。在非結構化的高復雜度、高數據量、多種數據類型的情況下,允許結論和結果的“不精確”,允許追求“次優(yōu)解”。體現大數據技術“以概率說話”的特點。
不再試圖避免或降低數據的混雜性,而是把“使用全部數據”作為追求“次優(yōu)解”的途徑。即在復雜、混亂、無結構化與確定、規(guī)整、結構化數據之間做出平衡。
在遇到“使用全部數據,得出模糊化結果”與“實用部分數據,得出準確結論”的選擇時,新型數據庫技術一般會選擇前者,從一個更全面的角度利用更多的數據資源去尋找答案。
科學地在因果關系與相關關系中做出抉擇。如果數據總體支持因果關系的判別和斷言,則像傳統數據庫那樣提供因果關系斷語;如果數據計算量宏大、成本高昂或條件不具備,則把關注點由“因果關系”調整為“相關關系”——將追求“最優(yōu)解”變?yōu)樽非蟆按蝺?yōu)解”或“模糊解”。自然地,這種相關關系的選擇不能是隨機的,而是預先設計和規(guī)劃好的。
不同的數據庫開發(fā)理念,不同的應用目標,不同的技術方案,早就了新型數據庫豐富多彩、特點各異的局面。
1.3 從傳統關系數據庫到非關系數據
在計算機系統結構剛剛趨于穩(wěn)定的1970年,IBM公司的Edgar Codd(科德)首先提出了關系數據庫的概念和規(guī)則,這是數據庫技術的一個重要的里程碑??频露x的關系數據庫具有結構化程度高、數據冗余量低、數據關系明確、一致性好的優(yōu)點。關系數據庫模型把數據庫操作抽象成選擇、映射、連接、集合的并差交除操作、數據的增刪改查操作等。而1976年Boyce和Chamberlin提出的SQL結構化查詢語言則把關系數據庫及其操作模式完整地固定下來,其理論和做法延續(xù)至今,被作為數據庫技術的重要基石。關系數據庫中定義的關系模型的實質是二維表格模型,關系數據庫就是通過關系連接的多個二維表格之間的數據集合。當前流行的數據庫軟件Oracal、DB2、SQL Server、MySQL和Access等均屬于關系數據庫。
到二十世紀八十年代后期,IBM的研究員提出了數據倉庫(Data Warehouse)的概念,4年后Bill Inmon給出了被大家廣泛接受的數據倉庫定義:“數據倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數據集合,用于支持管理中的決策制定?!睌祿}庫的進步在于,它把決策支持定為數據庫中數據組織和管理的目標,從而把智能性和決策能力融入到數據庫中。Inmon之后,Ralph Kimball建立了更加方便、實用的“自底向上”數據倉庫架構并稱之為“數據集市”(Data Mart),這種技術受到企業(yè)及廠家的歡迎并采納實施。雖然數據集市被歸并為數據倉庫,但是它的出現誘發(fā)了商務智能和聯機分析技術的流行。
隨著數據庫在企業(yè)中的廣泛應用,企業(yè)收集了大量的數據,如何從已有數據中提取對企業(yè)運營和決策具有重要價值的信息,成為了數據庫使用者和開發(fā)者關系的話題?!瓣P系數據庫之父”科德再次走在了前面,提出多維數據庫和多維分析的概念,這便是“聯機分析處理”(OLAP),使得數據庫已經顯現了“智能性”特點。從數據倉庫中產生的OLAP又反過來促進和推動數據倉庫技術的更深層的發(fā)展。
數據倉庫、OLAP的發(fā)展和成熟催生了下一代數據庫“智能產品”——數據挖掘。該技術是指從大量的數據中自動搜索數據之間隱藏著的特殊關系,通過統計、分析、檢索、機器學習結合專家系統(結合過去的經驗)和模式識別來發(fā)現數據之間的“內在聯系”,為判斷、決策、規(guī)劃提供信息。這時被發(fā)現的“內在聯系”不再是簡單的結果,而是上升為“知識”,大量知識的積累更進一步提升了數據挖掘的準確性和商業(yè)價值。數據倉庫把數據挖掘地深度進一步擴展并快速應用到商業(yè)環(huán)境中,這便是“商業(yè)智能”(Business Intelligent, BI)。
商業(yè)智能和數據挖掘的大規(guī)模應用是在互聯網高度普及的時刻,隨著數據庫技術的發(fā)展和商業(yè)競爭的白熱化,網絡服務、網絡搜索引擎及網絡用戶行為標引技術逐漸成熟。通過數據庫中的知識、用戶行為統計、分析,產生出更具綜合性、普遍性和高商業(yè)附加值的知識,與數據挖掘和商業(yè)智能同期發(fā)展的數據可視化技術,充分利用圖形、圖表等視覺元素,完成了現代數據庫技術在結果輸出和表現形式上的又一次飛躍。數據挖掘、商業(yè)智能、可視化技術的基礎是大數據,其工具便是大數據工具。