2011資料庫技術發展現狀與未來趨勢(轉載)

paulyibinyi發表於2011-07-20
近幾年來,NoSQL運動如火如荼,不斷有業內的巨頭加入陣營,釋出和推廣NoSQL的相關產品,開拓應用場景。傳統關係型資料庫軟體廠商也不甘寂寞,新產品、新版本、新特性不斷髮布,新官司、新收購也頻頻爆出,即使一向沉靜的資料庫市場,也被震出了幾絲波瀾。

  就讓我們一起來回顧近兩年間資料庫市場的風雲變幻和起伏跌宕,並展望未來幾年,資料庫市場及相關領域的發展吧。

  ORACLE依然拉風

  進入2011年,ORACLE繼續拉風的強勢,據Gartner近期釋出的調查報告顯示,在RDBMS市場,Oracle的市場份額已經佔到48.1%,仍然位居第一位,其市場份額超過了之後的五個競爭對手的總和。

  近些年來,ORACLE在資本層面頻頻發起重量級的併購,先後收購了PeopleSoft、BEA、SUN等知名軟體企業,極大增強了自家整體實力。產品線上也是四面出擊,現如今的ORACLE早已由一個單純的資料庫軟體廠商,蛻變成產品集合涵蓋了包括資料庫、中介軟體、作業系統、企業化管理、商業智慧、虛擬機器、開發工具等,從軟體到硬體,可對外提供完整企業解決方案的巨無霸廠商,完成從賣產品到賣服務的重大角色轉變。

  ORACLE的產品線漫長且數量眾多,進入2011年,在筆者看來,下列產品值得著重描述,這些產品未來的發展,也有可能會對整個市場產生重大影響。

  1) Exadata

  2008年的OOW大會上,ORACLE與HP合作推出了具備劃時代意義的資料庫一體機Exadata,專攻OLAP市場,該款產品的硬體由HP提供,ORACLE則提供軟體支援。完成對SUN的收購後,ORACLE變相擁有了自己的硬體產品 - 來自SUN的硬體系統。

  經過資源的整合,ORACLE迅速推出了Exadata V2,硬體方面改用SUN的X86架構產品現在是自家的產品了,資料庫系統則升級到最新版本的11gR2,相比上一代產品,Exadata V2變化巨大。

  首先是硬體方面的變化,雖說V2的整體架構相比一代產品沒有大的改變,不過一方面資料庫伺服器的主機換成了SUN的硬體,配置有所增強,另外每臺Storage Cell更是配置了384Gb的Flash Cache。在軟體設計方面,Exadata首次引入了HCC特性(Hybrid Columnar Compression),中文直譯的話應該叫做混合列壓縮,這是在傳統的行儲存方式和資料倉儲系統中常被應用的列式儲存混合應用的一種變通方式,HCC相當於是在Block和Extend之間又引入了一級儲存關係,定義為壓縮單元(Compress Unix,CU),在一個CU內按照列的方式儲存,而每個CU與CU則按照基本行的方式儲存,相當於綜合了列式儲存高壓縮比和行式訪問的特點。

  除此之外,Exadata還有一些Smart的技術,比如說V1中就被引入的Smart Scan技術,以及新增的Storage Index技術等,想必ORACLE也是希望籍著這些"Smart"的技術來表明,Exadata並非僅只是一個配置強豪華的黑匣子。

  根據ORACLE此前釋出的訊息稱,全球已經部署超過1000臺的Exadata,使用者遍及67個國家的23個行業,如果按照Exadata高昂的報價來計算,Exadata已經有了不小的收穫。而且自Exadata V1釋出至今,經過三年的市場培育以及這麼長時間的實際檢驗,是否可以說,Exadata確實經受住了考驗。

  2) GoldenGate

  即便已經擁有如高階複製、Streams等資料同步特性,ORACLE仍然於2009年收購了第三方專業資料整合公司GoldenGate,這項收購再一次充分體現出ORACLE公司的戰略思維。在收購訊息爆出之後,有些評論文章對於ORACLE公司是否能夠有效整合已有的資料整合產品存有疑慮,其實,這種論斷多半是由於不瞭解ORACLE公司產品特點。

  事實上,在被ORACLE公司收購之前,GoldenGate就已在全球擁有數百家客戶,其中不乏頂尖的金融及企業。由於具有跨平臺、異構資料庫的特點,GoldenGate的應用場景要廣泛的多,包括資料庫同步/高可用和容災/應急備份/資料抽取/雙業務中心/實時報表查詢等場景均能適用。特別是在異構資料庫、跨平臺支援等場景下,使用GoldenGate更是具有先天優勢,GoldenGate捕獲到的Change Data是儲存在獨立的檔案中,這就使得其具有跨平臺、跨版本及DB無關性的特點。

  GoldenGate目前最新版本v11.1,能夠執行在包括Windows2000/2003/2008/XP、Linux、Sun Solaris、HP-UX/HP TRU64、IBM AIX、IBM z/OS等幾乎所有的主流作業系統下,對於主流的DB2、Sybase、MS SQL Server、MySQL等資料庫產品均有對應版本,記憶體資料庫TimesTen及資料倉儲Teradata也能被支援,尤其對於自家的ORACLE資料庫,從8i到11gR2各個版本均能支援。

  GoldenGate V11在增強功能和擴大平臺支援的前提下,資料處理的效能也非常優秀,同時也支援在Standby系統中實現資料抽取,從而將對源端的影響降到最低,資料的轉換、複製都非常快,可以實現關鍵系統的實時資料整合。透過GoldenGate的異構特點,使其擁有將ORACLE資料庫和非ORACLE資料庫統統納入到同一個平臺的能力,而在這之上仍然是由ORACLE的應用產品在支撐和管理整個企業的資料。

  3) MySQL

  2008年先是MySQL被SUN收購,到了2009年ORACLE又收購了SUN,這真是一波未平一波又起。在Oracle宣佈對SUN的收購之後,很多業內人士對於MySQL的前景比較悲觀,甚至有評論文章稱Oracle可能放棄MySQL,而ORACLE對此則守口如瓶毫無表態,直到2010年的JavaOne大會,Oracle的首席架構師Edward Screven在大會上公開表態稱:Oracle不會放棄MySQL,相反,還會更加努力的讓MySQL變的更好。

  不過,事實情況是,相當長一段時間裡MySQL資料庫幾乎都處於停滯發展的情況。在Sun收購MySQL後,MySQL就面臨著市場競爭力減弱的問題(倒是便宜了PostgreSQL),很多使用者擔心MySQL可能淪為商業性盈利的產品。

  易主於ORACLE之後,MySQL相關的產品計劃也一直沒有清晰的定位,小版本的更新大多都是些小打小鬧。直到2011年初,MySQL重大升級,對外發布了MySQL5.5正式版,雖說從主要增加的功能上來看並無重量級特性,至於其著力宣揚的兩處重大改動:修改InnoDB做為預設儲存引擎和提供Replication的半同步機制,前者在實際應用場景中早已成為事實上的標準設定,而後者,象徵意義更加明顯。

  出於市場競爭的需要,ORACLE必須支援MySQL,其本身也確實具備支援MySQL發展的資源。如果MySQL停滯不前或被廢棄,只會讓新的開源資料庫崛起,這對ORACLE的整個戰略更加不利,對於這些因素,ORACLE想必都有清楚的認識。經過前面一年的沉寂,MySQL也再次迴歸快速發展的軌道,在MySQL5.5正式版推出後不久,MySQL5.6 RC社群版也在官網釋出,並且明確了開發目標和方向,這些訊息不管是對終端使用者還是DBA都屬利好訊息。

  同時,ORACLE也在加緊MySQL企業版和Oracle其他系列產品的整合。據悉在2011年,MySQL的企業版本將會於Oracle的 EnterpriseManager及審計工具、安全備份等產品進行整合,其中有些已經在Oracle的計劃藍圖中了。

  IBM繼續“破甲”

  在企業級RDBMS領域,IBM的DB2被公認為是ORACLE資料庫的最大對手,兩大廠商之間也是恩怨糾葛。ORACLE公司的CEO Larry Ellison多次將Oracle的產品與IBM相對比,公開叫板IBM,甚至用懸賞千萬美元獎金的方式,用自家產品挑戰IBM DB2的資料庫效能。

  面對挑戰,IBM這個一向內斂的企業也醞釀著反擊,並於2010年初展開了針對意味十足的“破甲行動”。整個“破甲行動”的核心,其實是以TCO(Total Cost of Ownership,總體擁有成本)做為攻擊的重心。由於ORACLE採取的價格策略中維護費用很高,對於客戶的諮詢回覆速度不夠及時,IBM則針對性地鼓勵並幫助使用者移植到DB2資料庫平臺,提升使用者TCO的整體方案。並加強與SAP等其它廠商的合作,進一步提升DB2資料庫中在SAP應用軟體的效能。

  在資料庫軟體方面,IBM也在加緊提升軟體功能,DB2推出的pureScale技術,在不付出較大效能做為代價的前提下,具備橫向擴充套件的能力,幫助企業實現“向外擴充套件”的資料庫叢集,並具有高可用性、應用程式透明等多項特徵,被認為是用來挑戰ORACLE公司的RAC技術。另一方面,則是著重提高相容性,按照IBM的說法,目前向DB2移植的成本和風險已經大大降低,DB2 從V9.7版本開始增加對Oracle資料庫語法的支援,據稱能夠實現97%的應用程式與Oracle相容,對於剩下的3%的相容性問題,將透過IBM CDL新成立的由40位資深工程師組成的移植中心,幫助使用者實現平滑移植。

  Microsoft在發力

  儘管是與ORACLE、IBM這樣的老牌關係型資料庫軟體廠商同臺競技,但Microsoft公司的SQL Server表現不弱,並有逐年增強之勢。根據RZ Research最新研究報告表明,在全球資料庫領域,Microsoft的SQL Server佔有率遙遙領先居於首位,這主要是得益於SQL Server優秀的操控體驗,易用的管理功能。不過如果細分市場的話,SQL Server一直是在中小企業市場佔據較大比重,這也與SQL Server一直深植Windows平臺有重大關係,這部分市場競爭激烈,並且持續受到像MySQL這類開源資料庫的擠壓。

  先搶佔市場,再豐富功能,Microsoft公司的市場路線,一度被人形容為“農村包圍城市”。這些年來,MS SQL SERVER一直在發力追趕,從雲端計算到虛擬化技術,再到自助商業智慧工具等。

  2010年4月,Microsoft公司推出了SQL Server 2008 R2,著重在商業智慧、可擴充套件性和平臺整合性方面做了進一步增強,在客戶端支援方面SQL Server更是有天然優勢,包括ADO、OLE DB、DAO、ODBC和新加入的ADO.NET、Native Client支援等,在前臺開發工具中,則與Visual Studio天衣無縫的結合,甚至C#可以在SQL Server中進行開發,國際化、本地化支援方面也非常完備,所提供的豐富功能贏得了開發者的高度認同,以至於被人稱為開發者版本。

  2010年11月份,Microsoft在SQL Server專家大會(PASS)上釋出了代號Denali的下一個版本,在延續了該軟體的一貫風格的同時,繼續針對各種IT人員開發出各式各樣的全新特性。

  根據已經公佈的訊息,在SQL Server 2011中新增功能包括:

  ● 列式儲存,提供了更高的壓縮比,並大幅降低查詢檢索時掃描的頁面數量;

  ● 引入AlwaysOn技術,可視作是資料庫映象與叢集的結合體,具體的實現方式是將一組資料庫定義為一個可用性單元,以此來提供跨資料庫物件引用的高可用體驗;

  ● 增強資料視覺化功能,SQL Server提供了一個新的基於Web的報表設定器,使用Silverlight框架,透過簡單易用的展示工具和強大的視覺化元件的配合,即可向終端使用者提供報表,極大簡化了傳統的BI模型建立方式。

  Sybase持續邊緣

  做為全球第四大資料庫廠商,Sybase在規模上其實已經遠遜於前三名,即使是Sybase旗下的關係型資料庫管理系統主打品牌ASE,現如今還有多少人記得它曾經的名字:Sql Server呢。該系統是由Sybase當年聯合微軟及Ashton-Tate共同進行開發,Sybase身為程式碼的擁有者,對於SqlServer這個名字來說應該更加關係密切,然後,時過境遷,隨著市場份額的逐年下降,影響力也日趨弱化,到最後為了能夠與MicroSoft Sql Server有所區分,以至於連Sql Server的名字都主動放棄了,於是才有了現如今的ASE。

  Sybase ASE(Adaptive Server Enterprise)目前已經發展到了15.5版了,新版本自然也帶來了數項新特性,包括推出了對記憶體資料庫的支援,ASE 15.5的記憶體資料庫有兩種型別:完全記憶體資料庫(沒有磁碟駐留)和鬆緩持久化資料庫(作為記憶體資料庫,被可用記憶體的限制時,以及在合理關閉時可被持久化),可以應對不同的場景;最新版本的ASE 15.5也完全能夠支援Adaptive Server備份伺服器並整合TSM(IBM Tivoli Storage Manager),相信會使得備份物件的管理更加便利;此外,最新版本還支援使用者建立其他的Tempdb組;支援使用者自定義儲存過程的延遲命令;提供了新的壓縮演算法,可用於資料庫壓縮備份,相當該項演算法引進會使得記憶體和CPU消耗方面更加高效。

  在級資料倉儲解決方案方面,Sybase擁有企業級資料倉儲分析軟體Sybase IQ,就在本月7號,Sybase宣佈其基於新一代全共享的大規模並行處理(MPP)技術的Sybase IQ 15.3將全面上市,新版本提供常用和新型程式語言版本的API,以及為軟體開發人員簡化整合過程的Web Services介面,進一步強化Sybase IQ將業務分析整合到應用程式和業務流程的能力。

  在移動資料庫領域,Sybase處於絕對領先的地位,其ASA(SQL Anywhere)擁有半數以上的市場份額,2010年7月,SAP公司出價58億美元完成了對Sybase的收購,當時就有不少業內人士認為SAP收購Sybase意在潛力巨大的移動資訊化市場。

  透過將 SAP 企業級應用軟體產品組合和 Sybase的資料庫、移動應用產品等技術的優勢互補,SAP 能夠提供一個完整且最佳化的高效業務分析基礎架構。

  不過,由於Sybase在全球資料庫領域市場份額已經極為弱化尤其相較ORACLE資料庫而言,而SAP的很多客戶卻均使用ORACLE資料庫作為資料支撐,SAP公司面對這種窘境,在平臺整合期恐怕異常痛苦,其次,完成對Sybase的收購後,SAP已經涉入IBM等合作的核心業務領域,未來面臨直接競爭恐怕避無可避,這在相當程度上也會對SAP公司與其它廠商的合作關係及未來業務埋下隱患。

  NoSQL愈發興旺

  曾幾何時,應用開發就是寫個客戶端或者網頁,後端程式向資料庫中的表物件執行增刪改查,這一模式延續了數十年,直到現在仍然有相當多的應用基於這種模式。不過,隨著資料量的爆炸式膨脹,特別是應用,對高併發的資料存取效能要求越來越高,對海量資料和訪問和資料儲存的橫向擴充套件需求欲發迫切,傳統模式在應對新形式下新需求時,頻繁地暴露出很多不足。

  2009年,一場“NoSQL”運動的興起,讓很多人激動並積極投入了力量。所謂“NoSQL”運動,通常所指的是非“關係型資料庫”應用,國外的網際網路巨頭早把精力投入到了NoSQL產品的研發並廣泛應用,國內眾多門戶及新興的WEB2.0網站也在利用各種開源NoSQL技術來解決實際問題。

  但是,就目前來看,沒有什麼技術比“NoSQL”更加混亂,想要在這個領域緊跟潮流非常困難,新的專案和技術層出不窮,即使是NoSQL陣營內部,也在彼此交鋒不斷,不過這一點也從側面說明了NoSQL產品的熱度和活力,以下列舉幾類NoSQL應用場景和流行的產品:

  ● 用於列式儲存及分散式計算的有Hadoop專案中的Hbase(Google BigTable的開源專案),FaceBook的Cassandra,GreenPlum,來自Yahoo的PNUTS等;

  ● 用於文件儲存類的包括CouchDB、MongoDB等;

  ● 用於高可用讀寫的Key Value方案更是不勝列舉,包括MemcacheDB、Tokyo Cabinet/Tyrant、Redis、LightCloud、BeansDB等等。

  NoSQL運動雖然如火如荼,但對於很多終端使用者來說,NoSQL方案的應用仍不是做為主要儲存方式,很多場景下還是將其做為一種最佳化的技術手段在應用。這種方式倒並非不可取,不過,其所依託的基礎資料來源,仍然是傳統RDBMS產品。

  之前有訊息稱Facebook、Digg、Twitter都宣佈將淘汰既有的MySQL系統,改用Cassandra方案,不過後來Twitter又在一篇官方技術部落格中提到會暫停使用 Cassandra 來代替 MySQL 儲存 feed 的計劃,究其原因說到底還是因為 Cassandra 仍然缺少大併發海量資料訪問的案例及經驗。同時也有NoSQL運動的先行者意圖脫離這一陣營,比如CouchDB就宣傳自己不再是NoSQL的一分子。綜合來看,NoSQL產品彌補了關係型資料庫在某些應用場景的不足,但是它也並非萬能,仍然需要時間的檢驗,按照毛爺爺的話講就是:前途是光明的,道路是曲折的。

  向前看,趨勢和方向

  1) 網際網路領域NoSQL應用成為主流

  在網際網路應用領域,特別是web2.0網站的一些常見需求,比如資料庫高併發讀寫、海量資料的高效存取、高可用性及高擴充套件性架構等,傳統RDBMS應對這些需求時異常的艱難,或者實現成本極為高昂。

  NoSQL運動在2009年出現井噴,經過三年的蓬勃發展,發展出了眾多不同應用場景的產品,其所擁有的高效海量資料處理能力、高併發存取和簡便的橫向擴充套件等特點,非常適合網際網路應用。筆者認為,在網際網路領域,未來大部分資料庫市場有可能會被NoSQL產品佔領。但是,有必要重申NoSQL的原意,並不是NO SQL,而是Not Only SQL,它並不是要取代目前廣泛應用數十年的傳統資料庫,在一定程度上,它也會與傳統RDBMS產品相配合。最終所採用的技術模型,關鍵還是取決於產品的各個模組,在可靠性/一致性與高效能之間的取捨了。

  2) “雲端計算”正步入實質性階段

  中國古典名著“三國演義”的開篇有這樣一句話:話說開下大勢,分久必合、合久必分。從大的趨勢上來說,資料庫系統發展的這二三十年,也大致符合這一規律。

  在上個世界的七八十年代,廣泛的應用需求再加上產品的空白,促使市場產生了各類的資料庫模型:層次型、網狀型、關係型,並誕生了多家資料庫系統軟體廠商。到了上世紀的八九十年代,大型網路和計算環境的普及,又使得相關企業的需求趨同,最終造就了像ORACLE、DB2、Sybase這類的大型關係型資料庫軟體廠商。到了本世界初,隨著網際網路時代的到來,當下應用需求再次趨向多樣化,多數企業更需要靈活、輕便,功能更切合自身需求的資料管理系統,而不是即大又全、價格還昂貴的通用系統。

  對於資料庫軟體廠商來說,這即是挑戰也是機遇,在當前資料庫市場基本成熟,市場增速放緩的現狀下,只有變化才能產生新的機會,NoSQL運動當下的興起,又何嘗不是因為暗合這種需求呢。

  而隨著網際網路業務的迅猛發展,資料規模急劇的膨脹,與之對應的IT硬體更新速度完全無法與之相比,儲存和管理海量資料已越來越成為亟待解決的問題,雲端計算的概念也是由此應運而生,在這方面,NoSQL所具有的高效能、高可用性、高擴充套件能力非常適合“雲”的需求,也是目前“雲資料”應用的主力。

  儘管有觀點認為,關係型資料庫不合適用於雲端計算環境,但傳統的RDBMS軟體廠商並不甘於沉寂,都在加緊推出自己的應對方案,Oralce企業雲基礎架構解決方案將Oracle的Linux作業系統、虛擬化平臺、ZFS儲存裝置和Sun刀鋒伺服器硬體整合在一起,被設計用來與Oracle企業管理器協同工作,並且據稱Oracle Database下一個版本,極有可能定義為12c(c即cloud)。藍色巨人IBM也不落人落,推出的“藍雲”也是軟硬體結合。Microsof雖然沒有自己的硬體產品,不過由於其擁有全球最多的軟體使用者,影響力不能小視,有訊息稱在即將釋出的代號“Denali”的新版SQL Server,將引入一個專為Visual Studio準備的開發工具,在企業與SQL Azure雲端資料庫之間,架起應用程式開發與部署的橋樑。Sybase IQ則宣稱其主推的列式資料庫更適合雲端計算時代的資料儲存。亞馬遜更是在今年2月份即已宣佈,旗下的Relational Database Service服務於今年第二季度開始支援MySQL資料庫。

  雲端計算已經成為未來海量資料管理的重要方向,從成本和效能兩方面考慮,會有越來越多的企業願意把自己的資料中心轉移到公有云或私有云。

  3) 資料倉儲領域大有可為

  雖然在新興網際網路業務模式下,相比時下火熱的NoSQL產品並不佔優,但在資料倉儲應用環境下,傳統的關係型資料庫仍佔據著重要的市場,並且筆者認為在未來很長一段時間內,都仍將佔據著主流的位置。

  根據Gartner今年2月釋出的最新報告表明,在資料倉儲領域,資料庫管理系統中ORACLE、IBM、Sybase(SAP)等都處於魔力象限的領導者象限,Microsoft公司的Sql Server處於挑戰者象限,但緯度已經非常接近領導者象限的範圍。

  NoSQL陣營也有產品入圍,並且表現出色,Greenplum(EMC)也處於領導者象限,但相比在網際網路領域相同陣營產品的,在資料倉儲領域中就顯得比較孤單。

  筆者認為這與廠商的投入有關係,ORACLE資料庫做為關聯式資料庫領域最強大的資料庫軟體,有完善的資料倉儲解決方案,並且ORACLE公司於2007推出Exadata V1,在產品釋出時就明確專用於OLAP,劍指競爭對手Teradata。隨後推出的升級版本V2在增強配置及功能的前提下,將OLAP應用也囊括其中。據ORACLE自己釋出的統計資料來看,硬是生生地從資料倉儲領域的老牌領導者Teradata中搶佔了不少市場。

  而另一個巨頭IBM則是即有DB2這樣的關係型資料庫軟體,也有於2010年收購來的資料倉儲與資料分析專業廠商Netezza,合力在資料倉儲領域拼搶市場。Sybase做為首家推出基於列儲存的關係型資料庫軟體,其主推產品Sybase IQ提供多個頗具特色的技術,包括Bit-Wish索引技術,預連線(PReJoin)策略,得益於列式儲存所帶來的資料壓縮和並行處理的高效等等。

  4) DBA變身架構師

  關係型資料庫仍然主流的時代,工程師們往往只需要專注於所使用的資料庫產品的特性及相關維護工作上,但在現如今這樣一個資訊大爆炸的時代,生成海量資料的應用遍佈四周,雖然同樣還是面對資料,但不同的應用有各自不同的特點和需求,各種模型各種實現也紛紛興起,越是大型的應用,越會面對複雜的儲存層管理需求,工程師就需要有能力根據應用的特點,使用不同技術滿足不同應用的需求。

  有需要採用cache層處理的,有需要Key Value資料庫支援的,有應用列式儲存的,有支援海量檔案的,也有管理重要資料的關係型資料庫。如GoldenGate這類資料整合軟體的應用,也會將產品中資料在不同平臺流轉的現象變的更為普遍。

  軟體越來越豐富,版本也不停在升級,功能不斷在增強,智慧化程度越來越高,技術產品確實越來越易用,工具也會越來越簡便,但這個行業正變的越來越複雜,DBA必須做好從維護傳統的單一平臺系統到架構師的轉變,儲備更多的“食糧”應對新時代下的不同需求。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-702657/,如需轉載,請註明出處,否則將追究法律責任。

相關文章