又到一年盤(pán)點(diǎn)時(shí)。在剛剛經(jīng)歷了“大年(新產(chǎn)品集中發(fā)布)”之后,2013年數(shù)據(jù)庫(kù)市場(chǎng)依舊保持了快步發(fā)展的節(jié)奏。隨著數(shù)據(jù)量的極速增長(zhǎng)以及技術(shù)的完善成熟,企業(yè)對(duì)數(shù)據(jù)分析的需求達(dá)到了前所未有的高度,海量數(shù)據(jù)中蘊(yùn)含的商業(yè)價(jià)值等待被挖掘。與此同時(shí),云數(shù)據(jù)庫(kù)技術(shù)以及數(shù)據(jù)庫(kù)即服務(wù)(DBaaS)的出現(xiàn)讓企業(yè)可以把更多基礎(chǔ)架構(gòu)運(yùn)維的工作轉(zhuǎn)移給服務(wù)提供商,而傳統(tǒng)數(shù)據(jù)庫(kù)管理員(DBA)的價(jià)值究竟如何體現(xiàn),這是個(gè)問(wèn)題。為此我們?cè)诒疚闹?,將從多個(gè)角度為您總結(jié)數(shù)據(jù)庫(kù)領(lǐng)域在過(guò)去一年中幾個(gè)值得關(guān)注的話題。
數(shù)據(jù)分析崛起 列式存儲(chǔ)+內(nèi)存分析引領(lǐng)“潮流”
傳統(tǒng)做交易數(shù)據(jù)庫(kù)的廠商今年都忙著推出最新的分析型數(shù)據(jù)庫(kù),這是他們之前并不太關(guān)注的領(lǐng)域。事實(shí)上交易型數(shù)據(jù)庫(kù)管理系統(tǒng)的技術(shù)復(fù)雜度與門(mén)檻要遠(yuǎn)高于分析型系統(tǒng),對(duì)于這種廠商集體“向后轉(zhuǎn),齊步走”的行為,IBM的負(fù)責(zé)人總結(jié)的很好:數(shù)據(jù)分析市場(chǎng)的增長(zhǎng)速度非常之快,客戶對(duì)應(yīng)用的需求已經(jīng)從之前的記錄系統(tǒng)(system of record)應(yīng)用逐漸轉(zhuǎn)向員工系統(tǒng)(system of engagement)應(yīng)用。也就是說(shuō)從交易型工作負(fù)載轉(zhuǎn)移到了范圍更廣、發(fā)展速度更快的分析型工作負(fù)載??梢哉f(shuō)分析已經(jīng)無(wú)處不在。
分析型數(shù)據(jù)庫(kù)中的一個(gè)主要技術(shù)就是列式存儲(chǔ),將數(shù)據(jù)以列的方式存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中,一方面能夠?qū)?shù)據(jù)進(jìn)行更深度的壓縮,控制數(shù)據(jù)量同時(shí)減少I(mǎi)/O,提升數(shù)據(jù)分析性能。列式數(shù)據(jù)存儲(chǔ)并不是什么新技術(shù),在當(dāng)年的Sybase IQ以及Vertica等數(shù)據(jù)庫(kù)產(chǎn)品中已經(jīng)得到了廣泛的應(yīng)用。在新一輪的數(shù)據(jù)分析浪潮當(dāng)中,內(nèi)存技術(shù)的崛起讓列式數(shù)據(jù)庫(kù)有了更廣闊的發(fā)揮空間,壓縮過(guò)的數(shù)據(jù)可以全部放到內(nèi)存中進(jìn)行分析,把數(shù)據(jù)庫(kù)性能推向了極致。列式存儲(chǔ)+內(nèi)存分析在某種程度上已經(jīng)成為新時(shí)代數(shù)據(jù)庫(kù)技術(shù)的“標(biāo)配”。
IBM推出DB2 BLU技術(shù),加速大數(shù)據(jù)分析
今年對(duì)于DB2來(lái)說(shuō)是不同尋常的一年,因?yàn)檫@個(gè)關(guān)系型數(shù)據(jù)庫(kù)的鼻祖迎來(lái)了它“30歲的生日”。我們也專(zhuān)門(mén)為DB2策劃了一個(gè)專(zhuān)題,回顧了它過(guò)去30年的發(fā)展歷程。今年4月份,IBM推出了最新版的DB2 10.5數(shù)據(jù)庫(kù),其中增加了BLU加速器功能,讓用戶的目光再次聚焦在IBM的旗艦級(jí)關(guān)系型數(shù)據(jù)庫(kù)之上。
DB2 BLU加速器是一個(gè)壓縮優(yōu)化、內(nèi)存優(yōu)化的基于列式的數(shù)據(jù)庫(kù)產(chǎn)品。在技術(shù)方面它的亮點(diǎn)主要包括:查詢功能完全管道化(pipelining ),表掃描可以共享;數(shù)據(jù)忽略(Data Skipping)功能能夠有效降低I/O;基于單指令多數(shù)據(jù)結(jié)構(gòu)(SIMD)的矢量化(Vectorization );概率緩存取代傳統(tǒng)LRU(Least Recently Used),經(jīng)常被引用的數(shù)據(jù)塊出現(xiàn)在內(nèi)存當(dāng)中的幾率就越大。這一功能的背后還有更復(fù)雜的隨機(jī)算法支持;“自動(dòng)化工作負(fù)載管理”功能,IBM認(rèn)為查詢之間的資源爭(zhēng)用是造成資源浪費(fèi)的主要原因,這一功能讓BLU加速器與傳統(tǒng)DB2數(shù)據(jù)庫(kù)相比在并發(fā)性上產(chǎn)生差異性優(yōu)勢(shì)。
當(dāng)然,DB2 BLU加速器也存在一些的限制和不足。通過(guò)與IBM技術(shù)人員的溝通我們發(fā)現(xiàn),DB2 BLU加速器并不會(huì)自動(dòng)化地區(qū)分哪些數(shù)據(jù)庫(kù)表該用列式存儲(chǔ),哪些該用傳統(tǒng)的行式存儲(chǔ),IBM認(rèn)為數(shù)據(jù)庫(kù)的負(fù)載變化是不好預(yù)測(cè)的,因此目前的技術(shù)還沒(méi)有達(dá)到要求。另外DB2 BLU加速器目前還只是支持縱向擴(kuò)展(Scale-up),也就是說(shuō)基于單一服務(wù)器,這也影響了內(nèi)存技術(shù)發(fā)揮其更大的作用。希望IBM能夠盡快解決這一問(wèn)題。
Oracle“服軟”,內(nèi)存數(shù)據(jù)庫(kù)選件挑戰(zhàn)SAP神經(jīng)
雖然嘴上說(shuō)與SAP HANA沒(méi)有可比性,但明眼人都能看出來(lái)今年10月份推出的Oracle內(nèi)存數(shù)據(jù)庫(kù)選件(in-memory database option)是沖著SAP來(lái)的。目前大部分SAP的應(yīng)用是跑在Oracle數(shù)據(jù)庫(kù)上的,但誰(shuí)也不能保證10年以后還是這樣,因?yàn)镾AP在大力推廣他們的HANA數(shù)據(jù)庫(kù)并且收到了不錯(cuò)的效果。就連數(shù)據(jù)庫(kù)技術(shù)大牛Michael Stonebraker也預(yù)測(cè)未來(lái)Oracle會(huì)感受到來(lái)自SAP的壓力。那么現(xiàn)在問(wèn)題變成了,當(dāng)Oracle也有類(lèi)似產(chǎn)品,并且能夠保證應(yīng)用的無(wú)縫遷移時(shí),客戶會(huì)選誰(shuí)家的產(chǎn)品?
每次開(kāi)大會(huì),Oracle幾乎都不會(huì)忘了吐槽SAP兩句,今年的OpenWorld也不例外。但今年SAP沒(méi)有再選擇隔空喊話,而是直接把飛機(jī)開(kāi)到舊金山上空“砸場(chǎng)”。SAP的史維學(xué)還特意錄了視頻歡迎Oracle加入內(nèi)存數(shù)據(jù)庫(kù)派對(duì),開(kāi)玩笑問(wèn)為什么Larry花了4年的時(shí)間才醒悟過(guò)來(lái)HANA的路是正確的。那么Oracle的內(nèi)存數(shù)據(jù)庫(kù)和HANA相比究竟有哪些區(qū)別呢?
首先Oracle內(nèi)存數(shù)據(jù)庫(kù)選件支持兩種方式的數(shù)據(jù)存儲(chǔ)格式,即傳統(tǒng)的行式存儲(chǔ),以及新的列存儲(chǔ)。針對(duì)同一個(gè)數(shù)據(jù)和表,Oracle內(nèi)存數(shù)據(jù)庫(kù)能夠同時(shí)以兩種格式進(jìn)行存儲(chǔ),并同時(shí)進(jìn)行更新(增刪改)并保持一致。比如增加一行數(shù)據(jù)到一張表,以列格式存儲(chǔ)的數(shù)據(jù)也會(huì)同步更新。對(duì)OLAP方面的性能提升無(wú)需多言,而且它刪除了大量原來(lái)用于統(tǒng)計(jì)的索引,也間接提升了OLTP性能。此外,所有傳統(tǒng)的Oracle數(shù)據(jù)庫(kù)可用性功能在啟用新的內(nèi)存數(shù)據(jù)庫(kù)選項(xiàng)時(shí),都不會(huì)發(fā)生變化。應(yīng)用也可以無(wú)縫運(yùn)行在Oracle內(nèi)存數(shù)據(jù)庫(kù)選件上,這對(duì)于SAP應(yīng)用的客戶來(lái)說(shuō)是非常有吸引力的。事實(shí)上,數(shù)據(jù)庫(kù)平臺(tái)的遷移會(huì)帶來(lái)大量底層架構(gòu)以及前端應(yīng)用的變動(dòng),這是客戶無(wú)法接受的。如果客戶可以使用原來(lái)的技術(shù)同時(shí)又能保證未來(lái)系統(tǒng)對(duì)性能的需求,那么相信沒(méi)有誰(shuí)會(huì)想這么折騰。
SAP HANA:體現(xiàn)的是平臺(tái)價(jià)值
SAP已經(jīng)把HANA視為最重要的技術(shù),而包括應(yīng)用軟件(Business Suite、HCM)、云計(jì)算以及移動(dòng)等平臺(tái)在未來(lái)都將圍繞HANA進(jìn)行構(gòu)建。其優(yōu)勢(shì)在于它已經(jīng)在列式存儲(chǔ)+內(nèi)存分析這條路上走了3年多時(shí)間,如果算上之前的Sybase IQ已經(jīng)有十幾年的時(shí)間,而包括IBM的DB2 BLU也只是剛剛發(fā)布,Oracle的內(nèi)存數(shù)據(jù)庫(kù)選件正式發(fā)布時(shí)間還未確定。雖然占比不高,但SAP HANA確實(shí)已經(jīng)有一些上線的安裝基礎(chǔ)了,這確實(shí)是IBM、Oracle無(wú)法與SAP相比的地方。
SAP認(rèn)為,企業(yè)的系統(tǒng)核心、數(shù)據(jù)結(jié)構(gòu)以及處理流程越一致,其ERP所能發(fā)揮的效能就越高。SAP在努力說(shuō)服客戶從Oracle遷移到HANA平臺(tái)上,忽略底層技術(shù)的復(fù)雜性,更關(guān)注于最終實(shí)現(xiàn)功能的周期以及系統(tǒng)性能的提升。因?yàn)榭蛻魧?duì)新技術(shù)的抵觸情緒是阻礙HANA進(jìn)一步普及的主要原因之一,客戶需要看到更多HANA成功案例,而SAP自己就是最大的證明,他們只用了一年的時(shí)間就將公司的BW、CRM和ERP系統(tǒng)遷移到了HANA平臺(tái)上。
今年五月份,SAP宣布Business Suite on HANA正式GA(general availability),預(yù)計(jì)到年底 Business Suite on HANA的目標(biāo)客戶將達(dá)到600以上。而SAP認(rèn)為HANA還有很大的提升空間,比如接近實(shí)時(shí)的處理非常復(fù)雜的查詢,以及更高的查詢速度。另外SAP也與合作伙伴努力打造HANA生態(tài)系統(tǒng),推出單一服務(wù)器的HANA一體機(jī),比如HP的服務(wù)器已經(jīng)支持12-48TB的DRAM;IBM也在x86架構(gòu)服務(wù)器上為HANA提供了解決方案,通過(guò)獨(dú)特的設(shè)計(jì)能夠讓HANA的性能發(fā)揮到極致;SAP還通過(guò)AWS為用戶提供HANA one平臺(tái)服務(wù)。在橫向擴(kuò)展(scale out)方面,SAP還實(shí)現(xiàn)了1萬(wàn)個(gè)CPU核心,250 TB數(shù)據(jù)的HANA集群部署。
“SAP HANA不是無(wú)聊的數(shù)據(jù)庫(kù),而是企業(yè)未來(lái)創(chuàng)新的基礎(chǔ)平臺(tái)。”這是SAP想傳遞給客戶的關(guān)鍵信息。擴(kuò)展閱讀:SAP HANA:凸顯平臺(tái)的價(jià)值
微軟SQL Server 2014主打內(nèi)存OLTP
雖然在企業(yè)級(jí)層面微軟的數(shù)據(jù)庫(kù)技術(shù)同上述三大廠商相比還有一定差距,但微軟一直在努力縮短這一差距。在SQL Server 2012剛剛發(fā)布一年多時(shí)間之后,下一代數(shù)據(jù)庫(kù)平臺(tái)SQL Server 2014也即將問(wèn)世。目前微軟已經(jīng)完成了第二版的社區(qū)預(yù)覽,也正式版之前的最后一個(gè)測(cè)試版本,在明年年初SQL Server 2014就將迎來(lái)最終發(fā)布。
與IBM、Oracle以及SAP不同,微軟SQL Server 2014主打的并不是分析系統(tǒng),而是利用內(nèi)存技術(shù)提升OLTP性能。據(jù)了解,微軟這一以“Hekaton”為代號(hào)的項(xiàng)目將正式更名為SQL Server內(nèi)存OLTP引擎。微軟針對(duì)在OLTP操作進(jìn)行了大量的優(yōu)化,這些操作將在內(nèi)存中完成,能夠在提升性能的同時(shí),支持更大的讀負(fù)載。與其他類(lèi)似產(chǎn)品不同的是,SQL Server 2014的內(nèi)存數(shù)據(jù)庫(kù)功能將不依賴于昂貴的硬件,用戶可以自行選擇哪些數(shù)據(jù)庫(kù)表放到內(nèi)存里,哪些放在硬盤(pán)上。而像HANA這樣的產(chǎn)品是完全基于內(nèi)存的,需要購(gòu)買(mǎi)成本較高的硬件設(shè)備進(jìn)行支持。SQL Server 2014使用現(xiàn)有的硬件設(shè)備就可以充分利用微軟內(nèi)存數(shù)據(jù)庫(kù)的優(yōu)勢(shì)。
此外,SQL Server 2014還將與Windows Azure進(jìn)行更緊密的集成,包括將Azure VM用作AlwaysOn高可用性組的副本,內(nèi)置了Azure備份支持等。在列存儲(chǔ)方面,SQL Server 2014也將推出新一代的xVelocity ColumnStore技術(shù),它可以對(duì)數(shù)據(jù)進(jìn)行持續(xù)加載,同時(shí)列存儲(chǔ)索引能夠讓SQL Server在索引中對(duì)數(shù)據(jù)進(jìn)行壓縮,從而進(jìn)一步提升查詢性能。與之前的版本相比,SQL Server 2014可以在已有的列存儲(chǔ)索引中對(duì)數(shù)據(jù)進(jìn)行加載和刪除操作。