內(nèi)存數(shù)據(jù)庫帶來的實時分析能力備受現(xiàn)代企業(yè)的青睞,這促使包括SAP在內(nèi)的供應(yīng)商紛紛推出自己的內(nèi)存數(shù)據(jù)庫產(chǎn)品。作為長期以來數(shù)據(jù)庫領(lǐng)域的龍頭老大,甲骨文公司于今年6月發(fā)布了其內(nèi)存數(shù)據(jù)庫產(chǎn)品Oracle Database In-Memory。
甲骨文公司數(shù)據(jù)庫技術(shù)產(chǎn)品執(zhí)行副總裁Andrew Mendelsohn近日在北京舉辦的媒體溝通會上,詳細介紹了Oracle Database In-Memory的各種優(yōu)勢。
突破行列格式限制
Andrew指出,Oracle Database In-Memory的一大創(chuàng)新是突破了數(shù)據(jù)庫格式的行列限制,而采用雙格式數(shù)據(jù)庫內(nèi)存。他解釋說,一般來說,行式數(shù)據(jù)庫在訪問少量行、大量列時速度更快,適用于交易系統(tǒng),如插入或查詢一條銷售訂單;列式數(shù)據(jù)庫則在訪問大量行、少量列時速度更快,適應(yīng)于分析系統(tǒng),如按地域生成銷售額報告。
此前受技術(shù)限制,用戶從一開始就要選擇是采用行式數(shù)據(jù)庫或列式數(shù)據(jù)庫中的一種,而犧牲掉另一方面的性能。Oracle Database In-Memory通過同一張表在內(nèi)存中同時支持行和列兩種格式,同時激活并保持事務(wù)一致性,對分析和報表采用新的內(nèi)存列格式,OLTP(聯(lián)機事務(wù)處理系統(tǒng))則采用久經(jīng)考驗的行格式運行。
Oracle 內(nèi)存列式存儲技術(shù)在進行分析類操作時有著巨大的優(yōu)勢:純內(nèi)存中的列式存儲能快速響應(yīng)數(shù)據(jù)變化,壓縮比例可達到2倍至20倍,粒度可支持表級與分區(qū)級。測試數(shù)據(jù)顯示,列格式的每CPU內(nèi)核可達到10億條/秒的掃描速度,而行格式僅能達到百萬條,性能的提升高達100倍以上。
Andrew介紹,Oracle Database In-Memory還能讓傳統(tǒng)的OLTP性能有所提升。面向交易的OLTP中的大部分索引是為了提高分析查詢速度而建的,僅能加速定制查詢和報表,而向表中插入一條記錄通常需要更新10~20個分析型索引,使得OLTP系統(tǒng)變得非常慢。Oracle Database In-Memory以列存儲取代了分析型索引,可以基于任何一列實現(xiàn)快速分析,不僅提升了定制查詢速度,而且還加快了隨機查詢速度。
來自甲骨文公司的資料稱,Oracle Database In-Memory可讓企業(yè)的分析性能提升高達100倍,事務(wù)處理性能也得到大幅改善。一次測試顯示,總結(jié)4100萬行發(fā)票內(nèi)容大約需要4個小時。在對應(yīng)用進行微調(diào)且用Oracle Database In-Memory再次進行試驗后,只用4秒鐘便能完成任務(wù)。
作為Oracle Database In-Memory的測試客戶,喜達屋酒店集團架構(gòu)師Arup Nanda感嘆:“現(xiàn)在我們可以在OLTP數(shù)據(jù)庫中直接做實時分析,這在以前是絕對不可想象的。”
無需新購硬件和改變應(yīng)用
Andy Mendelsohn指出,和友商們的內(nèi)存數(shù)據(jù)庫產(chǎn)品通常需要購買新的硬件產(chǎn)品來支持不同的是, Oracle Database In-memory可以看作是傳統(tǒng)Oracle數(shù)據(jù)庫的一個插件,用戶不用再購買新的硬件,而僅需根據(jù)需求配置內(nèi)存中列存儲的容量,將表或者分區(qū)加入列存儲中。
Rittman Mead的CTO Mark Rittman甚至評價說,部署Oracle Database In-memory沒什么好說的,只要把開關(guān)打開,選擇表裝載到內(nèi)存即可,別的什么也不需要做。
即便如此,Andrew依然強調(diào),Oracle Exadata數(shù)據(jù)庫云服務(wù)器和包括Oracle SuperCluster在內(nèi)的Oracle集成系統(tǒng)在部署Oracle Database In-Memory時更具優(yōu)勢。
Oracle集成系統(tǒng)針對Oracle Database In-Memory進行了優(yōu)化,提供大容量存儲、極致的性能和高可用性,同時還提供了存儲分層,將活動性較低的數(shù)據(jù)轉(zhuǎn)移到閃存和磁盤中,以提供出色的性價比。Oracle集成系統(tǒng)的內(nèi)存容錯功能跨多個節(jié)點選擇性地復制內(nèi)存數(shù)據(jù),因此,如果一臺服務(wù)器發(fā)生故障,便可以立即使用內(nèi)存數(shù)據(jù)副本來滿足查詢要求。
據(jù)了解,Oracle Database In-memory在部署上的另一優(yōu)勢是用戶無需對應(yīng)用進行任何修改就可以用其來同時加速分析系統(tǒng)與交易系統(tǒng)。