三種最典型的大資料儲存技術路線

lionzl發表於2016-11-02

近期由中關村大資料產業聯盟舉辦的“大資料100分”線上研討會中,南大通用的CTO、資深業界專家武新博士同眾多網友分享了底層資料處理技術的發展趨勢和正在經歷的巨大變革。以下為分享實錄:

大資料這個領域過去5年發展很快、熱度很高,但是總的來說目前還在起步階段。本次研討會我會先談談資料,以及大資料對資料處理技術的壓力,然後為大家分享一下為什麼這幾年資料處理技術上的創新很多。

1. 資料價值的發現與使用

在大資料的4個V中,最顯著的特徵應該是Value(價值)。不管資料多大,是什麼結構,來源如何,能給使用者帶來價值的資料是最重要的資料。

我跟資料打了20多年的交道,從來沒感覺到搞資料的地位有今天這麼高。整個社會對資料的認知變了,大資料最大的貢獻至少是讓社會各個層面開始認識到資料的重要性,包括最高領導和底層的老百姓。

目前大家基本達成共識:資料像石油、煤一樣是寶貴的資產,其內在的價值非常巨大。另外一個顯著的貢獻無疑是網際網路企業對於資料的巧妙使用和價值體現。

2. 資料處理技術的回顧

網際網路的資料“大”是不爭的事實,現在分析一下資料處理技術面臨的挑戰。目前除了網際網路企業外,資料處理領域還是傳統關係型資料庫(RDBMS)的天下。傳統RDBMS的核心設計思想基本上是30年前形成的。過去30年脫穎而出的無疑是Oracle公司。全世界資料庫市場基本上被Oracle,IBM/DB2,Microsoft/SQL Server 壟斷,其他幾家市場份額都比較小。SAP去年收購了Sybase,也想成為資料庫廠商。有份量的獨立資料庫廠商現在就剩下Oracle和Teradata。開源資料庫主要是MySQL,PostgreSQL,除了網際網路領域外,其他行業用的很少。這些資料庫當年主要是面向OLTP交易型需求設計、開發的,是用來開發人機會話應用為主的。這些傳統資料庫底層的物理儲存格式都是行儲存,比較適合資料頻繁的增刪改操作,但對於統計分析類的查詢,行儲存其實效率很低。在這些成熟的資料庫產品中,有2個典型特例:一個是Teradata,一個是Sybase IQ。

Teradata一開始就使用MPP(Massive Parallel Processing)架構,以軟硬一體機的產品方式提供給客戶,其定位是高階客戶的資料倉儲和決策分析系統,Teradata在全世界的客戶只有幾千個。在這個資料分析高階市場上,Teradata一直是老大,在資料分析技術上Oracle和IBM打不過Teradata。Sybase IQ是一款最早基於列儲存的關係型資料庫產品,其定位跟Teradata類似,不過是以軟體方式銷售的。Teradata和Sybase IQ在資料分析應用上的效能其實都比Oracle,DB2等要普遍好。

3. 資料增長加速,資料多樣化,大資料時代來臨

如果說現在是大資料時代了,其實是資料來源發生了質的變化。在網際網路出現之前,資料主要是人機會話方式產生的,以結構化資料為主。所以大家都需要傳統的RDBMS來管理這些資料和應用系統。那時候的資料增長緩慢、系統都比較孤立,用傳統資料庫基本可以滿足各類應用開發。

網際網路的出現和快速發展,尤其是移動網際網路的發展,加上數碼裝置的大規模使用,今天資料的主要來源已經不是人機會話了,而是通過裝置、伺服器、應用自動產生的。傳統行業的資料同時也多起來了,這些資料以非結構、半結構化為主,而真正的交易資料量並不大,增長並不快。機器產生的資料正在幾何級增長,比如基因資料、各種使用者行為資料、定位資料、圖片、視訊、氣象、地震、醫療等等。

所謂的“大資料應用”主要是對各類資料進行整理、交叉分析、比對,對資料進行深度挖掘,對使用者提供自助的即席、迭代分析能力。還有一類就是對非結構化資料的特徵提取,以及半結構化資料的內容檢索、理解等。

