誰能撼動Oracle DB的霸主地位?

誰能撼動OracleDB的霸主地位?

就在本月(2014610日),Oracle正式宣佈推出旗下數據庫12c的內存選件(In-Memory Option),這也標誌着甲骨文正式進入內存數據庫市場(不過oracle DB v12.1.0.1中還未引入這個IMCC特性,也許要等到12cR2版本)。內存列式數據庫技術能否引發數據庫應用的顛覆性變革?SAPIBMOracle都宣稱自己的內存列式數據庫產品性能會提升100倍到1000倍,未來數據庫市場會由此重新洗牌嗎?

 

早在200612月,圖靈獎獲得者數據庫專家詹姆士·格雷 (James Gray)曾說過“Tape is Dead, Disk is Tape, Flash is Disk, RAM Locality is King.” 四年以後的2010年底,SAP在收購Sybase以後發佈了全新的HANA內存數據庫平臺。在20136月,IBM的列式內存數據庫DB2BLU作爲DB2 v10.5的一部分正式發佈。現在Oracle也終於按捺不住躁動的心,推出來oracle 12c上的In-Memory Option。與其說這是市場對SAP HANA技術的認可,不如說是巨頭們迎合市場需求,看好內存列式數據庫的未來。

 

我們知道,內存數據庫技術早就有。簡單地說就是所有需要訪問的數據都預先加載到內存來運行的數據庫。這樣就去除了磁盤IO成爲系統性能瓶頸的可能。但是因爲原來UNIX小型機和x86服務器的內存都較小,而且價格很高,所以應用場景和需求都受限,只在數據量很小的應用上發展出一些成熟的產品。如,TimesTen2005年被Oracle收購)和SolidDB(來自於芬蘭Solid Information Technology,在08年初被IBM所併購)。它們同樣都具有輕巧、速度快的優點。“TimesTen”名字就是快十倍的意思,也就是說比傳統的RDBMS數據庫快十倍。SolidDB也有性能提升10倍這樣的說法。

 

那麼SAP HANADB2 BLUOracle DB IMCC與這些較早出現的TimesTenSolidDB有什麼本質區別嗎?重點在兩個方面:一個是重量級方面,上面提到TTSolidDB的特點是輕巧,也就是輕量級的,對於大數據量的應用並不適合;另一個是列式技術,這與傳統上適合OLTP應用場景的行式數據表結構完全不同,更適合於大規模的查詢和分析方面的應用場景,即OLAP類型的應用。這兩方面的差別使它們實際上差別巨大,所以可以說,我們現在討論的內存列式數據庫是一個全新的軟件架構。

 

談到性能的提升,快10倍,100倍,1000倍,可能嗎?如果簡單對比磁盤和內存的訪問速度,那性能差距有多大呢?一般性能較好的企業級磁盤存儲io響應在ms級,2ms上下是一般情況。如果是SSD/flash盤,可以到0.1ms級,企業級存儲TB級別的容量採用SSD達到0.4ms是一般情況。當然,都用SSD也很貴的。而內存的響應速度在ns級,如果按100ns計算,2msHDD/100nsmemory=2萬倍,0.4msSSD/100nsmemory=4000倍。所以,如果數據庫的響應能力主要由磁盤io來決定的話,那提升這麼多是完全可能的。

 

那麼TimesTen當初爲啥不叫“TimesThousand”呢?(Oracle很謙虛嗎?當然不是,SAPIBM如果說100倍,Oracle會說99倍嗎。)因爲磁盤io只是系統資源的一個方面,CPU,內存,總線帶寬等方面的調度機制都有影響。傳統數據庫的數據也會盡量優化地調入內存作爲cache來被訪問,cache命中率也會直接影響系統性能。應用類型的不同,數據規模的不同,性能的具體情況就會有所不同。

 

隨着CPU,內存總線技術的發展,特別是多核、多線程、多級cpu cache、共享L3cacheNUMA架構、內存訪問的local/near/far調度機制等技術的發展變化,數據庫軟件也需要不斷創新出新的架構和技術來與之相適應,從而充分利用硬件的資源。針對不同業務需求(OLTPOLAP,二者混合),針對不同數據規模(GB以下,GB級,TB級,PB級),軟件的架構都需要不斷的創新和發展。

 

新技術影響着市場,新的應用成功的實施讓市場需求持續發酵。市場需求的變化又反過來促進了技術的完善和推廣。誰的技術創新被用戶認可,誰就能在未來市場競爭中佔得先機。現在的王者未必是將來的王者。會有誰借這場東風來撼動Oracle DB的霸主地位嗎? 那麼僅僅提升性能還不夠,他一定需要在OLTP/OLAP融合、Scale-out、高可用、災備等方面不斷地創新和突破。

 wKiom1PMlNbSmn-8AAEQ5--XM_g907.jpg

掃一掃,關注微信公衆號“榮歆IT諮詢”,享免費服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章