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