傳統資料庫對這類需求和應用無論在技術上還是功能上都幾乎束手無策。這樣其實就給類似Hadoop的技術和平臺提供了很好的發展機會和空間。網際網路公司自然就選擇能支撐自己業務的開源技術了,反過來又推動了開源技術的快速發展。

4. 新的資料處理技術、產品和創新

為了應對資料處理的壓力,過去十年間在資料處理技術領域有了很多的創新和發展。除了面向高併發、短事務的OLTP記憶體資料庫外(Altibase, Timesten),其他的技術創新和產品都是面向資料分析的,而且是大規模資料分析的,也可以說是大資料分析的。

在這些面向資料分析的創新和產品中,除了基於Hadoop環境下的各種NoSQL外,還有一類是基於Shared Nothing架構的面向結構化資料分析的新型資料庫產品(可以叫做NewSQL),如:Greenplum(EMC收購),Vertica(HP 收購),Asterdata(TD 收購),以及南大通用在國內開發的GBase 8a MPP Cluster等。目前可以看到的類似開源和商用產品達到幾十個,而且還有新的產品不斷湧出。一個有趣的現象是這些新的資料庫廠商多數都還沒有10年曆史,而且發展好的基本都被收購了。收購這些新型資料庫廠商的公司,比如EMC、HP,都希望通過收購新技術和產品進入大資料處理市場,是新的玩家。SAP除了收購Sybase外,自己開發了一款叫HANA的新產品,這是一款基於記憶體、面向資料分析的記憶體資料庫產品。

這類新的分析型資料庫產品的共性主要是:

架構基於大規模分散式計算(MPP);硬體基於X86 PC 伺服器;儲存基於伺服器自帶的本地硬碟;作業系統主要是Linux;擁有極高的橫向擴充套件能力(scale out)和內在的故障容錯能力和資料高可用保障機制;能大大降低每TB資料的處理成本,為“大資料”處理提供技術和價效比支撐。

總的來看,資料處理技術進入了一個新的創新和發展高潮,機會很多。這裡的主要原因是一直沿用了30年的傳統資料庫技術遇到了技術瓶頸,而市場和使用者的需求在推動著技術的創新,併為此創造了很多機會。在大資料面前,越來越多的使用者願意嘗試新技術和新產品,不那麼保守了,因為大家開始清晰地看到傳統技術的瓶頸,選擇新的技術才有可能解決他們面臨的新問題。

現在的總體趨勢是在資料量快速增長、多類資料分析並存的需求壓力下,資料處理技術朝著細分方向發展,過去30年一種平臺滿足所有應用需求的時代已經過去。我們必須開始根據應用需求和資料量選擇最適合的產品和技術來支撐應用。世界資料處理市場格局正在發生革命性的變化,傳統資料庫(OldSQL)一統天下變成了OldSQL+NewSQL+NoSQL+其他新技術(流、實時、記憶體等)共同支撐多類應用的局面。在大資料時代,需要的是資料驅動最優平臺和產品的選擇。

5. MPP關係型資料庫與Hadoop的非關係型資料庫

大資料儲存技術路線最典型的共有三種:

第一種是採用MPP架構的新型資料庫叢集,重點面向行業大資料,採用Shared Nothing架構,通過列儲存、粗粒度索引等多項大資料處理技術,再結合MPP架構高效的分散式計算模式,完成對分析類應用的支撐,執行環境多為低成本PC Server,具有高效能和高擴充套件性的特點,在企業分析類應用領域獲得極其廣泛的應用。

這類MPP產品可以有效支撐PB級別的結構化資料分析,這是傳統資料庫技術無法勝任的。對於企業新一代的資料倉儲和結構化資料分析,目前最佳選擇是MPP資料庫。

圖1 MPP架構圖

第二種是基於Hadoop的技術擴充套件和封裝,圍繞Hadoop衍生出相關的大資料技術,應對傳統關係型資料庫較難處理的資料和場景,例如針對非結構化資料的儲存和計算等,充分利用Hadoop開源的優勢,伴隨相關技術的不斷進步,其應用場景也將逐步擴大,目前最為典型的應用場景就是通過擴充套件和封裝Hadoop來實現對網際網路大資料儲存、分析的支撐。這裡面有幾十種NoSQL技術,也在進一步的細分。對於非結構、半結構化資料處理、複雜的ETL流程、複雜的資料探勘和計算模型,Hadoop平臺更擅長。

第三種是大資料一體機,這是一種專為大資料的分析處理而設計的軟、硬體結合的產品,由一組整合的伺服器、儲存裝置、作業系統、資料庫管理系統以及為資料查詢、處理、分析用途而特別預先安裝及優化的軟體組成,高效能大資料一體機具有良好的穩定性和縱向擴充套件性。

6. 資料倉儲的重要性

在網際網路高速發展之前,無論是電信運營商,還是大銀行,保險公司等都花費了鉅額資金建立了自己的企業級資料倉儲。這些倉庫主要是為企業決策者生成企業的一些關鍵指標(KPI),有的企業有幾千張、甚至上萬張KPI報表,有日表,周表,月表等等。這些系統有幾個主要特徵:

技術架構主要基於傳統RDBMS + 小型機 + 高階陣列 (就是大家說的IOE),當然資料庫有部分DB2,Teradata等。

報表基本都是固定的靜態報表,產生的方式是T+1 (無法即時產生)。

資料量增長相對緩慢,DW的環境變化很少。

終端使用者只能看彙總的報表,很少能夠基於彙總資料做動態drilldown (鑽取)。

多數領導基本上認為花了很多錢,但看不出是否值得做,有雞肋的感覺。最後大家對大量的報表都視而不見了。

這類系統屬於“高富帥”,是有錢的企業給領導用的。

最後,目前多數企業和部門根本就沒有資料倉儲。其實大家對傳統資料的分析還沒做得太好、還沒有普及,現在又遇上了大資料。

資料倉儲對企業是真正有用的,其關鍵還是如何把資料用好。

7. 資料處理技術的核心問題到底是什麼?

其實我們一直面臨著資料處理中最核心、最大的問題,那就是效能問題。效能不好的技術和產品是沒有生命力的。資料處理效能問題不是因為大資料才出現,也不會有了大資料技術而消失。處理效能的提升將促進對資料價值的挖掘和使用,而資料價值挖掘的越多、越深入,對處理技術要求就越高。

目前的資料倉儲只能滿足一些靜態統計需求,而且是T+1模式;也是因為效能問題,運營商無法有效構造超過PB級別的大資料倉儲,無法提供即席查詢、自助分析、複雜模型迭代分析的能力,更無法讓大量一線人員使用資料分析手段。

今天如果做“大資料”資料倉儲,運營商面臨的挑戰比上個10年要大的多。目前沒有單一技術和平臺能夠滿足類似運營商的資料分析需求。可選的方案只能是混搭架構,用不同的分散式技術來支撐一個超越PB級的資料倉儲系統。這個混搭架構主要的核心是新一代的MPP並行資料庫叢集+ Hadoop叢集,再加上一些記憶體計算、甚至流計算技術等。

大資料需要多元化的技術來支撐。當前資料處理對企業的挑戰越來越大,主要是下面幾個原因:

第一個原因是資料量已經是上一代的一個數量級了,1個省份級運營商1年就可超越1PB結構化資料。

第二個原因是“大資料”關注的更多是使用者行為、群體趨勢、事件之間的相關性等,而不僅僅是過去的KPI,。這就對資料分析平臺對資料的分析能力和效能提出了新的要求和挑戰。

圖2未來大資料處理的核心技術

8. 總結——新型MPP資料庫的價值

技術:基於列儲存+MPP架構的新型資料庫在核心技術上跟傳統資料庫有巨大差別,是為面向結構化資料分析設計開發的,能夠有效處理PB級別的資料量。在技術上為很多行業使用者解決了資料處理效能問題。

使用者價值:新型資料庫是執行在x-86 PC伺服器之上的,可以大大降低資料處理的成本(1個數量級)。

未來趨勢:新型資料庫將逐步與Hadoop生態系統結合混搭使用,用MPP處理PB級別的、高質量的結構化資料,同時為應用提供豐富的SQL和事務支援能力;用Hadoop實現半結構化、非結構化資料處理。這樣可同時滿足結構化、半結構化和非結構化資料的處理需求。

下圖是南大通用正在做的大資料處理平臺架構圖,將逐步把MPP與Hadoop技術融合在一起,為使用者提供透明的資料管理平臺。

圖3 MPP與Hadoop技術融合的產品架構圖

相關文章